403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/pandas/tests/reshape/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/pandas/tests/reshape/__pycache__/test_pivot.cpython-312.pyc
�

0	�gl��z�ddlmZmZmZddlmZddlZddlZddlZddl	m
Z
ddlmZddl
Zddl
mZmZmZmZmZmZmZmZddlmZddlmZddlmZdd	lm Z ejBd
dg��d
��Z"ejBdgdzdgdzfe#d�e#dd�fg��d��Z$Gd�d�Z%Gd�d�Z&y)�)�date�datetime�	timedelta)�productN)�using_pyarrow_string_dtype)�PerformanceWarning)�Categorical�	DataFrame�Grouper�Index�
MultiIndex�Series�concat�
date_range)�CategoricalDtype)�reshape��pivot_tableTF)�paramsc��|jS�N)�param)�requests �AC:\Python312\Lib\site-packages\pandas/tests/reshape/test_pivot.py�dropnar!s���=�=�����c�t�|j\}}ttjj	|||��Sr)rr	�pd�
IntervalIndex�from_arrays)r�closed�left�rights    r�interval_valuesr'&s/���-�-�K�D�%��r�'�'�3�3�D�%��H�I�Irc��eZdZejd��Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zej(j+ddddgfdgd�fdgd�fg�d��Zd�Zd�Zd�Zej(j+dddg�d��Zej(j+dddg�d��Zej(j+dddg�d��Zd �Zej(j+dddg�d!��Zd"�Zej(j+d#d$d%ge jBd$d%g�e"d$d%g�e#d$d%g�g�ej(j+dddg�d&���Z$ej(j+d#d'd$ge jBd'd$g�e"d'd$g�e#d'd$g�g�ej(j+dddg�d(���Z%d)�Z&ej(jOd*�+�ej(j+dddg�d,���Z(ej(j+dddg�d-��Z)d.d/gd0gd1fd2�Z*d3�Z+d4�Z,ej(j+d5d.d6gd7�gd8�ge#gd9�d.�:�fd.d/gd;gd<�gd=�ge-j\gd>�d.d/g�?�fg�d@��Z/dA�Z0dB�Z1ej(j+dCgdD��dE��Z2dF�Z3dG�Z4dH�Z5dI�Z6dJ�Z7dK�Z8dL�Z9dM�Z:dN�Z;ej(j+dOdPdQdRdSdTdUgg�dV��Z<dW�Z=dX�Z>dY�Z?dZ�Z@d[�ZAd\�ZBd]�ZCd^�ZDd_�ZEd`�ZFda�ZGdb�ZHdc�ZIdd�ZJde�ZKdf�ZLdg�ZMej(j+dhd;e j�fd6e j�fdie j�fd;d6ge j�e j�gfd;dige j�e j�gfdid6ge j�e j�gfg�dj��ZQej(j�dk��ZSdl�ZTdm�ZUej(j+dnddg�do��ZVdp�ZWdq�ZXdr�ZYds�ZZdt�Z[du�Z\ej(j+dvddg�dw��Z]dx�Z^dy�Z_dz�Z`yS){�TestPivotTablec
�:�tgd�gd�gd�tjjd�j	d�tjjd�j	d�tjjd�j	d�d��S)N��foor,r,r,�barr-r-r-r,r,r,��oner/r/�twor/r/r/r0r0r0r/)�dullr1�shinyr1r1r2r2r1r2r2r2��)�A�B�C�D�E�F)r
�np�random�default_rng�standard_normal)�selfs r�datazTestPivotTable.data-s}�������Y�Y�*�*�1�-�=�=�b�A��Y�Y�*�*�1�-�=�=�b�A��Y�Y�*�*�1�-�=�=�b�A�U+
�-
�-	
rc�h�ddg}d}t|d|||��}|jd|||��}tj||�t|d||��t|�dkDr$|jj
t
|�k(s J�|jj|dk(sJ�t|�dkDr|jj
|k(s J�|jj|dk(sJ�|j||gz�djd	�j�}tj||�y)
Nr5r6r7r8)�values�index�columns�observed)rBrCrErr�mean)r�tm�assert_frame_equal�lenrC�names�tuple�namerD�groupby�agg�unstack)r?rEr@rCrD�table�table2�expecteds        r�test_pivot_tablezTestPivotTable.test_pivot_table^s(���c�
�������E�7�X�
���!�!��e�W�x�"�
��	���e�V�,�	�D��E�H�E��u�:��>��;�;�$�$��e��4�4�4��;�;�#�#�u�Q�x�/�/�/��w�<�!���=�=�&�&�'�1�1�1��=�=�%�%����3�3�3��<�<���	� 1�2�3�7�;�;�F�C�K�K�M��
���e�X�.rc���ttd�td�gd�d��}|jddddd	�
�}|jj	d�|_|j
j	d�|_|jj	d�|_|jj	d�|_|jddddd	|��}tj||�y)
N�abcde�fghij�rr3rr���col1�col2�col3rZr\r[�sumr)rCrBrD�aggfunc�
fill_value�category)rCrBrDr^r_rE)
r
�listrrC�astyperDrZr[rGrH)r?rE�dfrR�results     r�+test_pivot_table_categorical_observed_equalz:TestPivotTable.test_pivot_table_categorical_observed_equalzs���
��'�]�D��M�?�S�
���>�>�����ST�"�
��"���.�.�z�:���#�+�+�2�2�:�>����'�'�.�.��,����'�'�.�.��,������������
 �
��	���f�h�/rc�N�tgd�gd�gd�d��}|jdd��}|jdd��j}tj||�|jdd	d
i��}|jdd	d
i��j}tj||�y)N��a�b�c��x�y�z�rr3r)�rows�colsrBrqr])rDr^�rCr^rBrF)r
r�TrGrH)r?rc�rs�xps    r�test_pivot_table_nocolsz&TestPivotTable.test_pivot_table_nocols�s���
�$�o��S�
���^�^�F�E�^�
:��
�^�^�&�%�^�
8�
:�
:��
���b�"�%�
�^�^�F�X�v�4F�^�
G��
�^�^�&�8�V�2D�^�
E�
G�
G��
���b�"�%rc�j�tddddd�ddddd�d	d
ddd�d
dddd�ddddd�d��}|jddddgd��}|jdddgdd��}tjgd�ddg��}t	j
|j|�t	j
|j|�y)Ni`�i��iP�i0u)rrr3rr5r6r7i[i]i\i^rhrirj�di��i �i@B)�amount�customer�monthr�quantityr|r{rzrF)r))r5rh)r5ri)r5rj)r5rx)r6rh)r6ri)r6rj)r6rx)r7rh)r7ri)r7rj)r7rx�rJ)r
rr
�from_tuplesrG�assert_index_equalrDrC)r?rc�pv_col�pv_ind�ms     r�test_pivot_table_dropnaz&TestPivotTable.test_pivot_table_dropna�s���
�#��5�U�C� #����<�#��6�f�E�"�s�s�s�;� '�F�w�7�K�
�
�������*�i�!8�� �
�������Y�/��� �
��
�"�"�

��y�)�
��"	���f�n�n�a�0�
���f�l�l�A�.rc�x�tgd�gd�d��}tgd�gd�d��}t||gd�d��}d	}tjt|�
�5t|ddd
gd��}ddd�t
j||gdd
g��}tdgd�i|��}tj|�y#1swY�LxYw)N�rhrhriri)rhrirnT��
categories�ordered)rjrxrjrx)rjrxrm�rr3rr)r5r6rB�1The default value of observed=False is deprecated��matchrBr5r6)rBrCrr})��?�@�@�@�rC)	r	r
rG�assert_produces_warning�
FutureWarningrr
r#rH)r?�cat1�cat2rc�msgrd�	exp_indexrRs        r�test_pivot_table_categoricalz+TestPivotTable.test_pivot_table_categorical�s���� �_�d�
��� �_�d�
���T���E�
F��A��
�
'�
'�
�S�
A�	U� ��H�S�#�J�t�T�F�	U��*�*�D�$�<��S�z�J�	��h�(<�=�Y�O��
���f�h�/�	U�	U�s�B0�0B9c�<�gd�}tgd�gd�td�d��}|djt|d���|d<d	}t	j
t|�
�5|jddd|�
�}ddd�tgd�d��}|jt|d���}tgd�d��}tgd�gd�gd�g||��}|s*|jt|���jd�}t	j|�y#1swY��xYw)N�rhrirjrx)	rhrhrhriririrjrjrj)	rr3rrr3rrr3r�	�r5r6r7r5F�r�r�r�r6r7)rCrDrBrrg�rLro)�r��@)r�r��@)r��@� @�rCrD�rD�float)r
�rangerbrrGr�r�rr�reindexr	rH)	r?rr�rcr�rd�expected_columns�expected_indexrRs	         r�$test_pivot_table_dropna_categoricalsz3TestPivotTable.test_pivot_table_dropna_categoricals�s��)�
�
�B�0��1�X�
�
���S�'�.�.�!1�*�e�!L�M��3��A��
�
'�
'�
�S�
A�	W��^�^�#�s�3�v�^�V�F�	W�!�/��<��+�2�2��Z��7�
�� �	��4���
�o��?� �$�
��
��'�'��J�0G�'�H�O�O�PW�X�H�
���f�h�/�!	W�	W�s� D�Dc
��tttjddddgddgd��gd�d��}d}t	j
t|��5|jd	d
|��}ddd�|r	dd
g}ddg}ngd�}gd�}td
|ittj|ddg|��d	����}t	j|�y#1swY�exYw)N�low�highTr�)r�r�r�r�r��r5r6r�r�r5r6�rCrBrr�r�rr�r�r�r�)rr���r�r�)r
r	r;�nanrGr�r�rr�
from_codesrH)r?rrcr�rdrB�codesrRs        r�%test_pivot_with_non_observable_dropnaz4TestPivotTable.test_pivot_with_non_observable_dropna�s���
� ��V�V�U�F�E�6�:� %�v�� ��
/�

�	
��B��
�
'�
'�
�S�
A�	J��^�^�#�c�&�^�I�F�	J���3�Z�F���F�E�%�F��E��
�&�M���&�&��u�f�o�v���	�
��	���f�h�/�'	J�	J�s�C�Cc
��ttgd�gd�d��td�d��}d}tjt
|��5|j
d	d
|��}ddd�td
gd�ittjgd
�gd�d��d	����}|s|d
jt�|d
<tj|�y#1swY�sxYw)N)r%r�r�r�r�)r�r�r%Tr�rXr�r�r�r5r6r�r�)rrr3r�r�)r
r	r�rGr�r�rrr�rbr�rH)r?rrcr�rdrRs      r�/test_pivot_with_non_observable_dropna_multi_catz>TestPivotTable.test_pivot_with_non_observable_dropna_multi_cats���
� �:�6� ��
�1�X�

�	
��B��
�
'�
'�
�S�
A�	J��^�^�#�c�&�^�I�F�	J��
�/�"���&�&��*A�4���	�
���$�S�M�0�0��7�H�S�M�
���f�h�/�	J�	J�s�C�Cc�V�t|dd��}d}tjt|��5|j	dd|��}ddd�tddit|j
�d�	��
�}|s|jt�}tj|�y#1swY�_xYw)Nrr�r�r�r5r6r�r�r�r�)
r
rGr�r�rr�uniquerbr�rH)r?r'rrcr�rdrRs       r�test_pivot_with_interval_indexz-TestPivotTable.test_pivot_with_interval_index7s���
�_�1�5�
6��A��
�
'�
'�
�S�
A�	J��^�^�#�c�&�^�I�F�	J��
�#�J�e�O�$:�$:�$<�3�G�
������u�-�H�
���f�h�/�	J�	J�s�B�B(c
�T�tjjgd�gd��}tt	j
dddtj��gd�t|d�	�jd
��d��}d
}tjt|��5t|ddddd��}ddd�d}tgd�ttjdd�tjdd�dgd��dtj��}tj ||�y#1swY�zxYw)N�rrrr�rrr3r3rrr���dtype�rhrirhriTr�F)�	ascendingr�r�r�r7r6r5r]�rCrDrBr^�margins�All)r��
rr3r�)rCrLr�)r!r"r#r
r;�arange�intpr	�sort_valuesrGr�r�rrr�Interval�assert_series_equal)r?�ordered_catrcr��	pivot_tabrdrRs       r�&test_pivot_with_interval_index_marginsz5TestPivotTable.test_pivot_with_interval_index_marginsEs���&�&�2�2�<��N��
��Y�Y�q�!�R�r�w�w�7�)� ��d�;�G�G�#�H��
�
��B��
�
'�
'�
�S�
A�	�#��#�s�3��t��I�	�
�5�!��������Q��*�B�K�K��1�,=�u�E�C�P���'�'�	
��	���v�x�0�	�	�s�D�D'c��|jd|j|j��}|jddd��}tj||�y)Nr8r�r5r7)rr5r7rGrH�r?r@rdrRs    r�test_pass_arrayzTestPivotTable.test_pass_arrayasH���!�!�#�T�V�V�T�V�V�!�D���#�#�C�s�C�#�@��
���f�h�/rc��|jdd�|j��}|jd|jdzd��}tj||�y)Nr8c��|dzS)NrX��rls r�<lambda>z3TestPivotTable.test_pass_function.<locals>.<lambda>gs
��q�A�v�rr�rXr7)rr7rCrGrHr�s    r�test_pass_functionz!TestPivotTable.test_pass_functionfsM���!�!�#�-=�t�v�v�!�N���#�#�C�t�z�z�Q���#�L��
���f�h�/rc��ddg}d}t|||��}|j||gz�jd�j�}t	j
||�y)Nr5r6r7r�rF)rrMrNrOrGrH)r?r@rCrDrPrRs      r�test_pivot_table_multiplez(TestPivotTable.test_pivot_table_multipleksW���c�
�����D��w�?���<�<���	� 1�2�6�6�v�>�F�F�H��
���e�X�.rc�\�tgd�gd�gd�d��}|jddk(sJ�t|ddgdgd	d
��}|j}tt	j
d�gdzt
td
�d����}tj||�tgd�gd�gd�d��}|jddk(sJ�t|ddgdgd	d��}|j}tt	j
d�gdzt
td
�d����}tj||�y)N)�cat�batr�r�r�r�)rh�v�ir��int64rhr�rr])rBrCrDr_r^r3�abr�r�)��?�@�@�@�float64rF)
r
�dtypesrrr;r�rrarGr�)r?�frnrdrRs     r�test_pivot_dtypesz TestPivotTable.test_pivot_dtypesrs"���1�!�)�
�
���x�x��}��'�'�'��
�c�#����!�U�
�������2�8�8�G�,�-��1��t�D�z�PS�9T�U��
���v�x�0�
�1�)�)�
�
���x�x��}�	�)�)�)��
�c�#����!�V�
�������2�8�8�I�.�/�!�3�5��d��RU�;V�W��
���v�x�0rzcolumns,values�bool1�float1�float2)r�r�r��bool2c�L�tjdtj��}t||dz|dk|dkd��}|j	�jd||��}t
|j�}|D�cic]}|tjd	���}}||k(sJ�ycc}w)
NrXr�r�r3r)r�r�r�r�rC�rCrDrBr�)	r;r�r�r
�reset_indexr�dictr�r�)	r?rDrBr�rc�df_resrd�colrRs	         r�test_pivot_preserve_dtypesz)TestPivotTable.test_pivot_preserve_dtypes�s���
�I�I�a�r�z�z�*��
��A��G�a�1�f�q�A�v�N�
�����!�-�-��7�6�.�
���f�m�m�$��8>�?��C����)�,�,�?��?���!�!�!��@s�:B!c�d�tjgd��}tdgd�i|��}|j|jj
|jj��}tjddg�}|j|jdjtj�d�	�}td
dgdtjggtdd
gtj��|��}t!j"||�tgd�t%ddd��d�|��}|j|jj
t'dd����}tj(dgtjdgd��gddg��}tddgtdd
gtj��|��}t!j"||�|jt'd��t'dd����}tdgtjdgd��|��}t!j"||�y)N)�
2011-01-01z
2011-02-01�
2011-01-02r�r�r5rWr�r�)r5r)r5r3r)�levelr�r�r�r3r�r�r8rX)�freq�periods)r5�dtr��ME)�keyr�z
2011-01-31zM8[ns]r}�
@�YE�r�r�z
2011-12-31)r!�
DatetimeIndexr
rrCr{�dayr
r~�
set_levels�levelsrbr;�int32r�rrGrHrrr#)r?�idxrc�res�exp_columns�exps      r�test_pivot_no_valuesz#TestPivotTable.test_pivot_no_values�s������R�
����_�-�S�
9���n�n�2�8�8�>�>�2�8�8�<�<�n�H�� �,�,�h��-A�B��!�,�,����q�!�(�(����2�!�-�
����3�Z�#�r�v�v��'���A��b�h�h�/��
��
	���c�3�'�
�$� ��C��C�
��
���n�n�2�8�8�>�>�7�t�RV�;W�n�X�� �,�,��U�B�$�$�l�^�8�D�E���,�
���
�3�K�u�a��V�2�8�8�<�k�
��	���c�3�'��n�n��t�$�g�$�T�.J��
���
�E��"�"�L�>��=��
��
	���c�3�'rc��t|ddgdddgd��}t|jdgd	�
�dddgd��}tj||�y)Nr8r9r5r6r7r)rBrCrDr_r:r��axis)rCrDr_)r�droprGrHr�s    r�test_pivot_multi_valuesz&TestPivotTable.test_pivot_multi_values�sZ����#�s��3��c�
�q�
����I�I�s�e�!�I�$�C�#�s��PQ�
��	���f�h�/rc�"���fd�}|ddg�}|d�}|d�}t||gddgd��}tj||��fd�}|ddg�}|d�}|d�}t||gddgd��}tj||�y)Nc�,��t�ddgddgd|��S)Nr8r9r5r6r7�rBrCrDr^r��funcr@s �rr�z;TestPivotTable.test_pivot_multi_functions.<locals>.<lambda>�s�����#�s��C��:�s�D�
�rrF�stdr)�keysr
c�.��t�ddgddgd|d��S)Nr8r9r5r6r7T)rBrCrDr^r�rrs �rr�z;TestPivotTable.test_pivot_multi_functions.<locals>.<lambda>�s&�������:���*����

�r)rrGrH)r?r@r�rd�means�stdsrRs `     r�test_pivot_multi_functionsz)TestPivotTable.test_pivot_multi_functions�s����
���F�E�?�#���&�	����x���5�$�-�v�u�o�A�F��
���f�h�/�
���F�E�?�#���&�	����x���5�$�-�v�u�o�A�F��
���f�h�/r�methodTFc	��tj}tdd|dggd�gd�d��}|r|jddd	�
�}nt	j|ddd	�
�}t||d|gd|||g|d
||g|||dggt|dddgd��tgd�d����}t
j||�t
j|jddd	�
�|j�y)N�R1�R2�R4)�C1�C2�C3�C4)r����rgrhrirjr�r%r�r$r&r�r�)	r;r�r
�pivotr!rrGrHrs)r?rr�rcrdrRs      r�test_pivot_index_with_nanz(TestPivotTable.test_pivot_index_with_nan�s����f�f��
��D�#�t�,�-�%�
�
����X�X�C��S�X�A�F��X�X�b��S��E�F���c�2�s�#��S�#�s�#��b�#�s�#��c�3��#�	
���d�D�$�/�c�:��2��=�	
��	���f�h�/�
���b�h�h�S�#�c�h�J�H�J�J�Wrc�*�ttddd��dtjd�zd��}|dt	j
d�z
|d	<tjx|jd
<|jd<tjx|jd<|jd
<|r|jdd	d��}nt	j|dd	d��}|j�jj�t|�k(sJ�|j�D]$\}}|j|d|d	f|dk(r�$J�|r|jd	dd��}nt	j|d	dd��}tj||j �y)Nz
2014-02-01�r8)r�r��d)rhrjrhz
2014-02-02ri)rrh)rrh�rri)rrirjr�)r
rr;r�r!�	Timestampr��locr'�notnarBr]rI�iterrowsrGrHrs)r?rrc�pv�_�rowrds       r�test_pivot_index_with_nan_datesz.TestPivotTable.test_pivot_index_with_nan_datess\�����a�c�B��2�9�9�Q�<�'�
�
���S�'�B�L�L��6�6��3��*,�&�&�0����v�������*,�&�&�0����v������������S���=�B����"�C��S�A�B��x�x�z� � �$�$�&�#�b�'�1�1�1��k�k�m�	:�F�A�s��6�6�#�c�(�C��H�,�-��S��9�9�9�	:���X�X�C��S�X�A�F��X�X�b��S��E�F�
���f�b�d�d�+rc���ttjtddddd�tddddd�tddddd�tddddd�gd|�d���tjtd	dddd�td	dddd�td	dddd�td	dddd�gd|�d
���t	j
dd��t	j
dd��d
��}t
gd��}tjddgdzdd|�d
���}tj||g�}tjddgdd|�d���}tgd�gd�g||��}|r|jdd��}	ntj|dd��}	tj|	|�tddgddgg||dd��}|r|jddd��}	ntj|ddd��}	tj|	|�y)N��rr�rr3zM8[z
, US/Pacific]r���z
, Asia/Tokyo]rr�)�dt1�dt2�data1�data2�r:r:r;r;z2014/01/01 09:00z2014/01/02 09:00r9�rLr�z2013/01/01 09:00z2013/01/02 09:00r8�rr3rr3�rrrrr�rr:r�)r
r!rrr;r�rr
r#r'rGrH)
r?r�unitrc�exp_col1�exp_col2�exp_col�exp_idxrRr1s
          r�test_pivot_with_tzz!TestPivotTable.test_pivot_with_tz4s$����'�'� ��q�!�Q��2� ��q�!�Q��2� ��q�!�Q��2� ��q�!�Q��2�	� ��v�]�3���'�'� ��q�!�Q��2� ��q�!�Q��2� ��q�!�Q��2� ��q�!�Q��2�	� ��v�]�3�����1�G�4����1�G�4�)
