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__/base.cpython-312.pyc

�

Mٜg�+��(�dZddlmZddlmZmZmZmZmZddl	Z
ddlmZm
Z
ddlmZmZddlmZddlmZdd	lmZmZdd
lmZmZddlmZddlmZdd
l m!Z!m"Z"erddl#m$Z$m%Z%m&Z&m'Z'm(Z(Gd�d�Z)Gd�de�Z*Gd�de*�Z+dd�Z,dd�Z-y)zc
Base class for the internal managers. Both BlockManager and ArrayManager
inherit from this class.
�)�annotations)�
TYPE_CHECKING�Any�Literal�cast�finalN)�using_copy_on_write�warn_copy_on_write)�algos�lib��AbstractMethodError)�validate_bool_kwarg)�find_common_type�np_can_hold_element)�ExtensionDtype�SparseDtype)�PandasObject)�
extract_array)�Index�
default_index)�	ArrayLike�AxisInt�DtypeObj�Self�Shapec��eZdZd�Zy)�_AlreadyWarnedc��d|_y�NF)�warned_already��selfs �E/usr/local/lib/python3.12/site-packages/pandas/core/internals/base.py�__init__z_AlreadyWarned.__init__8s��$���N)�__name__�
__module__�__qualname__r%�r&r$rr7s��$r&rc���eZdZUded<edd��Zedd��Zedd��Zedd��Z	ed d��Z
				d!									d"d	�Ze		d#							d$d
��Zd%d�Z
ed&d��Z	d'			d(d
�Z	d'			d(d�Zed)d��Zed*d��Zed+d��Zed,d-d��Zed.d/d��Zed0d��Zed)d��Ze		d1									d2d��Zd0d�Zd0d�Zd3d�Zd4d�Zd)d�Zd5d�Zy)6�DataManagerzlist[Index]�axesc��t|���Nr
r"s r$�itemszDataManager.itemsFs
��!�$�'�'r&c�,�t|j�Sr/)�lenr0r"s r$�__len__zDataManager.__len__Js���4�:�:��r&c�,�t|j�Sr/)r2r-r"s r$�ndimzDataManager.ndimNs���4�9�9�~�r&c�:�td�|jD��S)Nc3�2K�|]}t|����y�wr/)r2)�.0�axs  r$�	<genexpr>z$DataManager.shape.<locals>.<genexpr>Ts����1�y��S��W�y�s�)�tupler-r"s r$�shapezDataManager.shapeRs���1�t�y�y�1�1�1r&c��t|j|�}t|�}|dk(rt|j�dk(ry||k7rtd|�d|�d���y)N�rz#Length mismatch: Expected axis has z elements, new values have z	 elements)r2r-r0�
ValueError)r#�axis�
new_labels�old_len�new_lens     r$�_validate_set_axiszDataManager._validate_set_axisVsl���d�i�i��o�&���j�/���1�9��T�Z�Z��A�-�
�
��
��5�g�Y�?�&�i�y�2��
� r&Nc��t|��r/r
)r#�new_axis�indexerr@�
fill_value�
allow_dups�copy�
only_slices        r$�reindex_indexerzDataManager.reindex_indexergs��"�$�'�'r&c�r�|j|j|�\}}|j||||d|��S)z4
        Conform data manager to new index.
        F)r@rHrJrK)r-�reindexrL)r#�	new_indexr@rHrKrGs      r$�reindex_axiszDataManager.reindex_axisssK��"�Y�Y�t�_�4�4�Y�?��	�7��#�#����!��!�
$�
�	
r&c��t|��)z�
        To be implemented by the subclasses. Only check the column values
        assuming shape and indexes have already been checked.
        r
)r#�others  r$�
_equal_valueszDataManager._equal_values�s��
"�$�'�'r&c���t|t|��sy|j|j}}t|�t|�k7ryt	d�t||�D��sy|j
|�S)z5
        Implementation for DataFrame.equals
        Fc3�DK�|]\}}|j|����y�wr/)�equals)r8�ax1�ax2s   r$r:z%DataManager.equals.<locals>.<genexpr>�s����N�3M�x�s�C�3�:�:�c�?�3M�s� )�
isinstance�typer-r2�all�ziprS)r#rR�	self_axes�
other_axess    r$rVzDataManager.equals�sb��
�%��d��,�� $�	�	�5�:�:�:�	��y�>�S��_�,���N�3�y�*�3M�N�N���!�!�%�(�(r&c��t|��r/r
�r#�f�
align_keys�kwargss    r$�applyzDataManager.apply����"�$�'�'r&c��t|��r/r
r`s    r$�apply_with_blockzDataManager.apply_with_block�rer&c�(�|jd|��S)Nrd)�func)rd)r#ris  r$�isnazDataManager.isna�s���z�z�'��z�-�-r&c
��|�tjd|��}|jd||||t�t	���S)N)�limit�fillna)�valuerl�inplace�downcast�	using_cow�already_warned)�libalgos�validate_limitrgr	r)r#rnrlrorps     r$rmzDataManager.fillna�sM�����+�+�D��>�E��$�$������)�+�)�+�%�
�	
r&c�l�|rddg}ndg}t|d��}|jd|||t���S)NrR�condT��
extract_numpy�where)rbrRrvrq)rrgr	)r#rRrv�alignrbs     r$ryzDataManager.where�sL���!�6�*�J� ��J�!�%�t�<�E��$�$��!���)�+�%�
�	
r&c��|rddg}ndg}t|d��}d}t�rt�}|sd|_|j	d|||t�|��S)N�new�maskTrw�putmask)rbr}r|rqrr)rr
rr!rgr	)r#r}r|rz�warnrbrrs       r$r~zDataManager.putmask�sl������J� ��J���4�8�C�����+�-�N��04��-��$�$��!���)�+�)�
%�
�	
r&c�*�|jd||��S)N�round)�decimalsrq)rg)r#r�rqs   r$r�zDataManager.round�s#���$�$����%�
�	
r&c	���t|d�}tj|�rJ�tj|�rJ�|jd|||t	�t���S)Nro�replace)�
to_replacernrorqrr)rr�is_list_likergr	r)r#r�rnros    r$r�zDataManager.replace�sf��%�g�y�9���#�#�J�/�/�/��#�#�E�*�*�*��$�$��!���)�+�)�+�
%�
�	
r&c�R�|j	di|�t�t�d���S)N�rqrr)�_replace_regex�rgr	r)r#rcs  r$�
replace_regexzDataManager.replace_regexs5��$�t�$�$��
��
�*�+�)�+�	
�	
r&c
��t|d�}|jd||||t�t���}|j	�|S)zdo a list replacero�replace_list)�src_list�	dest_listro�regexrqrr)rrgr	r�_consolidate_inplace)r#r�r�ror��bms      r$r�zDataManager.replace_listsS��&�g�y�9��
�
"�
"������)�+�)�+�#�
��	���!��	r&c�V�|j	dd|i|�t�t�d���S)Nror�)�interpolater��r#rorcs   r$r�zDataManager.interpolate"s?��$�t�$�$��
��
��
�*�+�)�+�
�	
r&c�V�|j	dd|i|�t�t�d���S)Nror�)�pad_or_backfillr�r�s   r$r�zDataManager.pad_or_backfill+s?��$�t�$�$��
��
��
�*�+�)�+�
�	
r&c�R�|tjurd}|jd||��S)N�shift)�periodsrH)r�
no_defaultrg)r#r�rHs   r$r�zDataManager.shift4s+������'��J��$�$�W�g�*�$�U�Ur&c��y)NTr*r"s r$�is_consolidatedzDataManager.is_consolidated=s��r&c��|Sr/r*r"s r$�consolidatezDataManager.consolidate@s���r&c��yr/r*r"s r$r�z DataManager._consolidate_inplaceCs��r&)�returnr)r��int)r�r)r@rrArr��None)NFTF)
r@rrI�boolrJr�rKr�r�rr )rOrr@rrKr�r�r)rRrr�r�)rR�objectr�r�r/)rbzlist[str] | Noner�r)r�r)rlz
int | Noneror�r�r)rzr�r�r)TT)rzr�rr�r�r)F)r�r�rqr�r�r)ror�r�r)FF)
r��	list[Any]r�r�ror�r�r�r�r)r�r�r�r)r�r�)r�r�)r'r(r)�__annotations__�propertyr0rr3r5r<rDrLrPrSrVrdrgrjrmryr~r�r�r�r�r�r�r�r�r�r�r*r&r$r,r,As?����
�(��(����������2��2�����*� �� �
(��	
(��
(��
(��
(�
�
(��
� �
��
��
�
�
�
�

��
�*(��
)��
)�$(,�(�%�(�

�(�(,�(�%�(�

�(��.��.��

��

��

��

��
��
�,�
��
��
��
��
��
��
��������	�
��
�
���,
�
�V���r&r,c�\�eZdZedd��Zeedd���Zd	d
d�Zd�Ze	dd��Z
y)�SingleDataManagerc��y)Nr>r*r"s r$r5zSingleDataManager.ndimHs��r&c� �|jdS)zW
        Quick access to the backing array of the Block or SingleArrayManager.
        r)�arraysr"s r$�arrayzSingleDataManager.arrayLs���{�{�1�~�r&c��|j}t|tj�rt	|j
|�}t|tj�r"|jdk(rt|�dk(r|d}|||<y)a'
        Set values with indexer.

        For Single[Block/Array]Manager, this backs s[indexer] = value

        This is an inplace version of `setitem()`, mutating the manager/values
        in place, not returning a new Manager (and Block), and thus never changing
        the dtype.
        r>)r.N)r�rY�np�ndarrayr�dtyper5r2)r#rGrnr�arrs     r$�setitem_inplacez!SingleDataManager.setitem_inplaceUsc���j�j���c�2�:�:�&�(��	�	�5�9�E��e�R�Z�Z�(�U�Z�Z�1�_��U��q���&�M�E���G�r&c��|j}||�}tt|��}t|�j	||�}|Sr/)r�rr2rZ�
from_array)r#rir��res�index�mgrs      r$�grouped_reducez SingleDataManager.grouped_reducems=���j�j���3�i���c�#�h�'���4�j�#�#�C��/���
r&c��t|��r/r
)�clsr�r�s   r$r�zSingleDataManager.from_arrayus
��!�#�&�&r&N)r�z
Literal[1])r�r)T)rr�r�r�)r�rr�r)r'r(r)r�r5rr�r�r��classmethodr�r*r&r$r�r�GsN��
�����
������0��'��'r&r�c�0�t|�syt|�S)z�
    Find the common dtype for `blocks`.

    Parameters
    ----------
    blocks : List[DtypeObj]

    Returns
    -------
    dtype : np.dtype, ExtensionDtype, or None
        None is returned when `blocks` is empty.
    N)r2r)�dtypess r$�interleaved_dtyper�zs���v�;���F�#�#r&c�&�t|t�r(|j}ttj
|�}|St|t�rt	j
d�}|S|t	j
t�k(rt	j
d�}|S)Nr�)rYr�subtyperr�r�r�str)r�s r$�ensure_np_dtyper��st���%��%��
�
���R�X�X�u�%��
�L�	
�E�>�	*�����"���L�
�"�(�(�3�-�	�����"���Lr&)r�zlist[DtypeObj]r�zDtypeObj | None)r�rr�znp.dtype).�__doc__�
__future__r�typingrrrrr�numpyr��pandas._configr	r
�pandas._libsrrsr�
pandas.errorsr�pandas.util._validatorsr�pandas.core.dtypes.castrr�pandas.core.dtypes.dtypesrr�pandas.core.baser�pandas.core.constructionr�pandas.core.indexes.apirr�pandas._typingrrrrrrr,r�r�r�r*r&r$�<module>r�s����#�����
�.�7���
*�2��
���$�$�C�,�C�L0'��0'�f$�&
r&

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