Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/pandas/core/internals/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/pandas/core/internals/__pycache__/api.cpython-312.pyc

�

MٜgW����dZddlmZddlmZddlZddlmZddl	m
Z
ddlmZm
Z
ddlmZdd	lmZdd
lmZmZmZmZmZerddlmZddlmZ	d			dd
�Zdd�Zdd�Zy)z�
This is a pseudo-public API for downstream libraries.  We ask that downstream
authors

1) Try to avoid using internals directly altogether, and failing that,
2) Use only functions exposed here (or in core.internals)

�)�annotations)�
TYPE_CHECKINGN)�BlockPlacement)�pandas_dtype)�DatetimeTZDtype�PeriodDtype)�
DatetimeArray)�
extract_array)�
check_ndim�ensure_block_shape�extract_pandas_array�get_block_type�maybe_coerce_values)�Dtype��Blockc�:�|�t|�}t|||�\}}ddlm}m}||urt|jt�rd}|�|xs|j}t|�}n5||ur1t|jt�stj||��}t|t�st|�}t|||�}t|jttf�rt|d��}t||�}t!|||�t#|�}||||��S)a+
    This is a pseudo-public analogue to blocks.new_block.

    We ask that downstream libraries use this rather than any fully-internal
    APIs, including but not limited to:

    - core.internals.blocks.make_block
    - Block.make_block
    - Block.make_block_same_class
    - Block.__init__
    Nr)�DatetimeTZBlock�ExtensionBlock)�dtypeT)�
extract_numpy)�ndim�	placement)rr
�pandas.core.internals.blocksrr�
isinstancerrrrr	�_simple_newr�maybe_infer_ndimr
rrr)�valuesr�klassrrrrs       �D/usr/local/lib/python3.12/site-packages/pandas/core/internals/api.py�
make_blockr!'s	��
���U�#��(����=�M�F�E��

���:�f�l�l�K�#H����}��%������u�%��	�/�	!�*�V�\�\�?�*S��*�*�
��
���i��0�"�9�-�	��F�I�t�4�D��&�,�,��o� >�?��v�T�:��#�F�D�1���v�y�$�'�
 ��
(�F���d�i�8�8�c��|�Ft|jtj�st|�dk7rd}|Sd}|S|j}|S)zH
    If `ndim` is not provided, infer it from placement and values.
    ��)rr�np�lenr)rrrs   r rrbsQ���|��&�,�,����1��9�~��"���
�K����K��;�;�D��Kr"c���ddl}|dvrO|j|�d�td��|dk(rddlm}|S|dk(rdd	lm}|S|d
k(rddlm}|S|dk(rdd
lm}|Std|�d���)Nr)rrr� create_block_manager_from_blockszP is deprecated and will be removed in a future version. Use public APIs instead.r%)�
stacklevelr))r)rrr)rr)rz5module 'pandas.core.internals.api' has no attribute '�')
�warnings�warn�DeprecationWarning�pandas.core.internals.managersr)rrrr�AttributeError)�namer,r)rrrs      r �__getattr__r2rs�������	�
�
��f�'�
'���
	�	
��5�5�W�3�3�
�W�_�:��L�
�&�
&�D�"�"�
�%�
%�C�!�!�
�
?��v�Q�G��r")NNN)rzDtype | None�returnr)rrrz
int | Noner3�int)r1�str)�__doc__�
__future__r�typingr�numpyr&�pandas._libs.internalsr�pandas.core.dtypes.commonr�pandas.core.dtypes.dtypesrr�pandas.core.arraysr	�pandas.core.constructionr
rrrr
rr�pandas._typingrrr!rr2�r"r �<module>rAsd���#� ��1�2��
-�2����$�2�EI�89�5A�89�
�89�v
� *r"

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists