Sindbad~EG File Manager

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

�

Mٜg�p��,�ddlmZddlmZmZddlmZmZmZm	Z	ddl
Z
ddlZddl
mZddlmZmZddlmZddlmZdd	lmZmZmZdd
lmZddlmZmZddlm cm!Z"ddl#m$Z$dd
l%m&Z&ddl'm(Z(m)Z)m*Z*ddl+m,Z,ddl-m.Z.ddl/m0Z0erddl1m2Z2m3Z3m4Z4m5Z5ddl6m7Z7ed�ee$dd��ddddddddejpdf
															d*d���Z9																d+d�Z:		d,							d-d�Z;	d.			d/d�Z<	d.					d0d �Z=	d.							d1d!�Z>d"�Z?ed�ee$d#d��ejpejpd$�									d2d%���Z@								d3									d4d&�ZA	d.							d5d'�ZBd6d7d(�ZC						d8d)�ZDy)9�)�annotations)�Hashable�Sequence)�
TYPE_CHECKING�Callable�Literal�castN)�lib)�Appender�Substitution)�find_stack_level)�maybe_downcast_to_dtype)�is_list_like�is_nested_list_like�	is_scalar)�ExtensionDtype)�ABCDataFrame�	ABCSeries)�_shared_docs)�Grouper)�Index�
MultiIndex�get_objs_combined_axis)�concat)�cartesian_product)�Series)�AggFuncType�AggFuncTypeBase�AggFuncTypeDict�
IndexLabel��	DataFramez
data : DataFrame�pivot_table�)�indents�meanFT�Allc�|�t|�}t|�}t|t�rog}g}|D]E}
t||||||
||||	|
��}|j	|�|j	t|
d|
���Gt
||d��}|j|d��St||||||||||	|
�}|j|d��S)N)
�values�index�columns�
fill_value�aggfunc�margins�dropna�margins_name�observed�sort�__name__r$)�keys�axisr#)�method)�_convert_by�
isinstance�list�__internal_pivot_table�append�getattrr�__finalize__)�datar)r*r+r-r,r.r/r0r1r2�piecesr4�func�_table�tables                �D/usr/local/lib/python3.12/site-packages/pandas/core/reshape/pivot.pyr#r#=s���
���E��'�"�G��'�4� �"$�����D�+�����%����)�!���F�
�M�M�&�!��K�K���j�$�7�8��"�v�D�q�1���!�!�$�}�!�=�=�"���
���������
�E����d�=��9�9�c�l	�||z}|du}|r�t|�rd}
t|�}nd}
|g}|D]}||vs�t|��g}||zD]4}t|t�r|j
}	||vr|j
|��6t|�t|j�kr6||}n0|j}|D]}	|j|�}�t|�}|	tjurdn|	}|j|||
|��}|	tjurJtd�|j j"D��r$t%j&dt(t+���|j-|�}|r7t|t.�r't|j�r|j1d�	�}|}|j2j4d
kDr�|r�|j2j6dt|�}g}t9t|�t|��D]D}|j2j6|}|�||vr|j
|��4|j
|��F|j;||��}|s�t|j2t<�r\t=j>tA|j2jB�|j2j6��}|jE|d
|��}t|jt<�r\t=j>tA|jjB�|jj6��}|jE|d
|��}|
dur"t|t.�r|jGd
��}|�O|jI|�}|tur6|	s4tjJ|�r|jMtNjP�}|r9|r#||jS�jUd
��}tW|||||||||��	}|r;
s9|jj4d
kDr |jjYd
�|_	t|�d
k(rt|�d
kDr|jZ}t|t.�r|r|j1dd
��}|S#t$rY��PwxYw#tttf$rY���wxYw)zL
    Helper of :func:`pandas.pivot_table` for any non-list ``aggfunc``.
    NTF)r1r2r/c3�4K�|]}|j���y�w�N)�_passed_categorical)�.0�pings  rC�	<genexpr>z)__internal_pivot_table.<locals>.<genexpr>�s����*�-G�T�� � �-G�s�z�The default value of observed=False is deprecated and will change to observed=True in a future version of pandas. Specify observed=False to silence this warning and retain the current behavior)�category�
stacklevel�all)�howr$�r,��namesr)r5r,�r5)�rows�colsr-r1r0r,)rOr5).rr9�KeyErrorr8r�keyr;�	TypeError�lenr+�drop�
ValueErrorr
�
no_default�groupby�any�_grouper�	groupings�warnings�warn�
FutureWarningr
�aggrr/r*�nlevelsrR�range�unstackr�from_arraysr�levels�reindex�
sort_index�fillna�
is_integer�astype�np�int64�notnarN�_add_margins�	droplevel�T)r>r)r*r+r-r,r.r/r0r1r2r4�
values_passed�values_multi�i�	to_filter�xrW�
observed_bool�grouped�aggedrB�index_names�
to_unstack�name�ms                          rCr:r:vs.�� �7�?�D��$�&�M������L��&�\�F� �L��X�F��A���}��q�k�!���	����A��!�W�%��E�E��
���9��$�$�Q�'����y�>�C����-�-��	�?�D������C�
����S�)���
�f���%����7�E�X�M��l�l�4�-�d�6�l�R�G��3�>�>�!�c�*�-4�-=�-=�-G�-G�*�'�	�
�
�
U�#�'�)�	
�
�K�K�� �E�
�*�U�L�1�c�%�-�-�6H������'���E�
�{�{���Q��5��k�k�'�'��#�e�*�5���
��s�5�z�3�t�9�-�A��;�;�$�$�Q�'�D��|�t�{�2��!�!�!�$��!�!�$�'�.��
�
�j�Z�
�@����e�k�k�:�.��&�&�!�%�+�+�"4�"4�5�U�[�[�=N�=N��A��M�M�!�!�
�M�C�E��e�m�m�Z�0��&�&�!�%�-�-�"6�"6�7�u�}�}�?R�?R��A��M�M�!�!�
�M�C�E��t�|�
�5�,�7�� � �a� �(�������Z�(���c�>�(�s�~�~�j�/I��L�L����*�E�����
�
��(�(�a�(�0�1�D���������%�!�

���\�e�m�m�.C�.C�a�.G��
�
�/�/��2��
�
�5�z�Q��3�w�<�!�+������%��&�6�����Q��/���L��A�
��
���z�8�4�
��
�s$�'R�7R�	R�R�R3�2R3c	
�0�t|t�std��d|�d�}	|jjD]*}
||jj|
�vs�!t|	��t
||||�}|jdk(rF|jjddD]*}
||jj|
�vs�!t|	��t|�dkDr|fdt|�dz
zz}n|}|s5t|t�r%|j|j|||i��S|r+t||||||||�}
t|
t�s|
S|
\}}}n;t|t�sJ�t!|||||||�}
t|
t�s|
S|
\}}}|j#|j|��}|D]&}t|t�r	||||<�||d||<�(dd	lm}||t)|g��
�j*}|jj}t-|j.�D]M}t|t0�r�|j3|g�j}||j5t6|f��||<�O|j|�}||j_|S)Nz&margins_name argument must be a stringzConflicting name "z" in margins�r$��rPrr!)r+)�args)r8�strr[r*rR�get_level_values�_compute_grand_margin�ndimr+rYr�_append�_constructor�_generate_marginal_results�tupler�)_generate_marginal_results_without_valuesrj�pandasr"rrt�set�dtypesr�
select_dtypes�applyr)rBr>r)rTrUr-r1r0r,�msg�level�grand_marginrW�marginal_result_set�result�margin_keys�
row_margin�kr"�margin_dummy�	row_names�dtypes                      rCrrrrs����l�C�(��A�B�B��|�n�L�
9�C����"�"���5�;�;�7�7��>�>��S�/�!�#�)��v�w��M�L��z�z�Q���]�]�(�(���,�E��u�}�}�=�=�e�D�D� ��o�%�-�
�4�y�1�}��o���T��Q�� 7�7�����j��	�2��}�}�U�/�/��l�<�6P�0Q�R�S�S�	�8��4���t�W�h��
���-�u�5�&�&�*=�'���Z��%��.�.�.�G��4��t�W�h��
���-�u�5�&�&�*=�'���Z��#�#�F�N�N�z�#�J�J�
���a���(��O�J�q�M�(��1��.�J�q�M�	�!��Z���u��>�@�@�L����"�"�I��V�]�]�#���e�^�,���#�#�U�G�,�4�4��)�$�/�5�5�#�5�(�6�
��T��
$��^�^�L�
)�F�"�F�L�L���MrDc��|r�i}||j�D]�\}}	t|t�rt||��||<nUt|t�r:t||t�rt|||��||<n|||�||<n||�||<��|S|||j�iS#t
$rY��wxYwrG)�itemsr8r�r<�dictrXr*)r>r)r-r0r�r��vs       rCr�r�Us��������L�&�&�(�D�A�q�
��g�s�+�&9�g�a��&9�&;�L��O����.�!�'�!�*�c�2�*@�'�!�W�Q�Z�*@�*B��Q��*4�'�!�*�Q�-��Q��&-�a�j�L��O��)����g�d�j�j�1�2�2��	�
��
�s�A:B1�1	B=�<B=c�����t��dkD�r�g}g}	��fd�}
t|�dkDr�|||zj||��j|�}d}|jjd|��D]S\}
}|j}|
|
�}|j	�}||
||<|j|�|	j|��U�nddlm}d}|jd|��D]�\}
}t��dkDr	|
|
�}n�}|j|�||j|��j}t|jt�r6tj|g|jjdgz��|_
n't|g|jj��|_
|j|�|	j|���|s|St!||�	�}t|�dk(r|S|}|j"}	t��dkDr�|�|zj�|��j|�}|j%d
��}t��gt't)t����z}|D�cgc]}|jj|��}}|jj+|�|_
n+|j-t.j0|j"��}||	|fScc}w)
Nrc�0��|�fdt��dz
zzS)Nr�r$�rY)rWrUr0s ��rC�_all_keyz,_generate_marginal_results.<locals>._all_key|s �����&��#�d�)�a�-�)@�@�@rD�r1r$)r�r1r!rQ�rrST)�future_stack�r*)rYr]rdrt�copyr;r�r"r�r8r*r�from_tuplesrRrrrr+�stackr9rf�reorder_levels�_constructor_slicedro�nan)rBr>r)rTrUr-r1r0�table_piecesr�r��margin�cat_axisrW�piece�all_keyr"�transformed_piecer�r��new_order_indicesrw�new_order_namess    `  `               rCr�r�ls�����4�y�1�}�����	A��t�9�q�=��$��-�(�0�0���0�I�M�M�g�V�F��H�#�g�g�o�o�A��o�I�
��U�����"�3�-���
�
���!'����g���#�#�E�*��"�"�7�+�J�
)��H�#�m�m�!�h�m�G�
��U��t�9�q�=�&�s�m�G�*�G��#�#�E�*�%.�e�k�k�'�.B�$C�$E�$E�!��e�k�k�:�6�.8�.D�.D� �	����):�):�d�V�)C�/�%�+�/4�W�I�E�K�K�DT�DT�.U�%�+��#�#�$5�6��"�"�7�+�'H�*��L��L�x�8�F��t�9��>��M����m�m��
�4�y�1�}��$��-�(�0�0���0�I�M�M�g�V�
��%�%�4�%�8�
�!��Y�K�$�u�S��Y�/?�*@�@��>O�P�>O��:�+�+�1�1�!�4�>O��P�%�+�+�:�:�?�K�
���-�-�b�f�f�F�N�N�-�K�
��;�
�*�*��Qs�5 K(c�2���t��dkDr�g}��fd�}t|�dkDrE|j||��|j|�}	|�}
|	||
<|}|j|
�nR|jdd|��j|�}	|�}
|	||
<|}|j|
�|S|}|j}t��r&|j�|���j|�}n%ttj|j��}|||fS)Nrc�N��t��dk(r�S�fdt��dz
zzS)Nr$r�r�)rUr0s��rCr�z;_generate_marginal_results_without_values.<locals>._all_key�s.����4�y�A�~�#�#� �?�U�c�$�i�!�m�%<�<�<rDr�)r�r5r1r�)rYr]r�r;r+rror�)
rBr>rTrUr-r1r0r�r�r�r�r�r�s
   `  `      rCr�r��s