�
��2�=�>���#�#�
�!3�4�q�8����v�]�+�
��
�(�(�(�H�)=�>���"�"�
�!3�4����v�]�+�
��
�
�<�(���
�������u��5�B����"�E�5�9�B�
���b�(�+����V�a��V����R�a�L�
�������u�W��E�B����"�E�5��I�B�
���b�(�+rc�$�tdtjdd��d�dtjdd��d�dtjdd��d�dtjdd��d�dtjd	d��d�g�}|jd
�j	�}|j
j
d��}t|jd
�j	�d
dg|gd
��}ttjdd��tjdd��ggtdgd��tjtjdd��tjdd��gd
����}tj||�y)N�aaz2016-08-12 13:00:00-0700z
US/Pacific)�tz)�uid�tsz2016-08-12 08:00:00-0700z2016-08-12 14:00:00-0700z2016-08-25 11:00:00-0700z2016-08-25 13:00:00-0700rJc�,�|jdddd��S)Nr)�hour�minute�second�microsecond)�replacer�s rr�z8TestPivotTable.test_pivot_tz_in_values.<locals>.<lambda>�s��1�9�9�!�A�a�UV�9�#W�rrI�minrr�z2016-08-12 00:00:00z2016-08-25 00:00:00r�)r
r!r-�	set_indexr�rJ�maprrrrGrH)r?rc�minsrdrRs     r�test_pivot_tz_in_valuesz&TestPivotTable.test_pivot_tz_in_valuestsu��
� ��,�,�'A�l�S��
 ��,�,�'A�l�S��
 ��,�,�'A�l�S��
 ��,�,�'A�l�S��
 ��,�,�'A�l�S��#
�
��2�\�\�$�
�
+�
+�
-���u�u�y�y�W�X����L�L���*�*�,���'��F��
����L�L�!;��M��L�L�!;��M��
����U�+��$�$��L�L�!6�<�H��L�L�!6�<�H����
�� 	���f�h�/rc
�>�ttjdd�tjdd�tjdd�tjdd�gtjdd�tjdd�tjdd�tjdd�gtjdd�	�tjdd�	�d
��}tgd��}tjddgdzd
d��}tj||g�}tgd�gd�gtjddgdd��|��}|r|jdd
��}ntj|dd
��}tj||�tddgddggtjddgdd��tjddgd
d����}|r|jdd
d��}ntj|dd
d��}tj||�y)Nz
2013-01-01r8z
2013-01-02z2013-01�Mz2013-02rr�r�)�p1�p2r:r;r<r3rY)rLr�r>r?rXr�rrrr:r�)r
r!�Periodr;r�r�PeriodIndexr
r#r'rGrH)r?rrcrArBrCrRr1s        r�test_pivot_periodsz!TestPivotTable.test_pivot_periods�s���
��I�I�l�C�0��I�I�l�C�0��I�I�l�C�0��I�I�l�C�0�	��I�I�i��-��I�I�i��-��I�I�i��-��I�I�i��-�	����1�G�4����1�G�4�
�
��&�=�>���>�>�9�i�"8�1�"<�4�c�R���(�(�(�H�)=�>���
�<�(��.�.�,��!=�D�s�S��
��
�����d��3�B����"�D�$�7�B�
���b�(�+����V�a��V���.�.�,��!=�D�s�S��N�N�I�y�#9��3�O�
��
�����d�7��C�B����"�D�$�w�G�B�
���b�(�+rc
��tgd�tjd�tjd�tjd�tjd�gdd��}tdtgd�d��ttjd�tjd�d	gd
����}|j	dd
dd
��}tj||�y)Nr��2019Q1�2019Q2r�)rhrirl�rr3r�rhr�r�ri�r@rCrDrlT)rCrDrBr�)r
r!rZrrrGrH)r?rcrRrds    r�test_pivot_periods_with_marginsz.TestPivotTable.test_pivot_periods_with_margins�s���
�!��I�I�h�'��I�I�h�'��I�I�h�'��I�I�h�'�	��	
�
�����
�C�0��2�9�9�X�.��	�	�(�0C�U�K�RU�V�
�����c�3�s�D��Q��
���h��/rrB�baz�zooc�x�tgd�gd�gd�gd�d��}|r|jdd|��}ntj|dd|��}gd	�gd
�g}tddgd�
�}t	ddggd�ggd�gd�gddg��}t|||��}|djt�|d<tj||�y)N�r/r/r/r0r0r0�r5r6r7r5r6r7�rr3rrrXr*�rlrmrn�q�w�t�r,r-rcrdr,r-r�)rr3rrlrmrn)rrXr*rjrkrlr/r0�r@rLrcrdr�)rrrrrr)rrr3rrr3�rr�rJra)	r
r'r!rr
rb�objectrGrH�	r?rBrrcrdr@rCrDrRs	         r� test_pivot_with_list_like_valuesz/TestPivotTable.test_pivot_with_list_like_values�s����A�5�)�5�	
�
����X�X�E�5��X�H�F��X�X�b��u�V�L�F�(�*B�C���E�5�>��6����E�N�O�4�%�'9�:���-�
��
�$�e�W�E��"�5�/�0�0��8����
���f�h�/rr-c	��tgd�gd�gd�gd�d��}|r|jdd|��}ntj|dd|��}tjd	tjd
gtjdtjdgtjd
tjdgd	tjdtjgd
tjdtjgdtjdtjgg}tgd�d��}t
ddgddgggd�gd�gddg��}t|||��}|djt�|d<tj||�y)Nrfrgrhrirmrdr,r�r5rr7r*r6rXrr3r)rjrlrkrlrmrnrnr-rcr/r0r��rrrrrora)r
r'r!r;r�rr
rbrprGrHrqs	         r�%test_pivot_with_list_like_values_nansz4TestPivotTable.test_pivot_with_list_like_values_nanss=���A�5�)�5�	
�
����X�X�E�5��X�H�F��X�X�b��u�V�L�F��V�V�S�"�&�&�!�$�
�V�V�S�"�&�&�!�$�
�V�V�S�"�&�&�!�$�
�"�&�&�!�R�V�V�$�
�"�&�&�!�R�V�V�$�
�"�&�&�!�R�V�V�$�

���9��F����E�N�U�E�N�3���.���-�
��
�$�e�W�E��"�5�/�0�0��8����
���f�h�/rc��tgd�gd�gd�d��}d}tjt|��5|j	dd��ddd�y#1swYyxYw)	NrgrorYz=pivot\(\) missing 1 required keyword-only argument: 'columns'r�rZr\)rCrB�r
�pytest�raises�	TypeErrorr')r?rcr�s   r�#test_pivot_columns_none_raise_errorz2TestPivotTable.test_pivot_columns_none_raise_errorBsK��
���I�V�
W��N��
�]�]�9�C�
0�	2��H�H�6�&�H�1�	2�	2�	2�s�A�AzBMultiIndexed unstack with tuple names fails with KeyError GH#19966��reasonc��tgd���}gd�gd�gd�gd�gd�gd�g}td	d
gddgggd
�gd�g��}t|||d��}|r|jddd��}nt	j|ddd��}tddgddg��tddgddg��tddgddg��d�}t|�}t
j||�y) N�rrr3rrrX)r@)r/r5rrl)r/r6r3rm)r/r7rrn)r0r5rrj)r0r6rXrk)r0r7r*rlr-rc�firstrNr�rt)rr�rp)r@rCrDr�)r-r�)r-rN)rcr�r�rrr/r0r�r3rXrr*r�)rr
r
r'r!rrGrH)r?rrCr@rDrcrdrRs        r�test_pivot_with_multiindexz)TestPivotTable.test_pivot_with_multiindexIs����-�.�� � � � � � �

����E�N�W�h�$7�8���.�
���D��w�h�
O����X�X�&�)�'���F��X�X��&�)�'�	�F���A��u�e�n�5���A��u�e�n�5���A��u�e�n�5�
��
�T�?��
���f�h�/rc���tgd�gd�gd�gd�d��}tjtd��5|r|j	dd	d
��ntj|dd	d
��ddd�y#1swYyxYw)Nrfrgrhrirmz^\('bar', 'baz'\)$r�rdr,)r-rcr�)r
rxry�KeyErrorr'r!)r?rrcs   r�test_pivot_with_tuple_of_valuesz.TestPivotTable.test_pivot_with_tuple_of_valuesssp���A�5�)�5�	
�
���]�]�8�+@�
A�	P�����u�e�N��K�����5�%��O�	P�	P�	P�s�1A.�.A7r5r6r7r�c�&�|j|jdd|f}|j|�|j�}t	j
||d��|j|k(sJ�|j�}|j|dfjdd}	|j|�|j�}
t	j
|	|
d��|	j|dfk(sJ�|j|df|f}||j�}||k(sJ�y)Nr�F��check_names�)	r.rCrMrFrGr�rL�
sort_index�iloc)
r?rd�
values_colr@rCrD�margins_col�col_margins�expected_col_margins�
index_margins�expected_ix_margins�grand_total_margins�expected_total_marginss
             r�
_check_outputzTestPivotTable._check_output�s���j�j����c�r�!2�K�!?�@��#�|�|�E�2�:�>�C�C�E��
���{�,@�e�T����;�.�.�.��"�"�$���
�
�K��#4�5�:�:�3�B�?�
�"�l�l�7�3�J�?�D�D�F��
���}�.A�u�U��!�!�k�2�%6�6�6�6�$�j�j�+�r�):�K�)G�H��!%�j�!1�!6�!6�!8��"�&<�<�<�<rc�L�|jdddgddd��}|j|d|�|jdddgdddd�	�}|j|d|d�
�|jddgddd��}|jjdD]}|j||||��y)
Nr8r5r6r7TrF)rBrCrDr�r^�Totals)rBrCrDr�r^�margins_name)r��rCrDr�r^r)rr�rDr)r?r@rdrP�	value_cols     r�test_marginszTestPivotTable.test_margins�s����!�!��s�C�j�#�t�V�"�
��	
���6�3��-��!�!����*����!�
"�
��	
���6�3��(��C�� � ���*�c�4��!�
�����-�-�a�0�	B�I����u�Y�/��D�A�	Brc��|jD�cgc]}|dz��	c}|_tjd�}tjt
|��5|j
ddgdd��ddd�|jd	�
�j
ddgdd��}|jD]+}|jd|f}|||j�k(r�+J�tjt
|��5|j
ddgdd��ddd�|jd	�
�j
ddgdd��}dD]+}|jd|f}|||j�k(r�+J�ycc}w#1swY��xYw#1swY�qxYw)
Nr3�&agg function failed [how->mean,dtype->r��AA�BBTrF)rCr�r^�CCr��r�r�)�DD�EE�FF)
rD�re�escaperxryrzrrr.rF)r?r@�kr�rPr��totals�items        r�test_no_colzTestPivotTable.test_no_col�s���(,�|�|�4�!��A��4����i�i�@�A��
�]�]�9�C�
0�	O����D�$�<��v��N�	O��	�	�$�	�'�3�3���,��f�4�
�����	4�I��Y�Y�{�I�5�6�F��T�)�_�1�1�3�3�3�3�	4��]�]�9�C�
0�	O����D�$�<��v��N�	O��	�	�$�	�'�3�3���,��f�4�
��'�	/�D��Y�Y�{�D�0�1�F��T�$�Z�_�_�.�.�.�.�	/��!5�	O�	O��	O�	O�s�E#�E(�-E4�(E1�4E=z*columns, aggfunc, values, expected_columnsrF)�@r�皙����@r�)r�r�皙����@r�)r-r�r,r�r�r])r��
�rXr*r4)��� r4r4r�))r-r/)r-r0)r-r�)r,r/)r,r0)r,r�r}c���tgd�gd�gd�gd�gd�d��}|dk7rMtjd�}tjt
|�	�5|j
|d
|��ddd�d|vr|jd�
�}|jd�
�j
|d
|��}t|tddg�|��}tj||�y#1swY�sxYw)N�	r,r,r,r,r,r-r-r-r-�	r/r/r/r0r0r/r/r0r0�	�small�larger�r�r�r�r�r�r��	rr3r3rrrrXr*r��	r3rrXrXr*r*�r�r��r5r6r7r8r9r]r�r�T)rDr�r^r6r�r7r8r9r�)r
r�r�rxryrzrrrrGrH)	r?rDr^rBr�rcr�rdrRs	         r�%test_margin_with_only_columns_definedz4TestPivotTable.test_margin_with_only_columns_defined�s���D�T�T�
�1�0�
�
��&�e���)�)�D�E�C����y��4�
O����w��g��N�
O��g�������%�B������%�1�1��T�7�2�
���V�5�#�s��+<�FV�W��
���f�h�/�
O�
O�s�C�C!c���|j�}tjt|�dz�j	t|�d�jd�|gd�<t
tddgddg��dgz}tj|d	�
�}tgd�gd�d
�|��jdd��}|d|dz|d<|jdddgdddd��}tj||�y)Nr�i8)r8r9r:r-r,r/r0r�r�r})��rr��-)�!r�$�3�x�r1r2r�r7rrr1r2r�r8r5r6Tr]r�rBrCrDr�r^r_)�copyr;r�rIrrbrarr
r~r
�rename_axisrrGrH)r?r@rc�mi_val�mirRrds       r�test_margins_dtypez!TestPivotTable.test_margins_dtypes����Y�Y�[�� �i�i��B��!��4�<�<�S��W�a�H�O�O�PT�U��?���g�u�e�n�u�e�n�=�>�+��N��
�
#�
#�F�*�
=���'�2F�G�r�
�
�+�c��+�
"�	�#�6�*�X�g�->�>����������*�����
 �
��	���h��/rc�8�ttddgddg��dgz}tj|d��}t	gd�gd	�d
�|��jdd
��}|d|dz|d<|j
dddgddtd��}tj||�y)Nr-r,r/r0r�r�r})rrr3rrX)r3rr3r3r*r�r�r7rrr1r2r�r8r5r6Trr�)
rarr
r~r
r�rrIrGrH)r?r@r�r�rRrds      r�test_margins_dtype_lenz%TestPivotTable.test_margins_dtype_len)s����g�u�e�n�u�e�n�=�>�+��N��
�
#�
#�F�*�
=���$��?�r�
�
�+�c��+�
"�	�#�6�*�X�g�->�>�����!�!����*�����
"�
��	���h��/rrq))rr3�rhrir,)rhrc	��t|dgd�|dgd�dgd�i�}|jd|��}tgd�gtjgd�|�	�t	dgt
�
���}t
j||�y)Nrrorr�)rrXr*)rBrD)r�r�r�))rr)r3r3)rrr}r��rDrC)r
rr
r~rrprGrH)r?rq�df2rdrRs     r� test_pivot_table_multiindex_onlyz/TestPivotTable.test_pivot_table_multiindex_only<st����a��)�T�!�W�i��i�P�Q������T��:���
���*�*�+C�4�P����V�,�
��	���f�h�/rc�l�tddd��}ttjj	d�jd�tjj	d�jd�|d��}|j
ddgd	�
�}|jjdj|�sJ�y)Nz
2016-01-01rzEurope/Amsterdam)r�rHr3r�r6r7F)rCrr)
rr
r;r<r=r>rrCr�equals)r?�dtircrds    r�test_pivot_table_retains_tzz*TestPivotTable.test_pivot_table_retains_tzJs�����q�5G�H��
��Y�Y�*�*�1�-�=�=�a�@��Y�Y�*�*�1�-�=�=�a�@��
�
�����s�C�j���?���|�|�"�"�1�%�,�,�S�1�1�1rc��tj}ttddggd�ddgt	d�D�cgc]}|t|�z��c}dg��}t
|�}|jdgd	�d
g��}|jt��}|jd
gd�dg��}tj||d��ycc}w)Nr,r-r��x1�x2r&r�r)rrrr3)rBrCrDr��4)�0�1�3�2Fr�)rrQrarr�rr
r�rename�strrGrH)r?rxr�r@rcrPr�rQs        r�test_pivot_integer_columnsz)TestPivotTable.test_pivot_integer_columnsXs���
�H�H���������t��+0��9�5�a��Y�q�\�!�5���
�
���t�_�����a�y�1�#��F���i�i��i�$������?�S�E��R��
���e�V��?��6s�B;c��tgd�dzgd�dzdgdzdgdzzdztjjd�j	d�d��}|jd	d
ddg�
�}|j
gd��d	j�}|jd�jd�jdd��}tj||�y)N)rhrhrhrhririririr3)rrrrrrrrr,rr-�)rhrirj�valuer�rhrirjr�rgr�all)r
�how)r
r;r<r=r>rrMrFrOrrGrH)r?r@rP�groupedrRs     r�test_pivot_no_level_overlapz*TestPivotTable.test_pivot_no_level_overlapms����=��A�-��1��g��k�U�G�a�K�/�1�4����.�.�q�1�A�A�"�E�	
�
��� � ���c�3�Z� �H���,�,��/��8�=�=�?���?�?�3�'�/�/��4�;�;���;�N��
���e�X�.rc
��d}tjdtfdtfdtfdtfdtfdtfdtfg�}tj
gd	�dtfdtfg�
�}tj||�
�}tjjd�jdt|�|�}|d||d<|d||d<ttd
dd�tddd��}|tjjd�jdt|�|�}|j|d<|j|d<|j|d<tjjd�j!dd|�|d<t#|�}|j%dddggd�d��}	|	j&j(sJ�y)Ni'r�Symbol�Year�Month�Day�Quantity�Price)	)�SP500�ADBE)r��NVDA)r��ORCL)�NDQ100�AAPL)r��MSFT)r��GOOG)�FTSEzDGE.L)r�zTSCO.L)r�zGSK.Lr�r3ri�ri�r��r�r�)rr�r�rF�rCrDr^)r;r�rp�intr��array�emptyr<r=�integersrIrr�yearr{r�	lognormalr
rrD�is_monotonic_increasing)
r?�nr��products�items�iproduct�dr�datesrc�pivoteds
          r�test_pivot_columns_lexsortedz+TestPivotTable.test_pivot_columns_lexsorteds���������&�!��6�"���
��#������S�!��%� �
�

���8�8�

��V�$�x��&8�9�

������%�(���9�9�(�(��+�4�4�Q��H�
�q�I��!�'�*�8�4��g��"�8�,�X�6��h��
��T�1�a�(�$�t�R��*<�
=���2�9�9�(�(��+�4�4�Q��B���C�D���
�
��f�
�����g���y�y��e�����.�.�q�1�;�;�C��a�H��g��
�u�
���.�.���E�"�/��	!�
�����6�6�6�6rc���dgdgd�}|jddg�j|�jd�}|jdd|��}t	j
||�y)Nrr]�r8r9r5r6r�)rMrNrOrrGrH)r?r@r�rRrds     r�test_pivot_complex_aggfuncz)TestPivotTable.test_pivot_complex_aggfunc�s_���'���(���<�<��c�
�+�/�/��2�:�:�3�?���!�!��S�!�!�D��
���f�h�/rc��|ddgjddgtd��}|j�}t|dd�|dk(sJ�y)Nr5r6T)rCr^r�r�)rrI�tolistr])r?r@rd�result_lists    r�test_margins_no_values_no_colsz-TestPivotTable.test_margins_no_values_no_cols�sV���s�C�j�!�-�-���*�c�4�.�
���m�m�o���;�s��#�$��B��7�7�7rc��|gd�jddgdtd��}|jj�gd�k(sJ�y)Nr�r5r6r7T�rCrDr^r��r�r�r�r��&@�rrIr�r�r?r@rds   r�test_margins_no_values_two_rowsz.TestPivotTable.test_margins_no_values_two_rows�sI���o�&�2�2���*�c�3��3�
���z�z� � �"�&@�@�@�@rc��|ddgjddtd��}|jj�gd�k(sJ�y)Nr5r6Tr)r�r�rrrs   r�&test_margins_no_values_one_row_one_colz5TestPivotTable.test_margins_no_values_one_row_one_col�sI���s�C�j�!�-�-��s�C��.�
���z�z� � �"�&6�6�6�6rc��gd�|d<|gd�jddgddgtd��}|jj�gd	�k(sJ�y)
N)rhrirjrx�er��g�hr��jr�r8�r5r6r7r8r5r6r7Trrrrs   r�'test_margins_no_values_two_row_two_colsz6TestPivotTable.test_margins_no_values_two_row_two_cols�sX��L��S�	��*�+�7�7���*�s�C�j�#�t�8�
���z�z� � �"�&@�@�@�@r�margin_namer,r/i�Nrhric	��d|�d�}tjt|��5t|dddgdgd|�	�ddd�tjt|��5t|ddgddgd|�	�ddd�tjt|��5t|ddgdgd|�	�ddd�y#1swY�yxYw#1swY�MxYw#1swYyxYw)
NzConflicting name "z3" in margins|margins_name argument must be a stringr�r8r5r6r7T)rBrCrDr�r�)rxry�
ValueErrorr)r?r!r@r�s    r�-test_pivot_table_with_margins_set_margin_namez<TestPivotTable.test_pivot_table_with_margins_set_margin_name�s���!��
�.5�
5�	��]�]�:�S�
1�		�����C�j����(�

�		��]�]�:�S�
1�		�����e��c�
��(�

�		��]�]�:�S�
1�		�����e����(�

�		�		�)		�		��		�		��		�		�s#�B/�B;�C�/B8�;C�Cc��	�tdj�dj�gd�tddd�tddd�tddd�tddd�tddd�tddd�tddd�tddd�gd	��jd
�}tt	j
gd�d�
�j
dd�tjtddd�gd��dj���}d
|j_
d|j_
t|td��ddd��}tj||�t|dtd��dd��}tj||j �tt	j
dtj"dddtj"g�j
dd�tjtddd�tddd�gd��dj���}d
|j_
d|j_
|r|dj%d�|d<t|td��ddd��}tj||�t|dtd��dd��}tj||j �|j'�}t|tdd
��ddd��}tj||�t|dtdd
��dd��}tj||j �d}t)j*t,|��5t|tdd ��ddd��ddd�t)j*t,|��5t|dtdd ��dd��ddd�|jd
�}t|tdd
�!�ddd��}tj||�t|dtdd
�!�dd��}tj||j �d"}t)j*t.|��5t|tdd �!�ddd��ddd�t)j*t.|��5t|dtdd �!�dd��ddd�y#1swY��GxYw#1swY��xYw#1swY�cxYw#1swYyxYw)#N�A A A A A A A B�$Carl Mark Carl Carl Joe Joe Joe Carl�rrrXrr�rr�rr6rr�r3r�)�Branch�Buyerr��Dater+)r�r�rr�r�rr�r�rz
Carl Joe Markr�r*r�r]�rCrDrBr^r�r�r��6MS�Carl�r�r�z#'The grouper name foo is not found'r�r,)r�r�zThe level foo is not valid)r
�splitrrRr;r�rr!rrCrLrDrrrGrHrsr�rbr�rxryr�r#)r?�using_array_managerrcrRrdr�s      r�test_pivot_timegrouperz%TestPivotTable.test_pivot_timegroupers���
�+�1�1�3�?�E�E�G�4��T�1�a�(��T�1�a�(��T�2�q�)��T�2�q�)��T�2�q�)��T�2�q�)��T�2�q�)��T�2�q�)�	�	
�
� �)�F�
�!	�$��H�H�[��0�8�8��A�>��"�"�H�T�2�r�$:�#;�$�G�#�)�)�+�
��
%����� '��������t�$����
��	���f�h�/������&���
��	���f�h�j�j�1���H�H�a�����A�r�2�6�6�2�3�;�;�A�q�A��"�"��$��1�%�x��a��';�<�5��$�)�)�+�
��%����� '������'��/�6�6�w�?�H�V�����u�%����
��	���f�h�/������'���
��	���f�h�j�j�1��^�^�
�����u�&�1����
��	���f�h�/������F�3���
��	���f�h�j�j�1�3��
�]�]�8�3�
/�	����5�e�4��!��
�	��]�]�8�3�
/�	�����U��6�!��
�	��\�\�&�
!�����u�F�3����
��	���f�h�/������f�5���
��	���f�h�j�j�1�*��
�]�]�:�S�
1�	����5��6��!��
�	��]�]�:�S�
1�	�����U�%�8�!��
�	�	�]	�	��	�	��<	�	��	�	�s0�R;�S�S�S!�;S�S�S�!S*c��	�tdj�dj�gd�tddddd�tdd	ddd
�tddddd�tddd
dd�tddddd�tddd
dd�tddd
dd�tddd
dd�gtddddd�tddddd
�tdd	d
dd�tddd
dd�tddddd�tdd	d
dd�tddddd�tddddd�gd��}t|t	dd��t	dd��dd��}ttjt
jdt
jt
jdt
jdd	t
jd	t
jt
jt
jt
jdt
jg�jdd�tjtdd	d�tddd�tddd�tddd�gd��tjtdd	d�tddd�tddd�tddd�gd��� �}d|j_d|j_tj||�t|t	dd��t	dd��dd��}tj||j �tdd	d�tddd�ftddd�tdd	d�ftddd�tddd�ftddd�tddd�ftddd�tddd�ftddd�tddd�fg}t#j$|ddg�!�}ttjdt
jdt
jdt
jd	t
jd	t
jt
jdg�jdd
�|d"d#g� �}d$|j_t|t	dd��t	dd��gd$gdd��}tj||�t|d$gt	dd��t	dd��gdd��}tj||j �y)%Nr&r'r(r6r4rr�rr�rXr�r&r3r�r�rr$r��)r)r*r�r+�PayDayr�r+r/r5r�r]r,rr*r�rr�r}r5r6r))r
r0rrrr;r�r�rr!rrCrLrDrGrHrsr
r~)r?rcrdrR�tuplesrs      r�test_pivot_timegrouper_doublez,TestPivotTable.test_pivot_timegrouper_double�s���
�+�1�1�3�?�E�E�G�4��T�2�q�"�a�0��T�1�a��Q�/��T�2�q�"�a�0��T�2�q�"�a�0��T�2�q�"�a�0��T�2�q�"�a�0��T�2�q�"�a�0��T�2�q�"�a�0�	��T�2�q�!�Q�/��T�2�r�2�q�1��T�1�a��Q�/��T�2�q�"�a�0��T�2�q�"�a�0��T�1�a��Q�/��T�2�r�2�q�1��T�2�r�2�q�1�	�
�
��8���t��0���8�4���
����H�H��F�F���F�F��F�F���F�F����F�F���F�F��F�F��F�F��F�F���F�F�!�
�&�g�a��m��"�"��T�1�b�)��T�2�r�*��T�2�r�*��T�2�r�*�	����$�$��T�1�b�)��T�2�r�*��T�2�r�*��T�2�r�*�	���='
��P%����� (�����
���f�h�/����t��2���6�2���
��	���f�h�j�j�1��d�A�r�
"�H�T�2�r�$:�;�
�d�B��
#�X�d�A�r�%:�;�
�d�B��
#�X�d�B��%;�<�
�d�B��
#�X�d�B��%;�<�
�d�B��
#�X�d�B��%;�<�
�d�B��
#�X�d�B��%;�<�

���$�$�V�F�H�3E�F����H�H��B�F�F�A�r�v�v�q�"�&�&�!�R�V�V�Q�������PQ�R�
��g�a��m���#�J�
��!)���������&�1�7��(�3S�T��J���
��	���f�h�/����*��$�F�3�W�$�H�5U�V���
��	���f�h�j�j�1rc	��tjgd�dd��}tjgd�d��}tgd�||tjd	d
��ddgd
zd��}|dd
}tddg�}tddgd��}t
j||g�}tddgddgddgg||��}t|dgdgdg��}	tj|	|�tgd��}tgd�dz�}tjddgd zdd!��}
t
j|||
g�}ttjgd"�gd#�gd$�gd
��||dd ��}ttjgd%�gd&�gd'�g�||d d��}t||gd�(�}t|dgd!gdd)gd*d+g�,�}	tj|	|�y)-N��2011-07-19 07:00:00�2011-07-19 08:00:00�2011-07-19 09:00:00r:r;r<zM8[ns, US/Pacific]r8�r�rL��2013-01-01 15:00:00r?r?�2013-02-01 15:00:00r@r@zM8[ns, Asia/Tokyo]r��rhrhrhriririr*r�rr3r��labelr8r9�value1�value2rDrhrirCr�r�r�r�r�r�r�r�r�)r]r]r]r]rFrFrFrF)rDrDrErEr?r@rr9)rrrr3)rrr3r)r3rXrr3)r�r�r�r�)r�r�r�r�)r�r�r�r�rrEr]rFr,)
r!rr
r;r�rr
r#rrGrHr�r)
r?�dates1�dates2rcrDrArBrCrRrd�exp_col3�	expected1�	expected2s
             r�test_pivot_datetime_tzz%TestPivotTable.test_pivot_datetime_tzs
���!�!�
�'��
���!�!�
�'�

���7����)�)�A�W�5��a�&�1�*�
�
����!�*���(�H�-�.���#�s��'�2���(�(�(�H�)=�>����3�Z�#�s��c�3�Z�0���
���R��w��	�8�*�U��
���f�h�/��U�V���A�A�E�F���#�#�
"�$9�:�Q�>�&��
��
�(�(�(�H�h�)G�H����H�H��!� �	��
���B�Q�K�
�	�"��H�H�(�(�(��
���A�B�K�

�	��9�i�0�q�9�����'��G��h�'��F�O�
��	���f�h�/rc��tjgd��}tjgd��}tgd�||tjdd��ddgd	zd
��}t|d|djjd
��}tddgd��}tddgddgddgd�|tgd�tjd����}tj||�t||djj|djjd
��}tddgddgddgd�tddgtjd��tgd�tjd����}tj||�t||djjj|djj|djjgd
��}tj tj"gd�tj��tj"ddgd	ztj��gddg��}ttj"gd�g�tdgtj��|��}tj||�t|tj"gd ��|djj|djjgd
��}ttj"d!d	dtj$dtj$gtj$tj$tj$d"tj$d#gg�d$d%g|��}tj||�y)&Nr9r>rAr*r�r�rr3rrBrCr8rDr�rhrir�r�r�r�r�r�r�)r�r�r�r=r�r9)r�r�r�r�r�r�r})r�r�r�r�r�r�r6)�XrMrMrM�YrNrrrXrMrN)r!rr
r;r�rr�rLrrrGrHr{r�rBr
r#r�r�)r?rFrGrcrdrDrRrCs        r�test_pivot_dtaccessorz$TestPivotTable.test_pivot_dtaccessorrs����!�!�
�	
���!�!�
�	
���7����)�)�A�W�5��a�&�1�*�
�
����g�r�%�y�|�|�'8�'8��
����c�
��1����c�
��S�z�s�C�j�9���)�2�8�8�%�@�
��
	���f�h�/���b��i�l�l�(�(�"�U�)�,�,�2C�2C�H�
����c�
��S�z�s�C�j�9���A��b�h�h�U�;��)�2�8�8�%�@�
��
	���f�h�/����U�)�,�,�#�#�*�*���Y�\�\�&�&��5�	���(:�(:�;��	
���(�(����+�2�8�8�<����!�Q��!��2�8�8�4�
��%�.�
����H�H�4�5�6����b�h�h�/��
��
	���f�h�/����(�(�9�:���Y�\�\�&�&��5�	���(:�(:�;��	
����H�H��Q��2�6�6�1�b�f�f�-�����������2�6�6�ST�/U�V�
���*��
��	���f�h�/rc��tddd��}ttjt	|��|��}tt
|�|jj|jj��}|jjd�|_
tj|jj�}i}|jjj�jD];}|jj|k(}t|j|||��||<�=t
|t��j }t#j$||�y)	N�1/1/2000�
12/31/2004r8rr�r�rr�)rrr;r�rIrr
rCr��	dayofyearrD�	droplevel�asarrayr�rBr�rsrGrH)r?�rngrJrd�doyrRrm�masks        r�
test_dailyzTestPivotTable.test_daily�s�����\��<��
�B�I�I�c�#�h�'�s�
3����b�M���������8J�8J�
�� ���1�1�!�4����j�j����+�+�,���������%�%�'�.�.�	C�A��8�8�=�=�A�%�D� ����4���D�	�B�H�Q�K�	C��X�U�3�5�5��
���f�h�/rc��tddd��}ttjt	|��|��}tt
|�|jj|jj��}|jjd�|_
tj|jj�}i}|jjj�jD];}|jj|k(}t|j|||��||<�=t
|t��j }t#j$||�y)	NrQrRr�rr�r�rr�)rrr;r�rIrr
rCr�r{rDrTrUr�rBr�rsrGrH)r?rVrJrdr{rRrmrXs        r�test_monthlyzTestPivotTable.test_monthly�s�����\��=��
�B�I�I�c�#�h�'�s�
3���Y�r�]�"�(�(�-�-������X�����1�1�!�4����
�
�2�8�8�>�>�*���������%�%�'�.�.�	E�A��8�8�=�=�A�%�D� ����4���d��D�H�Q�K�	E��X�U�3�5�5��
���f�h�/rc�"�ddd�}t|dgt|j��|��}t|dg|j�|��}tj||�d�|D�}t|dg||��}tj||�y)Nr]rFrr5)rCrBr^c3� K�|]}|���y�wrr�)�.0r�s  r�	<genexpr>zGTestPivotTable.test_pivot_table_with_iterator_values.<locals>.<genexpr>�s����2�E�%�2�s�)rrarrGrH)r?r@�aggs�pivot_values_list�pivot_values_keys�agg_values_gen�pivot_values_gens       r�%test_pivot_table_with_iterator_valuesz4TestPivotTable.test_pivot_table_with_iterator_values�s�����(��'����d�4�9�9�;�&7��
��(����d�i�i�k�4�
��	���/�1B�C�2�T�2��&����n�d�
��	���.�0A�Brc�,�d}tgd�gd�gd�d��}|jddd|d	d
g��}tdd
|gd��}ddd	d|fddd
d|fg}tj|gd���}t|j
||��}t
j||�y)N�Weekly)�bacon�cheeserhri)r�r�g������	@gffffff
@)r�r�rsrs)r��costrr�rTrF�max)rCrDr�r�r^rhrir�)rFrjr�)rFrjrsrj)rkrjr�)rkrjrs)NNrr}r�)r
rrr
r~rBrGrH)r?r��costsrP�ix�tupsrqrRs        r�/test_pivot_table_margins_name_with_aggfunc_listz>TestPivotTable.test_pivot_table_margins_name_with_aggfunc_lists������>�,�-�
�
���!�!����%��U�O�"�
���G�X�|�4�6�
B��"�!�
�V�\�*�!� �
�F�L�)�

���%�%�d�2E�F���U�\�\��T�B��
���e�X�.rc�p�ttjd�tjd�dztjd�dzd��}tgd�gd�gd�g�}tgd�d	�
�|_tgd�d�
�|_|j
dd	d|d
��}tj||�y)Nr�rr3rk�r�r�r��rXr*r��rrr��rrr�rmr�rnrlT�rr�)	r
r;r�rrCrDrrGrH)r?rErcrRrPs     r�test_categorical_marginsz'TestPivotTable.test_categorical_marginss���
��)�)�A�,�R�Y�Y�q�\�Q�%6�R�Y�Y�q�\�A�=M�N�
���o�{�K�H�I���}�3�7��� ��S�9������s�C��X�t��L��
���e�X�.rc�T�ttjd�tjd�dztjd�dzd��}tgd�gd�gd�g�}tgd�d	�
�|_tgd�d�
�|_|jjd�|_|jjd�|_d
}tjt|��5|jdd	d|d��}ddd�tj|�y#1swY� xYw)Nr�rr3rkrqrrrsrtrmr�rnr`r�r�rlTru)r
r;r�rrCrDrmrbrnrGr�r�rrH)r?rErcrRr�rPs      r�!test_categorical_margins_categoryz0TestPivotTable.test_categorical_margins_category,s���
��)�)�A�,�R�Y�Y�q�\�Q�%6�R�Y�Y�q�\�A�=M�N�
���o�{�K�H�I���}�3�7��� ��S�9����t�t�{�{�:�&����t�t�{�{�:�&���A��
�
'�
'�
�S�
A�	Q��N�N�3��S��4�N�P�E�	Q�
���e�X�.�	Q�	Q�s�(D�D'c���tgd�gd�gd�gd�d��}t|dd��}tgd	�gd
�gd�d�tgd
�d����}tj||�y)N)r3rr*r�)rrrXr�)rrrr*)rMrMrNrNrr8T)rCr�)r�r�rX)r�g@r�)r�r�r�r�)rMrNr�r�r��r
rrrGrH�r?rcrdrRs    r�test_margins_casted_to_floatz+TestPivotTable.test_margins_casted_to_float<s^��
�!�!�!�)�	
�
���R�s�D�9����o�O�L��)��4�
��	���f�h�/rc��tjdddtjg}tjddtjdg}tt|ddg|��t|ddg|��t	dd�d��}|jd	d
d|��}t
jddg|d
�
�}tdtjgtjdgg|��}ttddgddg|��d	��|_	tj||�|jd
d|��}tddgg|tdg���}tj||�y)Nr�r�r5r6r�rr*)�In�Col�Valr~rr�)rCrDrBrE)r�rLr�r�)r@rDr�)rDrBrEr�)r@rDrC)r;r�r
r	r�rr!�CategoricalIndexrrCrGrH)	r?rEr�rr�rcrd�
expected_colsrRs	         r�test_pivot_with_categoricalz*TestPivotTable.test_pivot_with_categoricalNs=���v�v�u�f�e�R�V�V�4���v�v�s�C�����-��
�!�#�5�&�/�7�S�"�3�C��:�w�O��Q��{�
�
�������e�h� �
���+�+�S�#�J��e�T�
��C����=�2�6�6�3�-�"@�-�X�������U�F�O�W�U��
���
	���f�h�/�����e�h��O�����*��}�E�5�'�N�
��	���f�h�/rc���tgd�gd�gd�d��}|djd�|d<d}tjt|��5|jd	dd
|d��}ddd�t
jgd
�gd
�dd��}tddgd
��}tjddgddgddggtj��}t|||��}tj|�y#1swY��xYw)N)r5r6r7r7r�r�)r r!�Vr r`r�r�r�r!�count)rCrDrr^r�F�r�r�rLrhrir�rrr3r�r�)
r
rbrGr�r�rr!r�rr;r�r�rH)	r?rErcr�rdr�r��
expected_datarRs	         r�test_categorical_aggfuncz'TestPivotTable.test_categorical_aggfuncqs���
�'�/C�,�W�
���d�8�?�?�:�.��4��A��
�
'�
'�
�S�
A�	��^�^��4��h��$��F�	�
�,�,����T�
��!�#�s��$�7�����1�a�&�1�a�&�1�a�&�!9����J�
����9I�
��	���f�h�/�	�	�s�
C(�(C1c��tgd�gd�gd�d��}gd�}|djd�jj|�|d<|j	ddd	|d
��}tdd
gd	d��}t
j||dd��}ddggddggdzz}t|||��}|r|jdg}tj||�y)N)r+r���)�Januaryr�r�)r6r7r6)�Salesr�r�)r��February�March�April�May�June�July�August�	September�October�November�Decemberr�r`r�r�r])rBrCrDrEr^r6r7r�r=Fr�i@r�rr4r�r�)r
rbr��set_categoriesrrr!r�r.rGrH)	r?rErc�monthsrdr�r�r�rRs	         r�%test_categorical_pivot_index_orderingz4TestPivotTable.test_categorical_pivot_index_ordering�s���
�(�:�*�
�
��

����k�(�(��4�8�8�G�G��O��7���������� �
��!�$���F�'�J���,�,��v�u�7�
���s����A��x�"�}�4�
����9I�
����|�|�Y�K�0�H�
���f�h�/rc��tgd�gd�gd�d��}|jdddgd�	�}tjgd�gd�gddg�
�}tgd�|dg��}t	j
||�|jdddd��}td
tjtjgtjdtjgtjtjdggtgd�d��tgd�d����}t	j
||�|jdddg�	�}tjdgdgg�}tgd�tgd�d��|��}t	j
||�y)N)rrrX)r7r8r9)rrr�rYrZr\r[r]rrr}r�r�rrrXr�)	r
rr
r#rGrHr;r�r)r?rcrdr�rRs     r�test_pivot_table_not_seriesz*TestPivotTable.test_pivot_table_not_series�s=��
�	�?�I�V�
W������v�v�.>���N���"�"�I��#?��PV�GW�X���Y�a�&��B��
���f�h�/�����f�f�e��T����������
 �2�6�6�1�b�f�f�"5��������7J�K��	��/��/��7�
��	���f�h�/�����f�u�g��F���"�"�U�G�f�X�#6�7���Y�e�I�F�.K�UV�W��
���f�h�/rc���d}tdgd�itdgt����}t|dgtd|��}tdd	d
|gdd��}t|g�
�}tj||�y)NuΔοκιμήr,ror�r�T)rCr^r�r�rr3rrpr=r�)r
rrprrIrGrH)r?�greek�framerPrCrRs      r�test_pivot_margins_name_unicodez.TestPivotTable.test_pivot_margins_name_unicode�sm��6���5�)�,�e�U�G�6�6R�S����%��#�t�%�
���q�!�Q��&�h�U�C���5�"�5��
���e�X�.rc���tgd�gd�td�d��}t|ddd��}td	gd
dggddgdd
ggddg��}tddd�ddd�d�|��j	d�}tj||�t|ddddg��}tddgd	gd
dgggd�gd�gd�ggd���}tddd�ddd�ddd�ddd�d�|��j	d�}tj||�y) Nr+r.r4r�r5r6r]r�r7r/r0rrror$r�)r-r,r�r&))r7r/)r7r0r�rFr�)rrrrrt)NNr6r�r�r�g������@))rFr7r/)rFr7r0)r]r7r/)r]r7r0)r
r�rr
r�rGrH)r?r@rdr�rRs     r�test_pivot_string_as_funcz(TestPivotTable.test_pivot_string_as_func�sA������2�Y�7
�
��@�T��c�5�I��
��E�E�5�>�*�A�q�6�A�q�6�2B�4�QT�+�
���#%�b�1��SU�AV�W��
��+�c�
�	�	���f�h�/��T��c�E�6�?�S��
��F�O�c�U�U�E�N�;���|�<�#�
��
�.1�$�&?�.1�:K�&L�-/��%;�-.�r�%:�	
��
��+�c�
�	�	���f�h�/rz
f, f_numpyrc�B�|jd��}t|dd|��}t|t�rdj	|�n|}d|�d�}tjt|�	�5t|dd|��}ddd�tj|�y#1swY� xYw)
Nr7r�r5r6r��|zusing DataFrameGroupBy.[�]r�)	rr�
isinstancera�joinrGr�r�rH)r?r��f_numpyr@rd�opsr�rRs        r�test_pivot_string_func_vs_funcz-TestPivotTable.test_pivot_string_func_vs_funcs����y�y��y�%���T��c�1�E��'��4�0�c�h�h�q�k�a��(���Q�/��
�
'�
'�
�S�
A�	R�"�4�s�C��Q�H�	R�
���f�h�/�	R�	R�s�&B�Bc	��Gd�dtj�}|j�5}|jtd|�t	tjd�tjd�dd��}d}tjt|��5tjtd	��5|jd
ddd�
�ddd�ddd�ddd�y#1swY�xYw#1swY�xYw#1swYyxYw)Nc� ��eZdZd�fd�Z�xZS)�STestPivotTable.test_pivot_number_of_levels_larger_than_int32.<locals>.MockUnstackerc�8��t�|�|i|��td��)N�Don't compute final result.)�super�__init__�	Exception)r?�args�kwargs�	__class__s   �rr�z\TestPivotTable.test_pivot_number_of_levels_larger_than_int32.<locals>.MockUnstacker.__init__3s!����� �$�1�&�1�� =�>�>r)�returnN)�__name__�
__module__�__qualname__r��
__classcell__)r�s@r�
MockUnstackerr�2s
���
?�
?rr��
_Unstackerir)�ind1�ind2r�z$The following operation may generater�r�r�r�r�r,)�reshape_libr��context�setattrr
r;r�rGr�rrxryr�r)r?�monkeypatchr�r�rcr�s      r�-test_pivot_number_of_levels_larger_than_int32z<TestPivotTable.test_pivot_number_of_levels_larger_than_int32.s���	?�K�2�2�	?��
 �
 �
"�	�a�
�I�I�k�<��?�����5�)�2�9�9�U�3C�a�P��B�9�C��+�+�,>�c�J�
��]�]�9�4Q�R���N�N�$�f�W�g�#���
�	�	����
�
��	�	�s<�A*C7�C+�0C�C+�C7�C(�$C+�+C4	�0C7�7Dc��tgd�gd�gd�d��}d�}d�}d�}t|d|||g|�	�}d
dtjtjddgdd
tjtjddgg}t	j
gd�ddggddg��}t|ddg|��}	|r|	j
d��}	tj||	�y)N)�apple�peachr�)rrr3)r�r*r*)�fruit�size�tastec��y)Nrr�r�s r�ret_onez?TestPivotTable.test_pivot_table_aggfunc_dropna.<locals>.ret_oneOs��rc��t|�Sr)r]r�s r�ret_sumz?TestPivotTable.test_pivot_table_aggfunc_dropna.<locals>.ret_sumRs���q�6�Mrc�"�tjSr)r;r�r�s r�ret_nonez@TestPivotTable.test_pivot_table_aggfunc_dropna.<locals>.ret_noneUs���6�6�Mrr��rDr^rrrr�r*)r�r�r�r�r�r}r�r�r�rDr)	r
rr;r�r
�from_productrrGrH)
r?rrcr�r�r�rdr@r�rRs
          r�test_pivot_table_aggfunc_dropnaz.TestPivotTable.test_pivot_table_aggfunc_dropnaEs���
�4�!�"�
�
��	�	�	����'�8�W�)E�f�
���A�r�v�v�r�v�v�q�!�,�r�1�b�f�f�b�f�f�a��.K�L���%�%�
/�'�7�1C�D���/�
���T�&�'�):�C�H������I��6�H�
���f�h�/rc�~�tgd�dtjdgdtjtjgd��}t|dd|��}d	tjgdtjgg}t	d
dgd��}t|d
dg|��}|r|jd��}t
j||�y)N)r/r0r/rr3r)r5rlrmr5rFr�r�r/r0r�rlrmr�rDr)r
r;r�rrrrGrH)r?rrcrdr@r�rRs       r�&test_pivot_table_aggfunc_scalar_dropnaz5TestPivotTable.test_pivot_table_aggfunc_scalar_dropnahs���
�'�q�"�&�&�!�n�A�r�v�v�r�v�v�CV�W�
���R��f�V�L���b�f�f�
��2�6�6�{�+���U�E�N��-���T�#�s��S�A������I��6�H�
���f�h�/rr�c���tgd�gd�gd�gd�d��}|jdddtj|�	�}t	gd�
�}tt	gdd��|�
�}tj||�y)N)r3r3rrr3)rXr*r�r�r�)�prjrjr�rj)NNNNN)r5�idr7r8r5r8r�r�r�r�r=r�)r
rr;r�rrGrH)r?r�rcrd�exp_colsrRs      r�test_pivot_table_empty_aggfuncz-TestPivotTable.test_pivot_table_empty_aggfuncysv���$�%�.�3�	
�
������s�4����'� �
����#�&���5��7��#E�x�X��
���f�h�/rc��d�}tgd�gd�gd�d��}tjtd��5|j	ddd	|�
�ddd�y#1swYyxYw)Nc�,�tj|�Sr)r;rF)�arrs rrNz=TestPivotTable.test_pivot_table_no_column_raises.<locals>.agg�s���7�7�3�<�rr�rt)r�r&r4�()rMrN�Z�
notpresentr�rMrN)r^)r
rxryr�r)r?rNrcs   r�!test_pivot_table_no_column_raisesz0TestPivotTable.test_pivot_table_no_column_raises�sV��	 ��\��CS�T�
U��
�]�]�8�<�
8�	@��N�N�<��c�3�N�?�	@�	@�	@�s�A�Ac���tgd�gd�gd�gd�gd�d��}t|ddgd	d
gdgd�d
���}tjgd��}tjgd�d	d
g��}t	j
gd�gd�gd�gd�g�}t|||��}|dj
tj�|d<|dj
tj�|d<tj||�y)Nr�r�r�r�r�r�r8r9r5r7rF)rQrkrFr)rBrCr^))r8rF�r9rk)r9rF�r9rQ))r-r�)r-r�)r,r�)r,r�r})r��"@g@r�)r�r�g!@r�)r�r�r�r�)g["8���@r�g.UUU@r�r�r�r�)
r
rr
r~r;r�rbr�rGrH)r?rcrPrqrC�valsrRs       r�0test_pivot_table_multiindex_columns_doctest_casez?TestPivotTable.test_pivot_table_multiindex_columns_doctest_case�s����T�T�
�1�0�
�
��(����:���*� �'=�>�	
���%�%�F�
���&�&�T���*�
���x�x�$�$�$�2�	
�
���T�4�u�=��!)�,�!7�!>�!>�r�x�x�!H����!)�,�!7�!>�!>�r�x�x�!H����
���e�X�.rc	�f�tgd�gd�gd�gd�d��}|jddgdd	d
d��}td
tjgdtjgtjdggt	ddgd��tjgd�gd�gddg����}tj||�y)N)�d1�d4�d3rg)�r��")�2018r��2019)rhr��numr�rhr�r�r�r]F)rCrDrBr^�sortr�r�r�r�r�r�r}r�)	r
rr;r�rr
r#rGrHr{s    r�test_pivot_table_sort_falsez*TestPivotTable.test_pivot_table_sort_false�s���
�'�&�#�0�	
�
�������,��u�e�RW� �
����"�&�&�\�B����<�"�&�&�"��6��6�6�*��8��(�(�#�_�5�c�5�\��
��	���f�h�/rc	��tdddgtddgd��d��}|jd	d
dd�
�}tddgddgddggtgd�d	��t	j
ddgdd
g��d��}t
j||�y)Nr5rr3r�r4�Int64r�)rhri�salesrirhTr]r�r�r`r��r�r5�r�r�r}�rCrDr�)r
rrrr
r~rGrHr{s    r�!test_pivot_table_nullable_marginsz0TestPivotTable.test_pivot_table_nullable_margins�s���
��Q��F�V�R��H�G�-L�M�
�����c�3��e��T����"�X��B�x�"�b��*��
�C�0��*�*��!1�2�4��+���

��	���f�h�/rc	���tddgddgddgddgd	��}|jd
dgdd
gd��}tddgddggdd
gtjddgd
dg����}t	j
||�y)N�John�Michael�Foo�Bar���/r�)�	firstname�lastname�height�agerrrrF)rCrBr�g�e@g�G@g�f@g�@@)r�r�)r�r�r}r�)r
rr
r~rGrHr{s    r�0test_pivot_table_sort_false_with_multiple_valuesz?TestPivotTable.test_pivot_table_sort_false_with_multiple_values�s���
�$�i�0�"�E�N���*��B�x�	
�
������{�+�X�u�4E�E� �
����T�]�U�D�M�*��u�%��(�(� �"4�5�!�;�/��
��	���f�h�/rc�.�tgd�gd�gd�gd�g�}gd�|_|jdddd	d
d��}tgd
�gd�gd�g�}gd�|_gd�|_d|j_d|j_tj||�y)N�rhrlr�rhrmr3�rirmr�rirnr)r�r&r4r�r&r4r]rT�rCrDrBr^r_r��rr3rr�rrrr��rrXrr��rlrmrnr��rhrir�)r
rDrrCrLrGrHr{s    r�1test_pivot_table_with_margins_and_numeric_columnsz@TestPivotTable.test_pivot_table_with_margins_and_numeric_columns	s���
�
�}�m�]�S�
T��!��
�����b��U�q�RV� �
���l�L�-�H�I��1���*��� "����� �����
���f�h�/rrc���tddtddgd��d��}|jdd	d
d|��}td
ggtdgd��tdgd	��d��}t	j
||�y)Nrhrir&r�r�r�)rlrmrrlrmrrF)rCrDrBr^rr4r��Float64r�)r
rrrrGrH)r?rrcrdrRs     r�test_pivot_ea_dtype_dropnaz)TestPivotTable.test_pivot_ea_dtype_dropna	s~���S�s�6�2�r�(�'�3R�S�
T������s�5�&�� �
����T�F����C�(��3�%�c�*��	
��	���f�h�/rc��tdddgtjd�ddgd��}tjd�5|jdd	gd
dd�
�}ddd�tddgddgddggt
jtgd�d��ttjd�tjd�dgtd	��g�t
jddgdd
g����}tj|�y#1swY��xYw)Nr5rr3z
2019-12-31g$@r4)rhrirr�rirrhTr]r�rg5@r`r�r�r=r�r�r}r�)r
r!r-rGr�rr
r#rrpr~rHr{s    r�!test_pivot_table_datetime_warningz0TestPivotTable.test_pivot_table_datetime_warning%	s��
����V����\�2����	
�
���
'�
'��
-�	��^�^��F�m�S�$��$��F�	���D�\�D�$�<�$���6��(�(��-�c�2�����l�3�R�\�\�,�5O�QS�T�$�#���	��*�*��!1�2�4��+��
�� 	���f�h�/�)	�	�s�C?�?Dc�z�tgd�gd�gd�gd�gd�gd�gd�gd�d��}t|ddd	gd
gd��}td
dgddgd
dgtjdggt	ddgd
��tjgd�ddgdzgdd	g����}|r|djd�|d<tj||�y)Nr�r�r�r�r�)r5r6r7r8r9)�col5)�col6r*�r��sevenr8r5r6rr]rr�r�r�r�r�r�r�r�)r-r-r,r,r/r0r3r}r�r�)
r
rr;r�rr
r#rbrGrH)r?r1rcrdrRs     r�)test_pivot_table_with_mixed_nested_tuplesz8TestPivotTable.test_pivot_table_with_mixed_nested_tuplesE	s���
�T�T�
�1�0�
�
�
�M1
�3
��h��s�3��*�|�n�e�
����3�Z�#�s��c�3�Z�"�&�&�#��?��7�G�,�<�@��(�(�-��u�~��/A�B�3�PS�*��
��� (�� 1� 8� 8�� A�H�W��
���f�h�/rc�8�ttd�td�td�td�d��}tjtd�D�cgc]}d��c}td�D�cgc]}d��c}td�gd��}t	j
dtj�}t	j|d�t|ttd�d	�
�|��}|jd	gdgdgdg�
�}tj||�ycc}wcc}w)Nr�r��nuniquerj)NNrir})r�r�r�rhr�r�rir,)r
r�r
r#r;�fullr��
fill_diagonalrrrGrH)r?�testr��	columnval�nparrrRrds       r�6test_pivot_table_aggfunc_nunique_with_different_valueszETestPivotTable.test_pivot_table_aggfunc_nunique_with_different_values�	s����2�Y��2�Y��2�Y��2�Y�	
�
���*�*�$)�"�I�.�q��.�#�B�i�(���(��b�	�
�
$�

�	�����"�&�&�)��
�����$��U�%��b�	��*D�i�X���!�!��������K�"�
��	���f�h�/��//��(s�	D�)	D
)ar�r�r�rx�fixturer@rSrervr�r�r�r�r�r�r�r�r�r�r��mark�parametrizer�r
rrr(r4rErUr\rbr;r�rrrrrur{�xfailr�r�r�r�r�r
r~r�r�r�r�r�r�r�r	rrrrr r$r2r7rKrOrYr[rerorvrxr|r�r�r�r�r�r�r]rFrr��slowr�r�r�r�r�r�r�r�rrrrrr%r�rrr)r),s����^�^�.
��.
�`/�80�6
&�#/�J0� 0�@!0�F0�<0�1�80�
0�
/�!1�F�[�[����
�x��*�+�
�3�4�
�3�4�	
��
"��
"�,(�\0�0�2�[�[���X��e�}�5�X�6�X�6�[�[���X��e�}�5�,�6�,�6�[�[���X��e�}�5�=,�6�=,�~50�n�[�[���X��e�}�5�+,�6�+,�Z0�0�[�[����
�E�N��B�H�H�e�U�^�$��E�5�>�"��5�%�.�!�		
���[�[���X��e�}�5�0�6��0�6�[�[����
�E�N��B�H�H�e�U�^�$��E�5�>�"��5�%�.�!�		
���[�[���X��e�}�5� 0�6�� 0�D2��[�[���S����[�[���X��e�}�5�$0�6��$0�L�[�[���X��e�}�5�P�6�P�,�C�j����=�2B�2/�0�[�[���4���%�';�<��2��=�	
��c�
��)�,��'�
�&�&����*�
�
�	
��<"0�=�<"0�H0�00�&�[�[���V�%M�N�0�O�0�2�@�*/�$17�f0�8�A�7�A��[�[���]�U�E�3��s�C�j�,Q�R�#�S�#�JV�p}2�~Y0�vY0�v0�$
0�C�&/�</�/� 0�$!0�F0�,*0�X0�8	/�<0�|�[�[����
�B�F�F�O�
�R�W�W��
�B�F�F�O��V�_�r�v�v�r�w�w�/�0��U�^�b�f�f�b�f�f�-�.��V�_�r�v�v�r�w�w�/�0�
	
�
�	0�
�	0��[�[������,!0�F0�"�[�[���Y��u�
�6�0�7�0�"@�2/�h0�,0�"0�,0�"�[�[���X��e�}�5�0�6�0�0�@C0�J#0rr)c��eZdZd�Zd�Zd�Zejjde	dg�d��Z
d�Zd�Zd	�Z
ejje�d
��d��Zejje�d
��d
��Zejje�d
��d��Zd�Zd�Zd�Zd�Zy)�	TestPivotc��gd�gd�gd�d�}t|�}|jddd��}tdd	d
d�dd	d
d�d��}d
\|j_|j_tj||�|jjdk(sJ�|jjdk(sJ�|jdd�
�}|jjdk(sJ�|jjdk(sJ�y)N�r5r6r7r7r6r5��Oner0r0�Twor1r1�r�r�r�r�r�r�r�rCrDrBr�r�r�r��r0r1r��NrD)r
r'rCrLrDrGrHrJ)r?r@r�rrRs     r�
test_pivotzTestPivot.test_pivot�	s���3�A�4�
���$����+�+�G�Y�x�+�P��� �s��5� �s��5�
�
��6H�2�����X�-�-�2�
���g�x�0��}�}�!�!�W�,�,�,����#�#�y�0�0�0��+�+�G�Y�+�?���}�}�!�!�W�,�,�,����$�$�(9�9�9�9rc��tgd�gd�gd�d��}tjtd��5|j	ddd	�
�ddd�y#1swYyxYw)N)r-r-r,r,r,)r/r0r/r/r0)r�r�r�r�r�rgzduplicate entriesr�rhrirjr�)r
rxryr#r')r?r@s  r�test_pivot_duplicateszTestPivot.test_pivot_duplicates�	sR���8�8�.�
�
���]�]�:�-@�
A�	;��J�J�S�#�c�J�:�	;�	;�	;�s�A�Ac��tgd���}|jddd��}tgg��}tj||d�	�y)
Nrgr�rhrirjr�r�Fr�)r
r'rGrHr{s    r�test_pivot_emptyzTestPivot.test_pivot_empty�	s>��
��
/������S���=���2�r�2��
���f�h�E�Brr��stringc��tddg|��}|jddd��}tj|jtdd	gd|�
��y)N)r5r��A1)r6r��B2)r@r�rrr3r�r5r6r=)r
r'rGrrDr)r?r�rcrds    r�test_pivot_integer_bugz TestPivot.test_pivot_integer_bug�	sJ��
�-�/?�@��
N������1�Q��7��
���f�n�n�e�S�#�J�Q�e�.T�Urc���gd�gd�gd�d�}t|�jd�}|jdd��}td	d
dd�d	d
dd�d
��}d\|j_|j
_t
j||�|jd��}tjddgddg��|_d|j_t
j||d��|jjdk(sJ�|j
jdk(sJ�|j
jd�|_|jdd��}d|j
_t
j||�y)Nr.r/r2r�rCrDrB�rDrBr�r�r�r�r3r�r�)rBr0)rBr1r}Fr�r4r)r
rRr'rCrLrDrGrHr
r~rJrT)r?r@r�rdrRs     r�test_pivot_index_nonezTestPivot.test_pivot_index_none�	s[��4�A�4�
���$��)�)�'�2�����Y�x��@��� �s��5� �s��5�
�
��6H�2�����X�-�-�2�
���f�h�/����Y��/��%�1�1�
� 1�2�4��:K�
���&�����
���f�h�E�B��|�|� � �G�+�+�+��~�~�#�#�'8�8�8�8�#�+�+�5�5�a�8������Y�x��@�� )�����
���f�h�/rc���tgd�gd�gd�gd�gd�d��}ddg}d	g}|j||�
�}ttjgd�dtjd
tjggd�tjdtjdgg�tjddgddg��tjddgdd	g���
�}tj||�|ddgk(sJ�|d	gk(sJ�y)N)rrrr3r3r3)rrr3rrr3)rr3rr3rr3rhr)�lev1�lev2�lev3�lev4rBrCrDrEr�)r�r�r�r�r�r�)r�r�r�r�r�r�r�)rr3rr3r})rFrFrBrB)	r
r'r;r�r�r
r#rGrH)r?rcrCrDrdrRs      r�0test_pivot_index_list_values_none_immutable_argsz:TestPivot.test_pivot_index_list_values_none_immutable_args