����4�y�1�}���	=�
�t�9�q�=��\�\�$��\�:�4�@�F�F�w�O�F��j�G�#�E�'�N��F����w�'��\�\���H�\�E�K�K�G�T�F��j�G�#�E�'�N��F����w�'��M����m�m��
�4�y��\�\�$��\�:�4�@�F�F�w�O�
��B�F�F�&�.�.�9�
��;�
�*�*rDc��|�g}|St|�s5t|tjtt
tf�st|�r|g}|St|�}|SrG)	rr8ro�ndarrayrrr�callabler9)�bys rCr7r7�sX��	�z�
���I�	�"�
��b�2�:�:�u�i��A�B��B�<��T���I��"�X��
�IrD�pivot)r*r)c��tj|�}|jd��}|jj�|_|jjD�cgc]}|�|nt
j��c}|j_|t
jurT|t
jurtj|�}ng}|t
ju}|j||z|��}�nv|t
jur�t|jt�rFt|jj�D�	cgc]}	|jj|	���}
}	nX|j|j|jj��g}
n%tj|�D�cgc]}||��	}
}|D�cgc]}||��	}
}|
j|
�tj |
�}t#|�rIt|t$�s9t't(t*|�}|j-||j.||��}n |j||j.|��}|j1|�}|jjD�cgc]}|t
jur|nd��c}|j_|Scc}wcc}	wcc}wcc}wcc}w)NF)�deep)r;r�)r*r+r�)�com�convert_to_list_liker�r*rRr
r\�	set_indexr8rrfrer�r�r�extendrhrr�r	rrr��_valuesrg)r>r+r*r)�columns_listlikerrUr;�indexedrw�
index_list�idx�col�data_columns�
multiindexr�s                rCr�r��s����/�/��8��
�9�9�%�9� �D������"�D�J�AE���AQ�AQ��AQ��� ��c�n�n�4�AQ��D�J�J��
���������&��+�+�E�2�D��D��#�.�.�(���.�.��#�#�F�!�
��
�C�N�N�"��$�*�*�j�1�=B�$�*�*�BT�BT�<U��<U�q�D�J�J�/�/��2�<U���
�,�,�T�Z�Z�d�j�j�o�o�,�N��
�03�/G�/G��/N�O�/N��$�s�)�/N�J�O�-=�>�-=�c��S�	�-=��>����,�'��+�+�J�7�
����
�6�5�(A��(�8�,�f�5�F��'�'��V��$�$�J��(��G��.�.�t�F�|�/C�/C�:�.�V�G��_�_�-�
.�F�AG���AS�AS��AS���C�N�N�*���4�AS��F�L�L���M��i��,��P��>�� s�K�?"K�.K�K�Kc

��|�
|�td��|�
|�td��t|�s|g}t|�s|g}d}
||zD�cgc]}t|ttf�s�|��}}|rt|dd��}
t
||d��}t
||d	��}t||�\}
}}}d
dlm	}itt||���tt||���}|||
��}|�d
|d
<td
d�}n	||d
<d|i}|j	d|||||dd�|��}|	durt||	||��}|j|
d
��}|j|d��}|Scc}w)a�

    Compute a simple cross tabulation of two (or more) factors.

    By default, computes a frequency table of the factors unless an
    array of values and an aggregation function are passed.

    Parameters
    ----------
    index : array-like, Series, or list of arrays/Series
        Values to group by in the rows.
    columns : array-like, Series, or list of arrays/Series
        Values to group by in the columns.
    values : array-like, optional
        Array of values to aggregate according to the factors.
        Requires `aggfunc` be specified.
    rownames : sequence, default None
        If passed, must match number of row arrays passed.
    colnames : sequence, default None
        If passed, must match number of column arrays passed.
    aggfunc : function, optional
        If specified, requires `values` be specified as well.
    margins : bool, default False
        Add row/column margins (subtotals).
    margins_name : str, default 'All'
        Name of the row/column that will contain the totals
        when margins is True.
    dropna : bool, default True
        Do not include columns whose entries are all NaN.
    normalize : bool, {'all', 'index', 'columns'}, or {0,1}, default False
        Normalize by dividing all values by the sum of values.

        - If passed 'all' or `True`, will normalize over all values.
        - If passed 'index' will normalize over each row.
        - If passed 'columns' will normalize over each column.
        - If margins is `True`, will also normalize margin values.

    Returns
    -------
    DataFrame
        Cross tabulation of the data.

    See Also
    --------
    DataFrame.pivot : Reshape data based on column values.
    pivot_table : Create a pivot table as a DataFrame.

    Notes
    -----
    Any Series passed will have their name attributes used unless row or column
    names for the cross-tabulation are specified.

    Any input passed containing Categorical data will have **all** of its
    categories included in the cross-tabulation, even if the actual data does
    not contain any instances of a particular category.

    In the event that there aren't overlapping indexes an empty DataFrame will
    be returned.

    Reference :ref:`the user guide <reshaping.crosstabulations>` for more examples.

    Examples
    --------
    >>> a = np.array(["foo", "foo", "foo", "foo", "bar", "bar",
    ...               "bar", "bar", "foo", "foo", "foo"], dtype=object)
    >>> b = np.array(["one", "one", "one", "two", "one", "one",
    ...               "one", "two", "two", "two", "one"], dtype=object)
    >>> c = np.array(["dull", "dull", "shiny", "dull", "dull", "shiny",
    ...               "shiny", "dull", "shiny", "shiny", "shiny"],
    ...              dtype=object)
    >>> pd.crosstab(a, [b, c], rownames=['a'], colnames=['b', 'c'])
    b   one        two
    c   dull shiny dull shiny
    a
    bar    1     2    1     0
    foo    2     2    1     2

    Here 'c' and 'f' are not represented in the data and will not be
    shown in the output because dropna is True by default. Set
    dropna=False to preserve categories with no data.

    >>> foo = pd.Categorical(['a', 'b'], categories=['a', 'b', 'c'])
    >>> bar = pd.Categorical(['d', 'e'], categories=['d', 'e', 'f'])
    >>> pd.crosstab(foo, bar)
    col_0  d  e
    row_0
    a      1  0
    b      0  1
    >>> pd.crosstab(foo, bar, dropna=False)
    col_0  d  e  f
    row_0
    a      1  0  0
    b      0  1  0
    c      0  0  0
    Nz&aggfunc cannot be used without values.z)values cannot be used without an aggfunc.TF)�	intersectr2�row)�prefixr�rr!r��	__dummy__)r-r,r-)r*r+r.r0r/r1)�	normalizer.r0)r*r5r$)r+r5)r�)r[rr8rrr�
_get_names�_build_names_mapperr�r"r��ziprYr#�
_normalize�rename_axis)r*r+r)�rownames�colnamesr-r.r0r/r��
common_idxry�	pass_objs�rownames_mapper�unique_rownames�colnames_mapper�unique_colnamesr"r>�df�kwargsrBs                      rC�crosstabr�Bs���T�~�'�-��A�B�B�
��g�o��D�E�E��u�%�����w�'��)���J�!�G�O�X�O�q�z�!�i��=V�/W��O�I�X��+�I��E�R�
��%��%�8�H��'�8�E�:�H�	�H�h�/������!��
�s�?�E�*�
+��
�s�?�G�,�
-��D�
�4�z�	*�B�
�~���;�� ��2�� ��;���W�%��
�B�N�N��	
����!���	
��	
�E������Y��l�
��
���O�!��<�E����o�A��>�E��L��iYs�E� Ec��t|ttf�sddd�}	||}|dur2d�d�d�d	�}|d
|d<	||}||�}|jd�}|S|du�r�|j}|j}	|jd
dd�fj}
||
v||
k7zrt	|�d���|jdd
�d
f}|jd
dd
�f}|jdd
�dd
�f}t||d��}|dk(r<||j�z}t||gd��}|jd�}|	|_|S|dk(r>||j�z}|j|�}|jd�}||_|S|d
k(s|durv||j�z}||j�z}d|j|<t||gd��}|j|�}|jd�}||_|	|_|St	d��t	d��#t$r}t	d�|�d}~wwxYw#t$r}t	d�|�d}~wwxYw)Nr*r+)rr$zNot a valid normalize argumentFc�L�||jd��jd��zS�Nr$rSr��sum�rys rC�<lambda>z_normalize.<locals>.<lambda>�s!��Q����A���!2�!2��!2�!:�:rDc�(�||j�zSrGr�r�s rCr�z_normalize.<locals>.<lambda>�s���Q�U�U�W�rDc�H�|j|jd��d��Sr�)�divr�r�s rCr�z_normalize.<locals>.<lambda>�s��q�u�u�Q�U�U��U�]��u�;rD)rNr+r*rNTr���z not in pivoted DataFrame)r�r.r$rSzNot a valid margins argument)r8�boolr�rVr[rlr*r+�ilocrr�r�rr��loc)
rBr�r.r0�	axis_subs�err�normalizers�f�table_index�
table_columns�last_ind_or_col�
column_margin�index_margins
             rCr�r��s����i�$���-��I�.�	�	H�!�)�,�I��%��;�,�;�3
��(��.��D��	H��I�&�A��%������Q���f�L�c
�D���k�k���
�
�
��*�*�R��U�+�0�0��
��/�L�O�4S�T���~�-F�G�H�H��
�
�3�B�3��7�+�
��z�z�"�c�r�c�'�*���
�
�3�B�3����8�$���5�I�u�E���	�!�)�M�,=�,=�,?�?�M��E�=�1��:�E��L�L��O�E�)�E�M�2�L�/�'�
!�'�,�*:�*:�*<�<�L��M�M�,�/�E��L�L��O�E�%�E�K�&�L�#�%�
�9��#4�)�M�,=�,=�,?�?�M�'�,�*:�*:�*<�<�L�-.�L���\�*��E�=�1��:�E��M�M�,�/�E��L�L��O�E�%�E�K�)�E�M��L��=�>�>��7�8�8��I�	H��=�>�C�G��	H���	H��=�>�C�G��	H�s.�H�H)�	H&�H!�!H&�)	I�2H>�>Ic�N�|�eg}t|�D]S\}}t|t�r(|j�|j	|j��>|j	|�d|����U|St|�t|�k7rt
d��t|t�st|�}|S)N�_z*arrays and names must have the same length)�	enumerater8rrr;rY�AssertionErrorr9)�arrsrRr�rw�arrs     rCr�r�?s����}�����o�F�A�s��#�y�)�c�h�h�.B����S�X�X�&�����x�q���_�-�	&��L��u�:��T��"� �!M�N�N��%��&���K�E��LrDc���d�}t|�jt|��}||�||�z|z}t|�D��cic]\}}||vs�d|��|��}}}t|�D��cgc]\}}||vrd|��n|��}}}t|�D��cic]\}}||vs�d|��|��}	}}t|�D��cgc]\}}||vrd|��n|��}
}}|||	|
fScc}}wcc}}wcc}}wcc}}w)a�
    Given the names of a DataFrame's rows and columns, returns a set of unique row
    and column names and mappers that convert to original names.

    A row or column name is replaced if it is duplicate among the rows of the inputs,
    among the columns of the inputs or between the rows and the columns.

    Parameters
    ----------
    rownames: list[str]
    colnames: list[str]

    Returns
    -------
    Tuple(Dict[str, str], List[str], Dict[str, str], List[str])

    rownames_mapper: dict[str, str]
        a dictionary with new row names as keys and original rownames as values
    unique_rownames: list[str]
        a list of rownames with duplicate names replaced by dummy names
    colnames_mapper: dict[str, str]
        a dictionary with new column names as keys and original column names as values
    unique_colnames: list[str]
        a list of column names with duplicate names replaced by dummy names

    c�J�t�}|D�chc]	}||vs�|��c}Scc}wrG)r�)rR�seenrs   rC�get_duplicatesz+_build_names_mapper.<locals>.get_duplicatesns(���E��!&�;���$�d�*:���;�;��;s�	 � �row_�col_)r��intersectionr�)r�r�r�shared_names�	dup_namesrwrr�r�r�r�s           rCr�r�PsK��<<��x�=�-�-�c�(�m�<�L��x�(�>�(�+C�C�l�R�I�)2�(�(;��(;�W�Q��t�y�?P�$�q�c�
�D��(;���BK�8�AT��AT�g�a��d�i�'�$�q�c�
�T�1�AT���
)2�(�(;��(;�W�Q��t�y�?P�$�q�c�
�D��(;���BK�8�AT��AT�g�a��d�i�'�$�q�c�
�T�1�AT����O�_�o�M�M��������s$�	C�C�/C�C%�"C%�;C+)r>r"r-rr.r�r/r�r0rr1�bool | lib.NoDefaultr2r��returnr")r>r"r-z!AggFuncTypeBase | AggFuncTypeDictr.r�r/r�r0rr1r
r2r�rr")r'N)rBzDataFrame | Seriesr>r"r1r�r0r)r')r>r"r0r)r>r"r1r�r0r)rBr"r>r"r1r�r0r)
r>r"r+r r*�IndexLabel | lib.NoDefaultr)rrr")NNNNFr'TF)
r.r�r0rr/r�r�z/bool | Literal[0, 1, 'all', 'index', 'columns']rr")rBr"r.r�r0rrr")r�)r�r�)r��	list[str]r�r
rz;tuple[dict[str, str], list[str], dict[str, str], list[str]])E�
__future__r�collections.abcrr�typingrrrr	ra�numpyro�pandas._libsr
�pandas.util._decoratorsrr�pandas.util._exceptionsr
�pandas.core.dtypes.castr�pandas.core.dtypes.commonrrr�pandas.core.dtypes.dtypesr�pandas.core.dtypes.genericrr�pandas.core.common�core�commonr��pandas.core.framer�pandas.core.groupbyr�pandas.core.indexes.apirrr�pandas.core.reshape.concatr�pandas.core.reshape.utilr�pandas.core.seriesr�pandas._typingrrrr r�r"r\r#r:rrr�r�r�r7r�r�r�r�r��rDrC�<module>r$sN��"��������5�;���
5��
!� �*�'���
.�6�%����!�
�"�#�	�,�}�
%�q�1��
��!����"�%(�^�^��4:�
�4:�
�4:��4:�
�4:��4:�#�4:��4:��4:�2�$�4:�nG�
�G�
/�G��G�
�G��G�#�G��G��G�d#��R��R�
�R��R��R�l@E�3�
�3�4<�3�>#�Q+�
�Q+��Q+��Q+�v#�*+��*+�
�*+��
*+��*+�Z��"�#�	�,�w�
��+�
),���),���B�
�B��B�&�	B�

'�B��
B�,�$�B�P�
�
���"��AF�j��j��j�
�j�?�j��j�\JO�M��M�*.�M�>F�M��M�`�"3N��3N�#,�3N�@�3NrD

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