s��
�*�*�*�*�,�
�
���� ���(������w��7����H�H�(��"�&�&�#�r�v�v�.�(��V�V�S�"�&�&�#�.�	�
��(�(��|�,�V�V�4D���*�*�5�|�D��V�n��
��$	���f�h�/����(�(�(�(��6�(�"�"�"rc��tdgdd��}tjtd��5|j	�ddd�y#1swYyxYw)Nrr�z(missing 1 required keyword-only argumentr�rw)r?rcs  r�test_pivot_columns_not_givenz&TestPivot.test_pivot_columns_not_given0
s@��
�a�S�q�)�
*��
�]�]�9�,V�
W�	��H�H�J�	�	�	�s�A�AzNone is cast to NaNr|c��tdgddd��}|jd��}tdgdd��}tj||�|jdd��}td	dit	dgd�
���}tj||�|jddd�
�}tddit	dgd�
���}tj||�y)Nrr3r�Nrirjr�))rir�rjrrir�rLr�r�rj�rDrCrB)r
r'rGrHrr{s    r�test_pivot_columns_is_nonez$TestPivot.test_pivot_columns_is_none6
s����q�c���2�
3�����$��'�����q�9�:��
���f�h�/����$�c��2���h��]�%���#�2F�G��
���f�h�/����$�c�#��>���a��V�5�!��3�+?�@��
���f�h�/rc�F�tdgddd��}|jdd��}tddidg��}ddg|j_t	j
||�|jddd	�
�}tddgt
dgd����}t	j
||�y)
Nrr3rrKrir�)rjr3r�rjrMr�r�)r
r'rDrJrGrHrr{s    r�test_pivot_index_is_nonez"TestPivot.test_pivot_index_is_noneF
s����q�c���2�
3�����#�T��2���h��]�1�#�6��"&�������
���f�h�/����#�T�#��>���Q�q�c�5�!��3�3G�H��
���f�h�/rc�L�tdgddd��}|jddd��}tdtdgd��tdgd���	�}tj||�|jdd�
�}tddgtdgd���	�}tj||�y)Nrr3rrKrirjrMr�r�r@r)r
r'rrGrHr{s    r�test_pivot_values_is_nonez#TestPivot.test_pivot_values_is_noneT
s����q�c���2�
3�����#�S���>���
�U�A�3�S�)�5�!��3�3G�
��	���f�h�/����#�d��3���Q�q�c�5�!��3�3G�H��
���f�h�/rc��tdgddd��}|jd��}|jddd	�
�tj||�y)Nrhrr)r/r0�threeT)�deepr/r0rTr�)r
r�r'rGrH)r?rcrRs   r�"test_pivot_not_changing_index_namez,TestPivot.test_pivot_not_changing_index_namec
sG��
��u�Q��;�
<���7�7��7�%��
���u�e�G��<�
���b�(�+rc��tggd���}|jdddd��}tgdd�	�}tj|j
|�y)
N)rhrir�r�rhrir�r�r,rpr=)r
rrrGrrD�r?rcr'rRs    r�.test_pivot_table_empty_dataframe_correct_indexz8TestPivot.test_pivot_table_empty_dataframe_correct_indexj
sG��
�r�#6�
7�����S�#�g�w��W����8�#�6��
���e�m�m�X�6rc	���tdddd�dddd�dd	d
d�g�}tj|d�|d<tjd
�5|jddgdgdd��}ddd�t
jdtjdd�fdtjdd�fdtjdd�fdgddg��}tjj|�y#1swY��xYw)Nrlz
2023-01-01r)rh�date_strryrmz
2023-01-02r3rnz
2023-01-03rr[rFrhryr]T)rCrBr^r�z2023-01-01 00:00:00z%Y-%m-%d %H:%M:%Sz2023-01-02 00:00:00z2023-01-03 00:00:00r�r})r
r!�to_datetimerGr�rr
r~r�strptimerrCrXs    r�0test_pivot_table_handles_explicit_datetime_typesz:TestPivot.test_pivot_table_handles_explicit_datetime_typesr
s
��
��|�q�A��|�q�A��|�q�A�
�
���^�^�B�z�N�3��6�
�
�
'�
'��
.�	��N�N��F�m�X�J��t�#��E�	�
�)�)��h�'�'�(=�?R�S�T��h�'�'�(=�?R�S�T��h�'�'�(=�?R�S�T��	
���-�
��	���e�k�k�8�4�	�	�s�C,�,C5c���tgd�gd�gd�gd�g�}|jdddddd	�
�}tgd�gd�gd
�gtgd�d��tgd�d����}tj||�y)Nrr	r
rrrr3r]Trr
rrrr�rr�rzr{s    r�6test_pivot_table_with_margins_and_numeric_column_namesz@TestPivot.test_pivot_table_with_margins_and_numeric_column_names�
ss��
�
�}�m�]�S�
T������Q�q�%�A�t� �
���
�<��7��0�q�9��)��2�
��
	���f�h�/rN)r�r�r�r5r7r9rxr'r(rpr>rArGrIr)rrNrPrRrVrYr^r`r�rrr,r,�	s���:�:	;�C��[�[���W�v�x�&8�9�V�:�V�"0�H$#�L��[�[���1�3�<Q��R�
0�S�
0��[�[���1�3�<Q��R�0�S�0��[�[���1�3�<Q��R�0�S�0�,�7�5�6
0rr,)'rrr�	itertoolsrr��numpyr;rx�pandas._configr�
pandas.errorsr�pandasr!r	r
rrr
rrr�pandas._testing�_testingrG�pandas.api.typesr�pandas.core.reshaperr��pandas.core.reshape.pivotrr&rr�r'r)r,r�rr�<module>rks�����
�	��
�5�,��	�	�	��-�6�1������e�}�%��&������!��q��1�#��'�*�U�1�X�u�Q��{�,C�D�E�J�F�J�
A&0�A&0�HLj0�j0r

Youez - 2016 - github.com/yon3zu
LinuXploit