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/groupby/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

/	�g���t�ddlmZddlZddlmZddlZddlZddlZddlmZm	Z	ddl
mcmZ
ddlmZddlZddlmZmZmZmZmZmZmZmZmZmZmZmZddlmZ ddl!m"Z"ddl#m$cm%Z&ejNjQd�Z)d	�Z*d
�Z+ejNjYdgd��d
��Z-d�Z.d�Z/d�Z0d�Z1ejNjYdddg�d��Z2d�Z3d�Z4d�Z5ejNjYdgd��d��Z6d�Z7d�Z8d�Z9d�Z:d�Z;d �Z<d!�Z=d"�Z>d#�Z?ejNjYd$d%�d&�g�d'��Z@d(�ZAd)�ZBd*�ZCd+�ZDd,�ZEd-�ZFd.�ZGd/�ZHd0�ZId1�ZJd2�ZKd3�ZLd4�ZMejNjYd5d6d7g�d8��ZNejNjYd5gd9��ejNjYd:ddg�d;���ZOd<�ZPd=�ZQd>�ZRd?�ZSd@�ZTdA�ZUdB�ZVdC�ZWdD�ZXdE�ZYdF�ZZdG�Z[dH�Z\dI�Z]dJ�Z^dK�Z_dL�Z`dM�ZadN�ZbdO�ZcdP�ZddQ�ZedR�ZfdS�ZgdT�ZhdU�ZidV�ZjdW�ZkdX�ZldY�ZmdZ�Znd[�Zod\�Zpd]�Zqd^�Zrd_�Zsd`�Ztda�Zudb�ZvejNjYdcdddddegg�df��Zwdg�Zxdh�Zydi�Zzdj�Z{dk�Z|dl�Z}dm�Z~dn�ZejNjYdodpdqdrdpdqgdpdrgg�ejNjYdsdtdudtdugg�dv���Z�dw�Z�ejNjYdxdydygg�ejNjYdzddgdddegg�ejNjYd{dgdgd|gd}gedg�ed�gedd~d~d���e�jd�d�d����e�jdgd����e�jdgd����e�jdgd����ggd�����ejNjYd�gd���ejNjYd$gd���d�������Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�ejNjYd�d�d�gg�d���Z�ejNjYd�d�d�dded��ed��ddgifd�d�ed��ed��ed��ed��ed��ed��gifd�d�ed��ed��ed��ed��ed��ed��gifg�d���Z�d��Z�d��Z�d��Z�d��Z�d��Z�ejNjYd�gd���d���Z�d��Z�ejNjYd�ed�d}feddfed�dfed�dfed�dfed�dfed�d}feddfed�dfed�dfed�dfed�dfg�d���Z�d��Z�ejNjYd�gd���d���Z�ejNjYd�de�j2de
�j4d�����g�d���Z�d��Z�ejNjYd�d�d�d�gfd�d�d�gfg�dĄ�Z�dńZ�dƄZ�dDŽZ�dȄZ�dɄZ�ejNjYd:ddg�dʄ�Z�d˄Z�d̄Z�d̈́Z�d΄Z�dτZ�dЄZ�ejNjYde�e�j2d�e
�j4d�����g�d҄�Z�dӄZ�dԄZ�ejNjYd�dd}d}gg�dք�Z�dׄZ�ejNjYd�dgdfd�dgdfd�g�dۄ�Z�ejNjYd�gdܢ�d݄�Z�ejNjYd�d�d�g�d��Z�ejNjYd�d�d�g�d��Z�ejNjYd�d�de�jhfg�d��Z�ejNjYd�gd�gd�gd�fgd�gd�gd�fg�d��Z�ejNjYd�gd��d��Z�ejNjQd�ejNjYd�gd���d����Z�d��Z�d��Z�ejNjYd:ddg�d���Z�d��Z�ejNjYd�d~d}g�d���Z�ejNjYd�gd���d���Z�d��Z��d�Z��d�Z�ejNjY�dddg�ejNjY�d�d�dd}gd~e�f�dd}g�ddf�dd�dgd~e�fd�dg�ddfg��d���ZÐd	�ZĐd
�ZŐd�Z�ejNjY�dddg��d��Z�y(
�)�datetimeN)�Decimal)�PerformanceWarning�SpecificationError)�is_string_dtype)�Categorical�	DataFrame�Grouper�Index�Interval�
MultiIndex�
RangeIndex�Series�	Timedelta�	Timestamp�
date_range�to_datetime)�BooleanArrayz)ignore:Mean of empty slice:RuntimeWarningc�B�ttdd���}d}||k(sJ�y)N�A�B)�key�levelz<Grouper(key='A', level='B', axis=0, sort=False, dropna=True))�reprr
)�result�expecteds  �CC:\Python312\Lib\site-packages\pandas/tests/groupby/test_groupby.py�	test_reprr's&��
�'�c��-�
.�F�M�H��X����c�Z�tjdd��}t|�}|ddd�xxdzcc<|jd�j	�}|td�z|d<|tdd	�
�z|d<tj|jd<|jttd��d
z�}|j�}td�}td�}t|dz||||gtjd���}t|||d��}	t!j"||	�y)Nz1 Day�'��periods��rrr�UTC��tz�C���i�z2887 days 11:21:02.326710176z2886 days 00:42:34.664668096��index�rrr))�pd�timedelta_ranger�to_frame�copyr�NaT�iloc�groupby�list�range�stdr�np�aranger	�tm�assert_frame_equal)
�warn_copy_on_write�tdi�ser�df�gbr�td1�td4�exp_serrs
          r�test_groupby_std_datetimelikerD.s���
�
�
�W�e�
4�C�
��+�C���!��H��M�H�	���c�	�	�	�	!�B��I�a�L� �B�s�G��I�a�E�*�*�B�s�G��&�&�B�G�G�B�K�	���D��q��N�T�)�	*�B�
�V�V�X�F��2�
3�C�
�2�
3�C��c�A�g�s�C��c�2�"�)�)�A�,�G�G��w�W�7�C�D�H����&�(�+r�dtype)�int64�int32�float64�float32c�r��ttjd�dztjd�|��}tjd�}tjj	d�j|�|j
|�}|jd�d��}|D]\}}t|�dk(r�J�d}tjt|�	�5|jtj�}ddd�d
d
k(sJ�d}tjt|�	�5|jtj�}ddd�tj|�tj||j��|j!�}	d}tjt|�	�5|jtj �}ddd�tj|	|�|j#d��}|j%d
��}
|
ddk(sJ�tj|
|�|j|�}d}tjt|�	�5|jtj�}	ddd�tj|	|d��d}tjt|�	�5|jtjtj&g�}ddd�d}t)j*t,|�	�5|jtjtj&d��ddd�dddd��d}tjt|�	�5|j�fd��}ddd�|d
dk(sJ�d}t)j*t.|�	�5|jd��ddd�y#1swY���xYw#1swY���xYw#1swY��xYw#1swY��wxYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)N�	��r,rEr%c��|dzS�NrL���xs r�<lambda>z)test_basic_aggregations.<locals>.<lambda>Qs
��Q�!�V�rF��
group_keyszusing SeriesGroupBy.mean��match�zusing SeriesGroupBy.sumc�(�||j�zS�N��sumrQs rrSz)test_basic_aggregations.<locals>.<lambda>fs��q�1�5�5�7�{�rc�(�||j�zSrZr[rQs rrSz)test_basic_aggregations.<locals>.<lambda>gs��a�!�%�%�'�k�r����check_index_typezusing SeriesGroupBy.[mean|std]�nested renamer is not supported)�one�two�
���rrXr%z�Pinning the groupby key to each group in SeriesGroupBy.agg is deprecated, and cases that relied on it will raise in a future versionc�D���|j|j�zSrZ)�name�mean)rR�group_constantss �rrSz)test_basic_aggregations.<locals>.<lambda>�s���o�a�f�f�&=�����&H�r�zMust produce aggregated valuec��|dzS�Nr%rPrQs rrSz)test_basic_aggregations.<locals>.<lambda>�s
��A��E�r)rr8r9�random�default_rng�shuffle�reindexr4�lenr:�assert_produces_warning�
FutureWarning�	aggregaterk�agg�assert_series_equalr\�apply�	transformr7�pytest�raisesr�	Exception)
rE�datar,�grouped�k�v�msg�aggedrr�transformed�
value_groupedrls
            @r�test_basic_aggregationsr�Iso����"�)�)�A�,�!�#�2�9�9�Q�<�u�E�D��I�I�a�L�E��I�I���!��$�$�U�+��<�<���D��l�l�+��l�>�G�����1��1�v��{��{��%�C�	�	#�	#�M��	=�+��!�!�"�'�'�*��+���8�q�=��=�
$�C�	�	#�	#�M��	=�(��;�;�r�w�w�'��(����5�(�+����5�'�,�,�.�1�
�[�[�]�F�
#�C�	�	#�	#�M��	=�'��;�;�r�v�v�&��'����6�8�,��}�}�2�3�H��#�#�$9�:�K��q�>�R�������;��1��L�L��&�M�
$�C�	�	#�	#�M��	=�2��(�(����1��2����6�5�5�A�+�C�	�	#�	#�M��	=�5��!�!�2�7�7�B�F�F�"3�4��5�-�C�	���)��	5�;����"�'�'�"�&�&�9�:�;����+�O�	E��
�	#�	#�M��	=�J����H�I��J���8�r�>��>�*�C�	���y��	,�+����/�*�+�+�a+�+��
(�(��'�'��2�2��5�5��;�;��J�J��+�+�s`� O�' O!�6 O.�& O;�0P�1P�4P!�8P-�O�!O+�.O8�;P�P�P�!P*�-P6c��|jjd}|j|�}|j�}|j|j	d��j�}|jj
tjk(sJ�|jj
tjk(sJ�tj||d��y)Nr�OFr`)r,�codesr4r\�astyperEr8�int8rFr:r;)� multiindex_dataframe_random_datarr�rrs     r�test_groupby_nonobject_dtyper��s���
*�
0�
0�
6�
6�q�
9�C�.�6�6�s�;�G�
�[�[�]�F�/�7�7��
�
�3��H�L�L�N�H��<�<������(�(�(��>�>���2�8�8�+�+�+����&�(�U�Crc
�:�tgd�gd�tjjd�j	d�tj
tjjd�j	d�d��d��}t
t|��|d<d	�}d
}tjt|��5|jd�j|�}ddd�j}|j}tj||�y#1swY�8xYw)
N��foo�barr�r�r�r�r�r�)rcrcrd�threerdrdrcr�r%�rI�rE�rrr)�D�valuec�B�|j|dj�S)Nr�)�loc�idxmax��groups r�	max_valuez5test_groupby_nonobject_dtype_mixed.<locals>.max_value�s���y�y��w��.�.�0�1�1r�7DataFrameGroupBy.apply operated on the grouping columnsrVr)r	r8rprq�standard_normal�arrayr6rtr:ru�DeprecationWarningr4rz�dtypesry)r?r�r��appliedrrs      r�"test_groupby_nonobject_dtype_mixedr��s���	�I�M����&�&�q�)�9�9�!�<����"�)�)�/�/��2�B�B�1�E�Y�W�		
�
�B���B��.�B�w�K�2�D�C�	�	#�	#�$6�c�	B�3��*�*�S�/�'�'�	�2��3�
�^�^�F��y�y�H����6�8�,�	3�3�s�9!D�Dc���tgd�ttjd�d��t	dd��d��}d�}|jd	�j
�d
g}d}tjt|��5|jd	�j|�d
g}ddd�tj|�d
�}d}tjt|��5|jd	�j|�d
g}ddd�|j�}tj|jd<tj||�d�}d}tjt|��5|jd	�j|�d
g}ddd�|j�}tj|jd<tj||�d�}d}tjt|��5|jd	�j|�dg}ddd�|jd	�j
�dg}tj |jd<tj||�d�}	d}tjt|��5|jd	�j|	�}ddd�|jd	�j
�dj�}tj|jd<d|_tj$||�y#1swY���xYw#1swY��AxYw#1swY���xYw#1swY��;xYw#1swY��xYw)N)�Tigerr�r��Lambr��Ponyr�r^rFr��20130101r"r-c� �|jdS�Nr)r3��grps r�f_0z*test_inconsistent_return_type.<locals>.f_0�s���x�x��{�rrrr�rVc�@�|jdk(ry|jdS)Nr�r�rjr3r�s r�f_1z*test_inconsistent_return_type.<locals>.f_1�s���8�8�w����x�x��{�rr�c�@�|jdk(ry|jdS�Nr�rr�r�s r�f_2z*test_inconsistent_return_type.<locals>.f_2�����8�8�v����x�x��{�rr�c�@�|jdk(ry|jdSr�r�r�s r�f_3z*test_inconsistent_return_type.<locals>.f_3�r�rr)c�Z�|jdk(ry|jdjdS)Nr�rr))rjr3r�r�s r�f_4z*test_inconsistent_return_type.<locals>.f_4�s(���8�8�v����x�x��{���s�#�#r)r	rr8r9rr4�firstr:rur�rzr;r1�nanr�r.r2rjry)
r?r�rr�rr��er�r�r�s
          r�test_inconsistent_return_typer��s���
�L���	�	�!��G�4��J��2�	
�
�B���z�z�#��$�$�&��u�-�H�
C�C�	�	#�	#�$6�c�	B�3����C��&�&�s�+�S�E�2��3����&�(�+��
D�C�	�	#�	#�$6�c�	B�3����C��&�&�s�+�S�E�2��3��
�
��A��V�V�A�E�E�'�N����&�!�$��
D�C�	�	#�	#�$6�c�	B�3����C��&�&�s�+�S�E�2��3��
�
��A��F�F�A�E�E�&�M����&�!�$��
D�C�	�	#�	#�$6�c�	B�3����C��&�&�s�+�S�E�2��3�
�
�
�3�������&�A��F�F�A�E�E�&�M����&�!�$�$�
D�C�	�	#�	#�$6�c�	B�,����C��&�&�s�+��,�
�
�
�3������$�)�)�+�A��F�F�A�E�E�&�M�
�A�F����6�1�%�k3�3��3�3��3�3��3�3��,�,�s<�>%L8�!%M�1%M�%M�$!M,�8M�M�M�M)�,M5c��dd�}d�}|jd��}|jtjdd��}|j	tjdd��}|jtjdd��}|j
d�}|j|�}	tj||�tj||�tj||	�|j|d��}|j	|d��}|j|d��}tj||�tj||�tj||	�d	D�]}
|jd
�|
��}|
rdnt}d}
tj||
�
�5|jtjdd��}ddd�tj||
�
�5|j	tjd�}ddd�tj||
�
�5|j
d�}ddd�tj|d��tj||�|j	tjddg�}tj||
�
�5|j
ddg�}ddd�tj|d��tj||
�
�5|j|d��}ddd�tj||
�
�5|j	tjd��}ddd�tj||�tj||d����y#1swY���xYw#1swY���xYw#1swY��exYw#1swY��xYw#1swY��xYw#1swY�zxYw)Nrc�2�tj|||��S)N��axis�r8�
percentile)rR�qr�s   r�fz test_pass_args_kwargs.<locals>.f�s���}�}�Q���-�-rc�2�tj|dd��S)N�Prr�r�rQs rrSz'test_pass_args_kwargs.<locals>.<lambda>�s��"�-�-��2�A�.�rc��|jSrZ��monthrQs rrSz'test_pass_args_kwargs.<locals>.<lambda>�s
��a�g�g�rr�r�皙�����?�r�)TFc��|jSrZr�rQs rrSz'test_pass_args_kwargs.<locals>.<lambda>s
��q�w�w�r��as_index�*A grouping .* was excluded from the resultrVF��check_namesg�������?r�)
r4rxr8r�rzr{�quantiler:ryrvrur	r;)�ts�tsframer��g�
ts_grouped�
agg_result�apply_result�trans_result�agg_expected�trans_expectedr��
df_grouped�warnr�r�expected_seqs                r�test_pass_args_kwargsr��s:��.�	/�A����-�.�J�����
�
�r���:�J��#�#�B�M�M�2�A�#�>�L��'�'��
�
�r��'�B�L��&�&�s�+�L��)�)�!�,�N����<��6����:�|�4����<��8�����R��(�J��#�#�A��#�,�L��'�'��R�'�0�L����:�|�4����<��6����<��8�"�I���_�_�%6��_�J�
��t�]��:��
�
'�
'��C�
8�	C�#����
�
�r���B�J�	C�
�
'�
'��C�
8�	E�%�+�+�I�,>�,>��D�L�	E�
�
'�
'��C�
8�	0�!�*�*�3�/�H�	0�
���l�H�%�H�
���j�(�3�!�'�'�	�(:�(:�S�#�J�G��
�
'�
'��C�
8�	;�%�.�.��S�z�:�L�	;�
���l�L�e�L�
�
'�
'��C�
8�	1�#����R��0�J�	1�
�
'�
'��C�
8�	G�%�+�+�I�,>�,>�#�+�F�L�	G�
���j�(�3�
���l�H�%�H�/I�	C�	C��	E�	E��	0�	0��	;�	;��	1�	1��	G�	G�sH�#M9�!N�N�N �*N,�"N8�9N	�N	�N	� N)	�,N5	�8O	r�TFc�,�gd�|_|jd�|��}|rdnt}d}tj||��5|jtjdd��}ddd�||jjd	k(jd
�||jjdk(jd
�d�}t|�j}|sttd��|_tj|�y#1swY��xYw)
N)rrrr)c��|jSrZr�rQs rrSz9test_pass_args_kwargs_duplicate_columns.<locals>.<lambda>.s
��1�7�7�rr�r�rVr�rr�rXr�r%�rXr%)�columnsr4rvr:rurxr8r�r,r�r�r	�Trr6r;)r�r�r@r�r��res�ex_datars        r�'test_pass_args_kwargs_duplicate_columnsr�*s���+�G�O�	���*�X��	>�B��4��D�
6�C�	�	#�	#�D��	4�0��f�f�R�]�]�B�Q�f�/��0��7�=�=�&�&�!�+�,�5�5�c�:��7�=�=�&�&�!�+�,�5�5�c�:��G���!�#�#�H���u�Q�x�������#�x�(�0�0�s�#D
�
Dc	���ttjjd�j	d�tt
d�t��tddd���	�}|jd
�d�d�g�}t|�t|�k(sJ�|jd
�d�g�}t|jD�chc]}|j|jf��c}�}t|�|k(sJ�ycc}w)Nr%�re��ABCDr��
2000-01-01rer�r#�freq�r�r,c��|jSrZ��yearrQs rrSztest_len.<locals>.<lambda>G�
��A�F�F�rc��|jSrZr�rQs rrSztest_len.<locals>.<lambda>G�
��a�g�g�rc��|jSrZ��dayrQs rrSztest_len.<locals>.<lambda>G�
�����rc��|jSrZr�rQs rrSztest_len.<locals>.<lambda>Jr�rc��|jSrZr�rQs rrSztest_len.<locals>.<lambda>Jr�r)r	r8rprqr�rr5�objectrr4rtr,r�r�)r?r�rRrs    r�test_lenr�As���	�
�	�	���a� �0�0��9��d�6�l�&�1���r��<�
�B�
�j�j�*�,=��O�P�G��w�<�3�r�7�"�"�"��j�j�*�,=�>�?�G��r�x�x�8�!�Q�V�V�Q�W�W�%�8�9�H��w�<�8�#�#�#��9s�7C.c��ttjgdzgd�d��}t|j	d��dk(sJ�t|j	d��dk(sJ�t|j	ddg��dk(sJ�y)NrL�rXr%rL��a�brrr)r	r8r�rtr4�r?s r�test_len_nan_grouprOsq��	�"�&�&��A��I�6�	7�B��r�z�z�#���1�$�$�$��r�z�z�#���1�$�$�$��r�z�z�3��*�%�&�!�+�+�+rc�,�tttdd��dzD�cgc]}d|z��	c}�}tjjd�j	d�dz}t|�}|j
|�}|j�ycc}w)NrXre��?r%iLg$@)rr5r6r8rprqr4rk)rRrr�	groupingsr�s     r�test_basic_regressionr
Wst��
�d�5��B�<�&8�2�&=�>��S�1�W�>�
?�F�
�9�9� � ��#�*�*�4�0�4�7�D��t��I��n�n�Y�'�G��L�L�N��
?s�B)rHrIrFrG�int16r�c�4�ttjd��}ttjd�||��}ttj
dddtj
tj
ddtj
dg
|��}|j
|�}|jt�}tddgddg��}tj||d�	�d
�}|j|�}tddgddg��}tj||�y)
Nrer�r�r�r+r�r%F��check_dtypec�*�tt|��SrZ)�floatrtrQs rr�ztest_with_na_groups.<locals>.fws���S��V�}�r�@�@)rr8r9r�onesr�r4rxrtr:ry)rEr,�values�labelsr�r�rr�s        r�test_with_na_groupsrbs���
�"�)�)�B�-� �E�
�B�G�G�B�K��e�
4�F�
�	�����u�b�f�f�b�f�f�e�U�B�F�F�E�R���F��n�n�V�$�G��K�K���E��q�!�f�U�E�N�3�H����5�(��>�
�
�K�K��N�E��s�C�j����7�H����5�(�+rc��d�}d�}d�}tgd�td�tdd�d��}tgd	�td�tdd�d��}d
}d}tjt|��5|jd
�j
|�}ddd�tjt|��5|jd
�j
|�}ddd�tj�d}tjt|��5|jd
�j
|�ddd�tjt|��5|jd
�j
|�ddd�tjt|��5|jd
�j
|�ddd�tjt|��5tjt|��5|jd
�j
|�ddd�ddd�y#1swY���xYw#1swY��dxYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�QxYw#1swYyxYw)Nc���||jdzdk(dz}|jr(tggdzggdzddg��}tdg|��}|S|j	ddg�}|S)Nr%rXr�c��levelsr��namesrr�)r�emptyr
r	�	set_index�rR�y�
multiindexr�s    r�f1z,test_indices_concatenation_order.<locals>.f1�sm��
�q�s�s�Q�w�1�n���"���7�7�#�B�4�!�8�B�4�!�8�C�QT�:�V�J��S�E��<�C��J����S�#�J�'�A��Hrc��||jdzdk(dz}|jr
t�S|jddg�}|S)Nr%rXrr)rrr	r)rRr s  r�f2z,test_indices_concatenation_order.<locals>.f2�sC��
�q�s�s�Q�w�1�n���"���7�7��;�����S�#�J�'�A��Hrc��||jdzdk(dz}|jr)tggdzggdzddg��}tddg|��}|S|S)	Nr%rXr�r�rrrr�)rrr
r	rs    r�f3z,test_indices_concatenation_order.<locals>.f3�sa��
�q�s�s�Q�w�1�n���"���7�7�#��t�a�x��t�a�x��u�~��J��S�#�J�j�A�C��J��Hr)rXr%r%r%r�r$rK�rrr)rLr%r%r%zDThe behavior of array concatenation with empty entries is deprecatedr�rVrz@Cannot concat indices that do not have the same number of levels)r	r6r:rur�r4rzr;r|r}�AssertionErrorrv)	r"r$r&r?�df2�depr_msgr��result1�result2s	         r� test_indices_concatenation_orderr-�s�����	�
��E�!�H�5��A�;�G�	H�B�
�,�U�1�X�E�!�Q�K�H�
I�C�U�H�D�C�	�	#�	#�$6�c�	B�,��*�*�S�/�'�'��+��,�	�	#�	#�$6�c�	B�-��+�+�c�"�(�(��,��-����'�7�+�M�C�	���~�S�	1�"�
�
�
�3����b�!�"�	���~�S�	1�#����C����r�"�#�
���~�S�	1�"�
�
�
�3����b�!�"�	���~�S�	1�'�
�
'�
'�
�X�
F�	'��K�K���"�"�2�&�	'�'�'�!,�,��-�-��"�"��#�#��"�"��	'�	'��'�'�s`�1!H+�5!H8�!I�!I�!I�I6�9!I*�I6�+H5�8I�I�I�I'�*I3	�/I6�6I?c�D�|jd��}|j�}|jd��}tj||�|j�}|D��cic]\}}||j���}}}t
|�j}tj||�|j}|jd��}tj||�d}tjt|��5t|d�ddd�ycc}}w#1swYyxYw)Nc�"�|j�SrZ��weekdayrQs rrSz#test_attr_wrapper.<locals>.<lambda>�s��1�9�9�;�rc�0�tj|d��S)NrX)�ddof)r8r7rQs rrSz#test_attr_wrapper.<locals>.<lambda>�s��R�V�V�A�A�%6�rc��|jSrZr�rQs rrSz#test_attr_wrapper.<locals>.<lambda>�s
��Q�W�W�rz-'SeriesGroupBy' object has no attribute 'foo'rVr�)r4r7rxr:ry�describer	r�r;rEr|r}�AttributeError�getattr)r�r�rrrj�gpr�s       r�test_attr_wrapperr9�s����j�j�.�/�G�
�[�[�]�F��{�{�6�7�H����6�8�,��
�
�
�F�4;�<���b��b�k�k�m�#�<�H�<���"�$�$�H����&�(�+��]�]�F��{�{�,�-�H����6�8�,�:�C�	���~�S�	1� ����� � ��=� � �s� D�:
D�Dc�.�|jd��}|jd�}t|�dk(sJ�t|j�dk(sJ�|j	�}|j
D�cgc]}|j
���c}|d<|jd�jd�}tj||d��|jd�jd	��}|jd
��}t|�dk(sJ�t|j�dk(sJ�|jd��}|D]M\}}|j�}	|j
D])}
tj|j|
�|	d���+�O|D]'\}}|j
dj
�|k(r�'J�|j}|j}
|j!�D]8\}}|j
j#|
|�}||k(j%�r�8J�ycc}w)
Nc�"�|j�SrZr0rQs rrSz$test_frame_groupby.<locals>.<lambda>�s���	�	��rrkr$r�r1Fr�rgc�"�|j�SrZr0rQs rrSz$test_frame_groupby.<locals>.<lambda>�s������rc�(�||j�z
SrZ�rkrQs rrSz$test_frame_groupby.<locals>.<lambda>�s��a�!�&�&�(�l�rc�"�|j�SrZr>rQs rrSz$test_frame_groupby.<locals>.<lambda>�s��a�f�f�h�rr)r4rwrtr�r1r,r1r:r;�headr{rkry�xs�groups�indices�items�take�all)r�r��
aggregated�tscopyrR�straggedr�rjr�rk�idxr1rBrCr�r��	samethings                 r�test_frame_groupbyrL�s����o�o�3�4�G��"�"�6�*�J��z�?�a�����z�!�!�"�a�'�'�'��\�\�^�F�.4�l�l�;������;�F�9���~�~�i�(�2�2�6�:�H����(�J�E�B��l�l�2��&�&�'<�=�G��#�#�$:�;�K��{��r�!�!�!��{�"�"�#�q�(�(�(��#�#�$6�7�K��Q���e��z�z�|���;�;�	Q�C��"�"�;�>�>�#�#6��%�P�	Q�Q�"�3�����{�{�1�~�%�%�'�7�2�2�2�3��^�^�F��o�o�G�����&���1��M�M�&�&�w�q�z�2�	��Q��#�#�%�%�%�&��3<s�,Hc��ddddd�}d}tjt|��5|j|d��}ddd�j	d�}t|�t|�k(sJ�t|j�dk(sJ�d	�}d
}tjt|��5|jj|d��}ddd�tjj|�j|j|��|D]\}}t|j�dk(r�J�y#1swY��xYw#1swY�xxYw)NrrXr��+DataFrame.groupby with axis=1 is deprecatedrVr�rkr%c�(�||j�z
SrZr>rQs rrSz,test_frame_groupby_columns.<locals>.<lambda>	s��1�q�v�v�x�<�r�5The 'axis' keyword in DataFrame.groupby is deprecated)
r:rurvr4rwrtr�r�r;r{)	r��mappingr�r�rG�tf�groupedTr�r�s	         r�test_frame_groupby_columnsrT�s.���A�A�A�.�G�
7�C�	�	#�	#�M��	=�3��/�/�'��/�2��3��"�"�6�*�J��z�?�c�'�l�*�*�*��z�!�!�"�a�'�'�'�
 �B�
A�C�	�	#�	#�M��	=�6��9�9�$�$�W�1�$�5��6����(�,�,�R�0�2�2�G�4E�4E�b�4I�J��#���1��1�9�9�~��"�"�"�#�!3�3��6�6�s�D.�%D:�.D7�:Ec�j�|jd�}|jd��}|jjdk(sJ�|jdd��jd��}|jjdk7sJ�|ddgj	d�}|jjdk(sJ�|j	dd	d
��}|jjdk(sJ�|dj�}|jjdk(sJ�|dj	d�}|jjdk(sJ�|dj	dd	g�}|jjdk(sJ�d}tjt|��5|dj	dd	d
��ddd�y#1swYyxYw)NrT��numeric_onlyFr�r)r�rkr7�r)r�rbrV�r�r�)r4rkr,rjrxr|r}r)r?r�rr�s    r�test_frame_set_name_singlerZs����j�j��o�G�
�\�\�t�\�
,�F��<�<����#�#�#�
�Z�Z��e�Z�
,�
1�
1�t�
1�
D�F��<�<����#�#�#�
�c�3�Z�
 �
$�
$�V�
,�F��<�<����#�#�#�
�[�[�v�E�2�
3�F��<�<����#�#�#�
�S�\�
�
�
 �F��<�<����#�#�#�
�S�\�
�
�f�
%�F��<�<����#�#�#�
�S�\�
�
�v�u�o�
.�F��<�<����#�#�#�
,�C�	���)��	5�8��������6�7�8�8�8�s�F)�)F2c	��|d}|d}|j|j|jg�}|jd��}|jddg�j�}tj|j
dd�ddgf|j
dd�ddgfd��t
tjjd	�jd
�tjjd	�jd
�tjgd��tjgd��d
�gd���}|jddg�}|jd�y)NrrTrVr)r�Fr�r%��rrrrrr��1r_r_�2r`r`)�v1�v2�k1�k2)rcrdr��four�five�sixr+rcrdr\)
r4�getrkr:r;r�r	r8rprqr�r�rx)r?�col1�col2r�r�rs      r�test_multi_funcrk/s��
�c�7�D�
�c�7�D��j�j�$�(�(�D�H�H�-�.�G��L�L�d�L�+�E��z�z�3��*�%�*�*�,�H����
�	�	�!�c�3�Z�-� �(�,�,�q�3��*�}�"=�5��

��)�)�'�'��*�:�:�1�=��)�)�'�'��*�:�:�1�=��(�(�9�:��(�(�9�:�		
�=�
�B��j�j�$���&�G��K�K��rc���|jddg�d}|jddg�}t|jd�|jd�d��}tj||�y)Nrrr)rkr7)rkr7)r4rxr	r:r;)r?r�r�rs    r�!test_multi_key_multiple_functionsrmKs\���j�j�#�s��$�S�)�G��K�K����(�E��'�+�+�f�"5�g�k�k�%�>P�Q�R�H����%��*rc	���tgd�gd�tjjd�j	d�tjjd�j	d�tjjd�j	d�d��}|jddg�}dd	g}|j
|�}tj|d
j
|�|dj
|�|dj
|�ggd
�d��}t|jt�sJ�t|jt�sJ�tj||�y)N�r�r�r�r�r�r�r�r�r�r�r��rcrcrcrdrcrcrcrdrdrdrcr%�)rrr��E�Frrrkr7r�rrrs)r�rrrsrX)�keysr�)r	r8rprqr�r4rxr.�concat�
isinstancer,r
r:r;)rr��funcsr�rs     r�"test_frame_multi_key_function_listrxSs%��������&�&�q�)�9�9�"�=����&�&�q�)�9�9�"�=����&�&�q�)�9�9�"�=�;	
� �D�D�l�l�C��:�&�G�
�U�O�E��K�K���E��y�y�	���	�	�%�	 �'�#�,�"2�"2�5�"9�7�3�<�;K�;K�E�;R�S�
�
��H�
�e�k�k�:�.�.�.��h�n�n�j�1�1�1����%��*rc
��tgd�gd�gd�tjjd�j	d�tjjd�j	d�tjjd�j	d�d��}|jddg�}d	d
g}t
jd�}tjt|��5|j|�ddd�y#1swYyxYw)
Nrorp)�dullrz�shinyrzrzr{r{rzr{r{r{r%rq)rrr)r�rrrsrrrkr7�&agg function failed [how->mean,dtype->rV)r	r8rprqr�r4�re�escaper|r}�	TypeErrorrx)rr�rwr�s    r�2test_frame_multi_key_function_list_partial_failurer��s����������&�&�q�)�9�9�"�=����&�&�q�)�9�9�"�=����&�&�q�)�9�9�"�=�U+	
�-�D�^�l�l�C��:�&�G�
�U�O�E�
�)�)�<�
=�C�	���y��	,�����E�����s�$C?�?D�opc�"�|j�SrZr[rQs rrSrS�s��!�%�%�'�rc�"�|j�SrZr>rQs rrSrS�s��Q�V�V�X�rc
��|}|jddg�}||�}g}g}|jd�D][\}}|jd�D]B\}	}
|j||	f�|j||
jdd�ddgf���D�]tj|ddg��}tj|d��j}||_dD]C}
|||
�}||
}||
}tj||�tj||��E|dj|d|dg�j�}|jddg�j�d}tj||�y)	Nrrr)r��rrXr�rX)r4�appendr�r
�from_tuplesr.rur�r,r:ryrk)r?r�rr�r+rtr�n1�gp1�n2�gp2�mir�col�
result_col�pivoted�exprs                  r�test_groupby_multiple_columnsr��sx��
�D��l�l�C��:�&�G���k�G�
�D�
�F��<�<��$�6���C��{�{�3�'�	6�G�B���K�K��R��!��M�M�"�S�W�W�Q��c�
�]�3�4�5�	6�6�

�	�	��S�#�J�	7�B��y�y��a�(�*�*�H��H�N��-������%�
��#�,���s�m��
���z�3�/�
���w��,�-��#�Y�
�
��S�	�4��9�5�
6�
;�
;�
=�F��|�|�S�#�J�'�,�,�.�s�3�H����6�8�,rc��tddgddgddggddg��}|jdd	�
�djd�}tddgd��}t	j
||�|jdd	d�
�dj
d��}tgd�dtjgd����}t	j
||�y)NrXr%r�r$r\rr�r�Fr��rjT)r�rUc�"�|j�SrZ)�cumsumrQs rrSz-test_as_index_select_column.<locals>.<lambda>�s��!�(�(�*�r)r%r\r\))rr)rrXr��rjr,)	r	r4�	get_grouprr:ryrzr
r��r?rrs   r�test_as_index_select_columnr��s���	�Q��F�Q��F�Q��F�+�c�3�Z�	@�B�
�Z�Z��e�Z�
,�S�
1�
;�
;�A�
>�F��q�!�f�3�'�H����6�8�,�
�Z�Z��e��Z�
=�c�
B�
H�
H���F����:�#9�#9�:R�#S��H����6�8�,rc�j�d}tgd�gd�d��}|j|jd�jj	d�}tjt|��5|jd�jd|��}tj||�ddd�y#1swYyxYw)	Nzobj is deprecated�rXrXr%�rLr�r$rrr�rV)�obj)
r	r3r4rCrhr:rurvr�r;)r*r?rrs    r�!test_obj_arg_get_group_deprecatedr��s���"�H�	���3�	4�B��w�w�r�z�z�#��.�.�2�2�1�5�6�H�	�	#�	#�M��	B�0����C��*�*�1�"�*�5��
���f�h�/�0�0�0�s�'9B)�)B2c��ttgd�d����}|jdd��djd�	�}t|jdd
td���}dg|j_tj||�y)
Nr-�alphar�r�rF)�byr�rrVr%rr�)	r	rr4r\r�r6rr:r;)r?�leftrs   r�0test_groupby_as_index_select_column_sum_empty_dfr��sr��	�5��w�?�	@�B�
�:�:��u�:�-�c�2�6�6�E�6�J�D�����B�Q��u�Q�x�@�H�"�V�H�������$��)rc���|jdd��}|ddgjd�}|jd��}tj||�|jdd	d
��}|jd��}|j�d|d<tj||�|jdd��}d}t
jt|��5|djd
d	i�ddd�|jddgd��}|jd�}|j�}tj||�|jdd	d
��}|j�}|j�d|d<tj||�|dj�}t|�jdd
i��}d}tjt|��5|djd
d	i�}ddd�tj|�ttjjd�j!ddd�gd���}t#tjjd�j!ddd�d��}	|j|	�}
|
j%d�d}tjt|d��5|
j't
�}ddd�tjt|d��5|j|	�j't
�}ddd�tj�dD]z}
|j|	d��}
t)|
|
��}|j|	j*d��}
t)|
|
��j-d��}tj||��|y#1swY���xYw#1swY���xYw#1swY��xYw#1swY��xYw)NrFr�r)r�rkTrVr\rXrbrV�Qrr�z7Passing a dictionary to SeriesGroupBy.agg is deprecatedr%r�d)�2rL)�jim�joe�jolier$rer�r�r�z:The behavior of DataFrame.sum with axis=None is deprecated)rW�check_stacklevel)rk�max�countr�r�rF��drop)r4rxrkr:r;r\r|r}rr	�renamerurvr8rprq�integersr�nthrzr7r�reset_index)r?r�rrr,�	expected2r��	expected3�result3r��grr��alt�attrr��rights                r�test_groupby_as_index_aggr�s^���j�j��u�j�-�G��c�3�Z�
 �
$�
$�V�
,�F��|�|��|�.�H����&�(�+��k�k��U�3�4�G����$��/�I��[�[�]�3�'�I�c�N����'�9�-��j�j��t�j�,�G�
,�C�	���)��	5�'������#�u��&�'�
�j�j�#�s��e�j�4�G�
�[�[��
 �F��|�|�~�H����&�(�+��k�k��U�3�4�G�����I��[�[�]�3�'�I�c�N����'�9�-���� � �"�I��)�$�+�+�S�#�J�+�?�I�
C�C�	�	#�	#�M��	=�1��#�,�"�"�C��<�0��1����'�9�-�
�
�	�	���a� �)�)�!�S�'�:�'�
�B�
��	�	�%�%�a�(�1�1�!�R��<�5�	I�B�	���B��B��F�F�1�I�
F�C�	�	#�	#�M��u�	U���h�h�s�m���	�	#�	#�M��u�	U�(��j�j��n�"�"�3�'��(����#�s�#�C�+��
�Z�Z��U�Z�
+�� �w�r�4� �"��
�Z�Z��	�	�D�Z�
1��!���D�!�#�/�/�T�/�:��
���d�E�*�+�Q'�'��&1�1�����(�(�s0�O�O�	O �%O-�O�O� O*�-O6c��|dvrtjd|���ttjjd�j
ddd��dd	g�
�}t|jd�|��}|dk(r|jd�}|j�}|dk7r$|dj|dj�|d<|jdd�
�}t||��}tj||�|j|�}tj||�t|d	|��}tj||�|d	j|�}tj||�y)N)�corrwithr��ngroupz!GH 5755: Test not applicable for r%rr$)r�r%)�sizerrr�r�Fr�)r|�skipr	r8rprqr�r7r4r�r�r�rEr:r;rx)�reduction_funcr?rr�rs     r�test_ops_not_as_indexr�CsU���6�6����7��7G�H�I�	�
�	�	���a� �)�)�!�Q�X�)�>��c�
�
�B�8�w�r�z�z�#���7�9�H�����?�?�6�*���#�#�%�H���� ��
�,�,�R��W�]�]�;���
�
�
�
�3��
�'�A�
'�W�Q��
'�
)�F����&�(�+�
�U�U�>�
"�F����&�(�+�
,�W�Q�s�V�^�
,�
.�F����&�(�+�
�s�V�Z�Z��
'�F����&�(�+rc�L�|jdd��}|jddgd��}|djd�}|jd�jdd�ddgf}t|t�sJ�tj||�|djd�}|jd�jdd�gd�f}t|t�sJ�tj||�|dj�}|j�jdd�ddgf}t|t�sJ�tj||�|dj�}|j�jdd�gd�f}t|t�sJ�tj||�y)NrFr�rr)r\r-)r4rxr�rvr	r:r;r\)r?r��grouped2rrr,r�s       r�!test_as_index_series_return_framer�esn���j�j��u�j�-�G��z�z�3��*�u�z�5�H�
�S�\�
�
�e�
$�F��{�{�5�!�%�%�a�#�s��m�4�H��f�i�(�(�(����&�(�+��s�m����&�G����U�#�'�'��?�(:�;�I��g�y�)�)�)����'�9�-�
�S�\�
�
�
�F��{�{�}� � ��S�#�J��/�H��f�i�(�(�(����&�(�+��s�m���!�G�����"�"�1�o�#5�6�I��g�y�)�)�)����'�9�-rc��|jdd��}d}tjt|��5|dj	d�ddd�y#1swYyxYw)NrFr�zColumn\(s\) C already selectedrVr)r�)r4r|r}�
IndexError�__getitem__)r?r�r�s   r�(test_as_index_series_column_slice_raisesr�~sN���j�j��u�j�-�G�
+�C�	���z��	-�&���� � ��%�&�&�&�s�A�Ac��|}|jdd��}|jd��}|jdg�jd��}|jdd|j�t	t|��|_t
j||�|jddgd��}|j�}|jddg�j�}tt|jj��}|jdd|d�|jdd|d�t	t|��|_t
j||�y)	NrFr�TrVrrrX)r4rk�insertr,rrtr:r;r5�zipr)r?rr�rr�arrayss      r�test_groupby_as_index_cythonr��s��
�D��l�l�3��l�/�G�
�\�\�t�\�
,�F��|�|�S�E�"�'�'�T�'�:�H��O�O�A�s�H�N�N�+���H�
�.�H�N����&�(�+��l�l�C��:��l�6�G�
�\�\�^�F��|�|�S�#�J�'�,�,�.�H�
�#�x�~�~�,�,�-�
.�F��O�O�A�s�F�1�I�&��O�O�A�s�F�1�I�&���H�
�.�H�N����&�(�+rc���|jddgd��}|djt�}|jt�jdd�gd�f}t	j
||�y)NrrFr�r)r-)r4rxrtr�r:r;�r?r�rrs    r�#test_groupby_as_index_series_scalarr��s\���j�j�#�s��e�j�4�G��S�\�
�
�c�
"�F��{�{�3��#�#�A��$6�7�H����&�(�+rc��d}tjt|��5|jd�d��ddd�d}d}tjt|��5tjt|��5|jd�dd	�
�ddd�ddd�y#1swY�kxYw#1swY�xYw#1swYyxYw)Nz(as_index=False only valid with DataFramerVc�"�|j�SrZr0rQs rrSz.test_groupby_as_index_corner.<locals>.<lambda>�s��Q�Y�Y�[�rFr�z$as_index=False only valid for axis=0rNc�"�|j�SrZ)�lowerrQs rrSz.test_groupby_as_index_corner.<locals>.<lambda>�s������rrX)r�r�)r|r}rr4�
ValueErrorr:rurv)r?r�r�r*s    r�test_groupby_as_index_cornerr��s���
4�C�	���y��	,�:�
�
�
�(�5�
�9�:�1�C�<�H�	���z��	-�D�
�
'�
'�
�X�
F�	D��J�J�*�U��J�C�	D�D�D�:�:��	D�	D��D�D�s/�B�B5�6B)�B5�B&�)B2	�.B5�5B>c	�x�ttjjd�j	d�tt
d�t��tddd���	�}|jd
�d�d�g�}|j�}tj|j|j�d
}tjt|��5|j jd�d�d�gd��}ddd�|j#d��}tj$|j&|j(�tj|j j|j�|j#d��}tj|j j|j�y#1swY��xYw)Nr%r�r�r�r�rerr�r�c��|jSrZr�rQs rrSz+test_groupby_multiple_key.<locals>.<lambda>�r�rc��|jSrZr�rQs rrSz+test_groupby_multiple_key.<locals>.<lambda>�r�rc��|jSrZr�rQs rrSz+test_groupby_multiple_key.<locals>.<lambda>�r�rrNrVc��|jSrZr�rQs rrSz+test_groupby_multiple_key.<locals>.<lambda>�s
��q�v�v�rc��|jSrZr�rQs rrSz+test_groupby_multiple_key.<locals>.<lambda>��
�����rc��|jSrZr�rQs rrSz+test_groupby_multiple_key.<locals>.<lambda>�s
��A�E�E�rrXr�c�"�|j�SrZr[rQs rrSz+test_groupby_multiple_key.<locals>.<lambda>����!�%�%�'�rc�"�|j�SrZr[rQs rrSz+test_groupby_multiple_key.<locals>.<lambda>�r�r)r	r8rprqr�rr5r�rr4r\r:�assert_almost_equalrrurvr�rx�assert_index_equalr,r�)r?r�r�r*s    r�test_groupby_multiple_keyr��s=��	�
�	�	���a� �0�0��9��d�6�l�&�1���r��<�
�B�
�j�j�*�,=��O�P�G��K�K�M�E����2�9�9�e�l�l�3�<�H�	�	#�	#�M��	B�
��$�$�,�,�
�0�/�B���
��
�

�K�K�)�*�E����%�+�+�r�z�z�2����2�4�4�;�;����5��K�K�)�*�E����2�4�4�;�;����5�
�
�s�
$F0�0F9c� �|j�}tj|d<|jddg�j	�}|jddg�j	�}tj|d<tj||�y)N�badrr)r1r8r�r4rkr:r;)r?r�rs   r�test_groupby_multi_cornerr��sm��	����B����B�u�I��J�J��S�z�"�'�'�)�E��z�z�3��*�%�*�*�,�H��f�f�H�U�O����%��*rc���|jd�}tjd�}tjt
|��5|j
d�ddd�tjt
|��5|j�ddd�|jdd�gd�f}tj�|d<|jd�}d}tjt
|��5|j
d�ddd�tjt
|��5|j�ddd�d	}tjt|��5|jd
d
ddd�d�
�}ddd�d}tjt
|��5|j
d��ddd�y#1swY��]xYw#1swY��6xYw#1swY��xYw#1swY��xYw#1swY�txYw#1swYyxYw)Nrr|rVrk�rr)r�rrz/datetime64 type does not support sum operationsr\rNrrX)rr)r�rrr�z does not support reduction 'sum'c�(�|jdd��S)NrFrVr[rQs rrSz)test_raises_on_nuisance.<locals>.<lambda>�s��a�e�e�A�E�e�:�r)r4r}r~r|r}rrxrkr�r�nowr\r:rurv)r?r�r�r*s    r�test_raises_on_nuisancer��s����j�j��o�G�
�)�)�<�
=�C�	���y��	,�����F���	���y��	,�������
����?�"�	#�B��l�l�n�B�s�G��j�j��o�G�
;�C�	���y��	,�����E���	���y��	,�����
��=�H�	�	#�	#�M��	B�G��*�*�1�1�1�1�=�A�*�F��G�
,�C�	���y��	,�<����:�;�<�<�'������������
G�G��<�<�sH�F/�7F<�*G	�G�G!�G-�/F9�<G�	G�G�!G*�-G6�agg_functionr��minc�`�|jd�}t||��}|j�}t|j|ddk(df|��|jd<t|j|ddk(df|��|jd<t	j
||�y)Nrr�r)r�rr�)r�r)r4r7r1r�r:r;)r?r�r�rrs     r�test_keep_nuisance_aggr��s����j�j��o�G�
+�W�W�l�
+�
-�F��{�{�}�H�S�w�r�v�v�b��g��.>��.C�'D�l�S�U�H�L�L���S�w�r�v�v�b��g��.>��.C�'D�l�S�U�H�L�L������&�(�+r)r\rk�prodr7�var�sem�medianrWc���|jd�}d}||vrb|s`|dvr	t}d}nt}tjd|�d��}tj||��5t||�|��ddd�yt||�|��}|s
|d	k(rgd
�}ngd�}t|jdd�|fjd�|�|��}	tj||	�y#1swYyxYw)Nr)r�r7r�rkr�r�)r7r�z(could not convert string to float: 'one'zagg function failed [how->z,dtype->rVrVr\r�r�)r4r�rr}r~r|r}r7r�r:r;)
r?r�rWr��no_drop_nuisance�klassr�rr�rs
          r�test_omit_nuisance_aggr�s����j�j��o�G�F���'�'���>�)��E�<�C��E��)�)�8���h�O�P�C�
�]�]�5��
,�	F�*�G�G�\�*��E�	F�	F�0���,�/�\�J����� 5�*�G�%�G�I�7�2�6�6�!�W�*�-�5�5�c�:�L�I�%�
��	���f�h�/�	F�	F�s�C'�'C0c��|jd�}tjtd��5|j	�ddd�y#1swYyxYw)Nrzcould not convertrV)r4r|r}r��skew)r?r�s  r�$test_raise_on_nuisance_python_singler�"s<���j�j��o�G�	���z�)<�	=���������s�A�Ac�V�|jddg�}tjd�}tjt
|��5|j
d�ddd�tjt
|��5|j�ddd�y#1swY�>xYw#1swYyxYw)Nrrr|rVrk)r4r}r~r|r}rrxrk)�three_groupr�r�s   r�&test_raise_on_nuisance_python_multipler)s����!�!�3��*�-�G�
�)�)�<�
=�C�	���y��	,�����F���	���y��	,�������������s�B�9B�B�B(c	��ttjgd��tjgd��ddgdztjj	d�jd�tjj	d�jd�d��}|j
d	d
g�}|ddgjd
�}|jd��}tj||�|ddj
d��}|jd��}|djd
�}tj|d|�|jjdk(sJ�y)Nr]r^r�r�rLr%r\)rcrd�k3rarbrcrdrarbrkTrVr$r�rc�"�|j�SrZr>rQs rrSz*test_empty_groups_corner.<locals>.<lambda>Ds��A�F�F�H�rrr�)r	r8r�rprqr�r4rxrkr:r;rzryr,rj)r�r?r�rrr��agged_As       r�test_empty_groups_cornerr2s'��	��(�(�9�:��(�(�9�:��%�.�1�$��)�)�'�'��*�:�:�1�=��)�)�'�'��*�:�:�1�=�	
�
�B��j�j�$���&�G�
�d�D�\�
"�
&�
&�v�
.�F��|�|��|�.�H����&�(�+�.�q��3�;�;�!�;�D�G��M�M�,�-�E��c�l� � ��(�G����5��:�w�/��;�;���w�&�&�&rc��tdg�}d}tjt|��5|j	d��ddd�y#1swYyxYw)Nrz5unsupported operand type\(s\) for \+: 'int' and 'str'rVc��|dzS)Nr�rPrQs rrSz$test_nonsense_func.<locals>.<lambda>Ns
��Q��Y�r)r	r|r}rr4)r?r�s  r�test_nonsense_funcr	JsB��	�A�3��B�
B�C�	���y��	,�(�
�
�
�&�'�(�(�(�s�A�Ac��|j}d|d<tjgd��tjgd��g}tjd�}tjt|��5|j|�jd�ddd�|jd��j|�jd�}t|jt�sJ�d�}tjtd	��5|j|�j|�ddd�y#1swY��xYw#1swYyxYw)
N�peekaboo)�bazrd�rrrXr|rVrkr�c�V�|jdk(rtd��|j�S)N)r�rc�Test error message)rjrr\)r>s r�aggfunz5test_wrap_aggregated_output_multindex.<locals>.aggfun\s&���8�8�~�%��0�1�1��w�w�y�rr)r�r8r�r}r~r|r}rr4rxr�rvr�r
rw)r�r?rtr�r�rs      r�%test_wrap_aggregated_output_multindexrQs���	)�	+�	+�B�!�B�|���H�H�Y�����)�!4�5�D�
�)�)�<�
=�C�	���y��	,�%�
�
�
�4����V�$�%��G�G�N�G�+�3�3�D�9�=�=�f�E�E��e�m�m�Z�0�0�0��

���y�(<�	=�+�
�
�
�4��"�"�6�*�+�+�%�%��+�+�s�0!D-�!D9�-D6�9Ec�l�|jd��j�}|jjdk(sJ�|jd��j�}|jjdk(sJ�|djd��j�}|jjdk(sJ�y)Nrrr�rX�secondr)r4r�r,rj)r�rs  r�test_groupby_level_applyres���
-�
5�
5�A�
5�
>�
D�
D�
F�F��<�<����'�'�'�
-�
5�
5�A�
5�
>�
D�
D�
F�F��<�<����(�(�(�
-�c�
2�
:�
:��
:�
C�
I�
I�
K�F��<�<����'�'�'rc��|j�}ddddd�}dddd�}|j|d��j�}|j|d��j�}tj|dD�cgc]}|j|���c}tj��}tj|dD�cgc]}|j|���c}tj��}|j|�j�}	|j|�j�}
d	\|	j_|
j_tj||	�tj||
�ycc}wcc}w)
NrrX)r�r�r�qux)rcrdr�rr�r�r)r�r)r�r4r\r8r�rhrFr,rjr:r;)r��	deleveled�mapper0�mapper1�result0r+rR�
mapped_level0�
mapped_level1�	expected0�	expected1s           r�test_groupby_level_mapperros<��0�<�<�>�I���!�A�6�G���A�.�G�.�6�6�w�a�6�H�L�L�N�G�.�6�6�w�a�6�H�L�L�N�G��H�H�!*�7�!3�4�A����Q��4�B�H�H��M��H�H�!*�8�!4�5�A����Q��5�R�X�X��M�1�8�8��G�K�K�M�I�0�8�8��G�K�K�M�I�1B�.�I�O�O��)�/�/�.����'�9�-����'�9�-��	5��	6s�6E8�;E=c	�h�tgd�tgd�d���}tgd�ttdd�d���}|jd�	�j	�}tj||�|jdg�	�j	�}tj||�|jd
�	�j	�}tj||�|jd
g�	�j	�}tj||�d}tjt|��5|jd�	�ddd�tjt|��5|jd
�	�ddd�d}tjt|��5|jg�	�ddd�d}tjt|��5|jddg�	�ddd�tjt|��5|jddg�	�ddd�d}tjt|��5|jdg�	�ddd�y#1swY��$xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�txYw#1swYyxYw)N)rXr%rLrer�r$rfr\)rXr%rLrXr�r$r%r\r�r�)rq�rLr�r$r\rXr^rrr*z2level > 0 or level < -1 only valid with MultiIndexrV���zNo group keys passed!z*multiple levels only valid with MultiIndex)
rrr6r4r\r:ryr|r}r�)�srrr�s    r�test_groupby_level_nonmultir$�s#���)�5�1I�PU�+V�W�A��*�E�%��1�+�E�,J�K�H�
�Y�Y�Q�Y�
�
#�
#�
%�F����6�8�,�
�Y�Y�a�S�Y�
!�
%�
%�
'�F����6�8�,�
�Y�Y�R�Y�
 �
$�
$�
&�F����6�8�,�
�Y�Y�b�T�Y�
"�
&�
&�
(�F����6�8�,�
>�C�	���z��	-��	�	�	��	���	���z��	-��	�	�	��	���
!�C�	���z��	-��	�	�	��	���
6�C�	���z��	-� �	�	�	��A��	�� �	���z��	-� �	�	�	��A��	�� �
>�C�	���z��	-��	�	�	���	������������� � �� � ����sH�6I+�,I8�$J�J�J�J(�+I5�8J�J
�J�J%�(J1c���ttjd�dzgd���}td�}|jd��j	�}tj||�y)Nr���?@)rrrXrX�rr,)r&y@$@rr)rr8r9r4r\r:ry)rrrs   r�test_groupby_complexr(�sO���B�I�I�a�L�F�+�<�@�A��'�(�H�
�Y�Y�Q�Y�
�
#�
#�
%�F����6�8�,rc���tddd�ddd�ddd�g�}|jd�j�}tdgdggtddgd�	�td
g���}t	j
||�y)Nr%r&rrX��?�?rr��?r�r�r,r�)r	r4rkrr:r;r�s   r�test_groupby_complex_meanr-�s���	��&�!��&�!��&�!�	
�
�B��Z�Z��_�
!�
!�
#�F��

������f��(�s�3��s�e���H�
���&�(�+rc���tddd�ddd�ddd�g�}|rdnt}ttjgd�tj��tgd	�d
��tdg|���
�}|j
d
d��j�}tj||�tgd�d
��|_
|j
d
d��j�}tj||�y)NrXr*rr&r��string[pyarrow_numpy])rXrXrXr�)r*r&��?rr�rr,F��sort)r0r*r&T)r	r�r8r�rFrr4r�r:r;r,)�using_infer_stringr?rErrs     r�test_groupby_complex_numbersr4�s���	��&�!��&�!��!��	
�
�B�(:�#�v�E��
����"�(�(�+��2��=��s�e�5�)��H�
�Z�Z��%�Z�
(�
.�
.�
0�F����&�(�+��9��D�H�N�
�Z�Z��$�Z�
'�
-�
-�
/�F����&�(�+rc�^�tgd�tgd����}tgd�tgd����}|j|�}|j�}|j|j	|j
�j�j�}tj||�y)N)�@g"�rgY@g�g�K@g������@)rrr�dr�r�r�r+)rrrr6r6g@)rrr7r�r��h)	rrr4rkrsr,rhr:ry)�s1�s2r�r�r�s     r�'test_groupby_series_indexed_differentlyr;�s���	�0��7�8�
�B�
�&�e�4R�.S�
�B��j�j��n�G��L�L�N�E�
�*�*�R�Z�Z����)�-�-�
.�
3�
3�
5�C����5�#�&rc��ttgd�gd�g��}tj|�}tjgd��}t	t
jjd�jd�||��}|jd��j�}tj|j|�d	}tjt|�
�5|jdd��}ddd�j�}tj|j |j �|jd��j#d
�}tj|j|�|jd��j%d��}tj|j|�tjt|�
�5|jdd��}ddd�|j#d��}tj|jt'ddg��tj|j |j �|j)d�\}}d|d<|jd��jd��}tj|j|jdd�y#1swY���xYw#1swY��xYw)N)r�r�rrr�r�rr)rcrdrcrdrcrdrcrd))r�cat)r�dog)rr=)rr>r%)r�r�r,rrrNrVrX)rr�rkc�"�|j�SrZr>rQs rrSz0test_groupby_with_hier_columns.<locals>.<lambda>s������rc�$�|jd�S)NrXr>rQs rrSz0test_groupby_with_hier_columns.<locals>.<lambda>
s��a�f�f�Q�i�rrrr�)rr�TrVr*)r5r�r
r�r	r8rprqr�r4rkr:r�r�rurvr,rxrzr�	sortlevel)	�tuplesr,r�r?rr*r@�sorted_columns�_s	         r�test_groupby_with_hier_columnsrE�s5��
��H�H��	
��F�
�"�"�6�*�E��$�$�@��G�
�
�	�	���a� �0�0��8��w�
�B��Z�Z�a�Z�
 �
%�
%�
'�F����&�.�.�'�2�<�H�	�	#�	#�M��	B�)�
�Z�Z�a�a�Z�
(��)�
�W�W�Y�F����&�,�,����1�
�Z�Z�a�Z�
 �
$�
$�V�
,�F����&�.�.�'�2�
�Z�Z�a�Z�
 �
&�
&�'9�
:�F����&�.�.�'�2�	�	#�	#�M��	B�)�
�Z�Z�a�a�Z�
(��)�
�V�V�'�
(�F����&�.�.�%��c�
�*;�<����&�,�,����1� �)�)�!�,��N�A��B�z�N�
�Z�Z�a�Z�
 �
%�
%�4�
%�
8�F����&�.�.�"�*�*�S�b�/�:�+)�)��)�)�s�J;�K�;K�Kc���|j|dj�}|j�}|j|djd��j�}t	j
||�y)Nr)r4rr\r�r:r;r�s    r�test_grouping_ndarrayrGsW���j�j��C����(�G�
�[�[�]�F��z�z�"�S�'�.�.��.�/�3�3�5�H����&�(�+rc���tgd�d��}tgd�gd�gd�gd�gd�d	�|�
�}|jgd��}|jd�}|j	�}tj||�y)
N�rrXr%rLr�r,r�)�foo1rJ�foo2rJ�foo3)�bar1�bar2rNrMrM)�baz1rOrO�baz2rP)�spam2�spam3rQ�spam1rS)rfrg�(r��<)r�r�r�spamrr+)r�r�rrVrk)rr	r4rxrkr:r;)r,rr�rrs     r�test_groupby_wrong_multi_labelsrWsk���/��0�E��;�;�;�A�(�	
��	�D��l�l�8�9�G�
�[�[��
 �F��|�|�~�H����&�(�+rc���|j|d�jd��}|j|dd��jd��}|jjdk(sJ�d|vsJ�|j|d|dg�j�}|j|d|dgd��j�}|jjdk(sJ�d|vsJ�d|vsJ�y)NrTrVFr�r�rr)r4rkr,rjr)r?rr,s   r�test_groupby_series_with_namerZ0s���
�Z�Z��3��
 �
%�
%�4�
%�
8�F��j�j��C��5�j�1�6�6�D�6�I�G��<�<����#�#�#��'�>��>�
�Z�Z��C��"�S�'�*�
+�
0�
0�
2�F��j�j�"�S�'�2�c�7�+�e�j�<�A�A�C�G��<�<����+�+�+��'�>��>��'�>��>rc���|jd�d}|j�jdk(sJ�|j�jdk(sJ�d�}|j	|�jdk(sJ�y)Nrr)c�2�tj|�dzSro)r8r\rQs rrSz.test_seriesgroupby_name_attr.<locals>.<lambda>Cs�������Q��r)r4r�rjrkrx)r?r�testFuncs   r�test_seriesgroupby_name_attrr^=sj��
�Z�Z��_�S�
!�F��<�<�>���#�%�%�%��;�;�=����$�$�$�&�H��:�:�h��$�$��+�+�+rc��tgd�gd�tjjd�j	d�dztj
d�d��}|j
dg�jj�}|jj
|j�j�}tj||�y)Nr�)rcrcrdrdrdrdrcrdr%r�rr�r)r	r8rprqr�r9r4rr�rr:ry�r?rrs   r�test_consistency_nameraGs���
�I�I����&�&�q�)�9�9�!�<�s�B����1��		
�
�B��z�z�3�%� �"�"�(�(�*�H�
�T�T�\�\�"�$�$�
�
%�
%�
'�F����6�8�,rc��dd�}d�}d}tjt|��5|jd�j	|�}ddd�j
j�J�tjt|��5|jd�j	|d�}ddd�|j
jdk(sJ�tjt|��5|jd�j	|�}ddd�|j
j�J�y#1swY��xYw#1swY��xYw#1swY�:xYw)Nc�$�tdddd�|��S)NrXr%rL�r�rk�	omissionsr�)r)r?rjs  r�	summarizez0test_groupby_name_propagation.<locals>.summarizeZs����1�1�=�D�I�Irc�D�tdddd�|jdd��S)NrXr%rLrdrrr�)rr3rs r�summarize_random_namez<test_groupby_name_propagation.<locals>.summarize_random_name]s$����1�1�=�B�G�G�A�J�s�O�T�Trr�rVr�metricsrZ)r:rur�r4rzr�rj)r?rfrhr�ris     r�test_groupby_name_propagationrjXs��J�U�D�C�	�	#�	#�$6�c�	B�3��*�*�S�/�'�'�	�2��3��?�?���'�'�'�	�	#�	#�$6�c�	B�>��*�*�S�/�'�'�	�9�=��>��?�?���9�,�,�,�	�	#�	#�$6�c�	B�?��*�*�S�/�'�'�(=�>��?��?�?���'�'�'�3�3��>�>��?�?�s#�!D#�"D/�!!D;�#D,�/D8�;Ec�*�ttd�D�cgc]}tjd���c}�}|j	d�}|j�}|j	|d�j�}t
j||�ycc}w)Nrer)r	r6r8r9r4rkr:r;)rRr?r�rrs     r�test_groupby_nonstring_columnsrlosk��	�5��9�5�a�B�I�I�b�M�5�	6�B��j�j��m�G�
�\�\�^�F��z�z�"�Q�%� �%�%�'�H����&�(�+��	6s�Bc�:�tgd�ggd���}tddggddgtdgd�	��
�}|jd�j�}t	j
||�|jd�j
�}t	j
||�y)Nrh)rrrr�rXr%rrrr�r�)r	rr4r�r:r;r\r`s   r�test_groupby_mixed_type_columnsrnws}��	�I�;�
�	6�B��1�a�&��C��8�5�!��3�;O�P�H�
�Z�Z��_�
"�
"�
$�F����&�(�+�
�Z�Z��_�
 �
 �
"�F����&�(�+rc�j�tjd�}|jtj�t	|dd�df�}tj
t
d�d�}|j|�jtj�}|j�j�sJ�y)N)r�r�rre)r8r�fillr�r�tiler6r4rxr��isnarF)�arrr��indsrs    r�(test_cython_grouper_series_bug_noncontigru�s{��
�(�(�:�
�C��H�H�R�V�V��
��Q��T��
�C�
�7�7�5��9�b�!�D�
�[�[��
�
"�
"�6�=�=�
1�F��;�;�=�����rc�J�tdgdz�}ttjj	d�jd�|ddd���}tjj	d�j
ddd�}|j|�}d�}|j|�y)	N�
aaaaaaaaaar�r%r�r+rr$c�Z�tttt|j���SrZ)rt�set�map�idr,rQs rrSz5test_series_grouper_noncontig_index.<locals>.<lambda>�s��#�c�#�b�!�'�'�*�+�,�r)	rrr8rprqr�r�r4rx)r,rrr�r�s     r�#test_series_grouper_noncontig_indexr|�s����8�*�s�"�#�E�
�B�I�I�)�)�!�,�<�<�R�@��c�PQ�c�
�
S�F�
�Y�Y�
"�
"�1�
%�
.�
.�q�!�R�
8�F��n�n�V�$�G�	-�A��K�K��Nrc���ttd��}tjgd�d��}d�}d�}|j	|�}|j|�}|jtjk(sJ�t|jdt�sJ�|j|�}|jtjk(sJ�t|jdt�sJ�y)Nr$)rrrr7r�r�r�c�F�tt|j���SrZ)r�strrkrQs r�convert_fastz>test_convert_objects_leave_decimal_alone.<locals>.convert_fast�s���s�1�6�6�8�}�%�%rc��t|jj�dkDsJ�tt	|j���Sr�)rtr�baserrrkrQs r�convert_force_purezDtest_convert_objects_leave_decimal_alone.<locals>.convert_force_pure�s2���1�8�8�=�=�!�A�%�%�%��s�1�6�6�8�}�%�%rr)rr6r8r�r4rxrE�object_rvr3r)r#rr�r�r�rs      r�(test_convert_objects_leave_decimal_aloner��s����u�Q�x��A�
�X�X�/�s�
;�F�&�&�
�i�i���G�
�[�[��
&�F��<�<�2�:�:�%�%�%��f�k�k�!�n�g�.�.�.�
�[�[�+�
,�F��<�<�2�:�:�%�%�%��f�k�k�!�n�g�.�.�.rc�f�tgtjdd��d��}|djtjk(sJ�|jd�j
�}tgdtj��}tdtg|d��i�}tj||d	�
�y)NrrFr�)rRr6rR�rjrEr6rMT)�	by_blocks)r	r8r9rErHr4r�rrr:r;)r?r�	exp_indexrs    r�"test_groupby_dtype_inference_emptyr��s���	��b�i�i���&A�B�	C�B�
�c�7�=�=�B�J�J�&�&�&�
�Z�Z��_�
"�
"�
$�F��b�s�"�*�*�5�I��'�6�"�I�W�#M�N�O�H����&�(�d�;rc���tdgdgdgd��}|jddg�dj�}tdgt	j
dgdggddg��d��}t
j||�y)	NrXl4;PU�)r�rr�r�rr�r�r�)r	r4r�rr
�from_productr:ryr�s   r�$test_groupby_unit64_float_conversionr��s~��	�a�S�Q�C�;O�:P�Q�	R�B�
�Z�Z��(�+�
,�W�
5�
9�
9�
;�F��	�����!��q�c�
�7�H�2E�F�
��H�
���6�8�,rc��|jt|d��jd��}|j|d�jd��}tj||d��tjtd��5|jt|ddd��ddd�td	d
gddgtjjd
�jd
�d��}|jddg�j�}|j|d|dg�j�dg}y#1swY��xYw)NrTrVFr�z^'foo'$rVr*rrXrLr�r%)r�r��valr�r�r�)
r4r5rkr:r;r|r}�KeyErrorr	r8rprqr�r�s   r�"test_groupby_list_infer_array_liker��s��
�Z�Z��R��W�
�
&�
+�
+��
+�
>�F��z�z�"�S�'�"�'�'�T�'�:�H����&�(��>�	���x�z�	2�'�
�
�
�4��3�����%�&�'�
��q�6��q�6��9�9�(�(��+�;�;�A�>�	
�
�B��Z�Z����
'�
,�
,�
.�F��z�z�2�e�9�b��i�0�1�6�6�8�%��A�H�'�'�s�!D:�:Ec�F�d}ttd�d|��}tddgddggd	d
g|��}|jt	d|�
�d	g�j�}|j
|jd	g�jt�}tj||�y)Nr#z2015-09-29T11:34:44-0700r%)�startr#r�rrer��metricrr�r)rr�)rrr	r4r
rkrr,r�rr:r;)r�r,r?rrs     r�$test_groupby_keys_same_size_as_indexr��s����D���2�3�Q�T�
�E�
�S�"�I��R�y�)�H�h�3G�u�	U�B�
�Z�Z��q�t�4�h�?�
@�
E�
E�
G�F��|�|�R�X�X�x�0�1�8�8��?�H����&�(�+rc��d}ttjjd�j	d�td���}t
jt|��5|jd�ddd�ttjjd�j	d�td���}t
jt|��5|jd�ddd�y#1swY��xYw#1swYyxYw)	Nz^'Z'$r%)rXr�r�r�rV�Z)r%r�)
r	r8rprqr�r5r|r}r�r4)r��df1r)s   r�test_groupby_one_rowr��s���
�C�
�
�	�	���a� �0�0��8�$�v�,��C�
���x�s�	+�����C���
�
�	�	���a� �0�0��8�$�v�,��C�
���x�s�	+�����C�������
��s� C2�C>�2C;�>Dc
�4	�ttjjd�j	d�tj
t
d�tj
t
d�tj
t
d�tj
t
d�gtj
dtj
dtj
dtj
dgd��}|jd�}td	d
g�tddg�g}t|jj��}t|�dk(sJ�t||�D](\}}tj|j||��*tj |j"j$d
j&|�|j(dk(sJ�t
d�tj*d	d
gtj,��t
d�tj*ddgtj,��i}|j.D](}tj0|j.|||��*tj |j3t
d��|j4d	d
g�tj |j3t
d��|j4ddg�t7j8t:d��5|j3t<j>�ddd�ttj
tj
tj
gt<j>t<j>t<j>gd��}|dj@dk(sJ�|dj@dk(sJ�dD]�}|j|�}|jik(sJ�|j(d
k(sJ�|j.ik(sJ�t7j8t:d��5|j3tj
�ddd�t7j8t:d��5|j3t<j>�ddd���y#1swY��lxYw#1swY�\xYw#1swY��xYw)Nr%r�z
2013-01-01z
2013-02-01rr)r�dtrr�rXr^rLr$rz2013-01-01 00:00:00r�z2013-02-01 00:00:00z^NaT$rV)r��natr�rHr�zdatetime64[ns]z^nan$)!r	r8rprqr�r�rr4r�sortedrBrtrtr�r:r�r;�_grouperr	r��ngroupsr��intprC�assert_numpy_array_equalr�r3r|r}r�r.r2rE)r?r�rrtr�r��nan_dfrs        r�test_groupby_nat_excluder��s���	��i�i�+�+�A�.�>�>�q�A�����,�'�����,�'�����,�'�����,�'�	��F�F�C�����b�f�f�c�2�6�6�3�G�
	
�
�B� �j�j���G��q�!�f�
�u�a��V�}�-�H��'�.�.�%�%�'�(�D��t�9��>��>��D�(�#�4���1�	���g�n�n�Q�/��3�4����'�*�*�4�4�Q�7�;�;�R�@��?�?�a����	�'�(�"�(�(�A�q�6����*I��'�(�"�(�(�A�q�6����*I��H�
�_�_�E��
�#�#�G�O�O�A�$6����D�E����'�+�+�I�l�,C�D�b�g�g�q�RS�f�o�V����'�+�+�I�l�,C�D�b�g�g�q�RS�f�o�V�	���x�x�	0�"����"�&�&�!�"�����������(�"�&�&�"�&�&�"�&�&�1I�J��F��%�=���)�+�+�+��%�=���"2�2�2�2��&���.�.��%���~�~��#�#�#����!�#�#�#����"�$�$�$�
�]�]�8�8�
4�	&����b�f�f�%�	&�
�]�]�8�8�
4�	&����b�f�f�%�	&�	&�&�"�"��	&�	&��	&�	&�s$�+ Q5� R�
 R�5Q?�R	�R	c���ttjtjgtjtjgddgd��}|jddg�j}|ik(sJ�y)NrXr%r'rr)r	r8r�r4rC�r?rs  r�#test_groupby_two_group_keys_all_nanr�9sU��	�"�&�&�"�&�&�)�������0@��1�v�N�	O�B�
�Z�Z��c�
�
#�
+�
+�F��R�<��<rc�v�ttd���}ddg|d<ddg|d<ddg|d	<d
dg|d<|jdg�jd
��}t	j
ddgddgg�}t
j|jtdd	g��t
j|j|�y)Nr%r+�g1�g2r�r�zerosrXr�l1�l2�labelTrV�r)r	r6r4rkr8r�r:r�r�rr�r)r7�tmp�
res_valuess   r�test_groupby_2d_malformedr�@s�����a��!�A����A�g�J��Q��A�g�J��A��A�f�I����A�g�J�
�)�)�W�I�
�
#�
#��
#�
6�C����C��:��S�z�2�3�J����#�+�+�u�g�v�->�'?�@�����
�
�J�7rc	��tjtjd�tjd�tjd�f�}tjd�}t||||tjjd�j
d�d��}|jgd��j�}|jgd��j�}t|�t|�k(sJ�y)Nr!i�i�ar%)rrr)r�rrr�)r�r)rr)
r8�concatenater9r	rprqr�r4r\rt)rrr?r�r�s     r�test_int32_overflowr�Ls���
����	�	�%�(�"�)�)�E�*:�B�I�I�d�O�L�M�A�
�	�	�%��A�	��������&�&�q�)�9�9�%�@�	
�
�B��:�:�*�+�/�/�1�D��J�J�+�,�0�0�2�E��t�9��E�
�"�"�"rc���tgd�gd�gd�tjjd�j	d�d��}|gd�j
D�cgc]
}t
|���}}tj|�}|jgd�d�	�j�}tj|jj
|gd
��|gd�j
D�cgc]
}t
|���}}tj|�}|jgd�d�	�j�}tj|jj
|�|gd�j
D�cgc]
}t
|���}}tj|�}|jgd�d�	�j�}tj|jj
|gd
��tgd�gd�tjjd�j	d�d��}|jddg�d}|j�}d�fd�}|||ddgd�ycc}wcc}wcc}w)N�r�r�r)rLr%rXrhr%rL�rrrr7r'Tr1)rXr%r)rrr)rrr)r%rXr�rrXr%rrXr%)rrrrXrXrXr\)rrr7rrr7c�"�|j�SrZr[rQs rrSz)test_groupby_sort_multi.<locals>.<lambda>�s��A�E�E�G�rc��||jD�cgc]
}t|���}}tj|�}||j	|�|�}|j�D]\}}	|||	k(r�J�ycc}wrZ)r�tuple�com�asarray_tuplesafer4rD)
r?rrt�fieldr��row�tupsrr�r�s
          r�_check_groupbyz/test_groupby_sort_multi.<locals>._check_groupby�sx��&(��h�o�o�6�s��c�
�6��6��$�$�T�*���R�Z�Z��%�e�,�-���N�N�$�	"�D�A�q��!�9��>�!�>�	"��7s�A8)r	r8rprqr�rr�r�r�r4r\r:r�r,)r?r�r�rrRr�r�s       r�test_groupby_sort_multir�^s���	�&������&�&�q�)�9�9�!�<�		
�
�B�#%�_�"5�"<�"<�=�3�E�#�J�=�D�=�� � ��&�D�
�Z�Z��d�Z�
3�
7�
7�
9�F������� 3� 3�T�)�_�E�"$�_�"5�"<�"<�=�3�E�#�J�=�D�=�� � ��&�D�
�Z�Z��d�Z�
3�
7�
7�
9�F������� 3� 3�T�:� ��1�8�8�9��E�!�H�9�D�9�� � ��&�D�
�Z�Z��d�Z�
3�
7�
7�
9�F������� 3� 3�T�)�_�E�	�#�#����&�&�q�)�9�9�!�<�	
�
�B��j�j�#�s��$�S�)�G�
�[�[�]�F�2C�"��2�v��S�z�3�/��A>��
>��
:s�I!�$I&�-I+c��tgd�gd�dzd��}d}tjt|��5|j	dd�	�jd
��}ddd�tj|�y#1swY� xYw)N)rrrrrrr�r%)rrjr�rVrFrTc��|SrZrPrQs rrSz/test_dont_clobber_name_column.<locals>.<lambda>�s��Q�r)r	r:rur�r4rzr;)r?r�rs   r�test_dont_clobber_name_columnr��sz��	�.�8M�PQ�8Q�R�
�B�D�C�	�	#�	#�$6�c�	B�H����E�e��4�:�:�;�G��H����&�"�%�H�H�s�$A6�6A?c	��ttjjd�j	d�tt
d�t��tddd���	�}|jd
�d��}|jd
��}|D��cgc]\}}|jd��dd��}}}tj|�}tj||�|djd�d��}|jd��}|D��cgc]\}}|j�dd��}}}tj|�}tj ||�ycc}}wcc}}w)Nr%r�r�r�r�rerr�r�c��|jSrZr�rQs rrSz&test_skip_group_keys.<locals>.<lambda>�s
��A�G�G�rFrTc�,�|jd��ddS)Nr�r�rL��sort_valuesrQs rrSz&test_skip_group_keys.<locals>.<lambda>�s��Q�]�]�c�]�%:�2�A�%>�rrr�rLc��|jSrZr�rQs rrSz&test_skip_group_keys.<locals>.<lambda>�r�rc�(�|j�ddSrOr�rQs rrSz&test_skip_group_keys.<locals>.<lambda>�s��Q�]�]�_�R�a�%8�r)r	r8rprqr�rr5r�rr4rzr�r.rur:r;ry)�tsfr�rrr��piecesrs       r�test_skip_group_keysr��s+��
�
�	�	���a� �0�0��9��d�6�l�&�1���r��<��C��k�k�+��k�>�G�
�]�]�>�
?�F�>E�
F�
��U�e���3��'���+�
F�F�
F��y�y�� �H����&�(�+��#�h���0�U��C�G�
�]�]�8�
9�F�8?�
@�*�#�u�e���!�"�1�%�
@�F�
@��y�y�� �H����6�8�,��G��As�
E�Ec��|dj�}d|_|j|d�jd�}|j�J�y)Nr)rr\)r1rjr4rx)�float_framer#rs   r�test_no_nonsense_namer��sJ���C�����A�
�A�F�
�Y�Y�{�3�'�
(�
,�
,�U�
3�F��;�;���rc��ttjd�jdd��}d|d<gd�|d<|j	d�}|jddd	��}|djtjk(sJ�y)
NrKrLr�test)g�������?r+g�������?�flr\r�)r�r%)r	r8r9�reshaper4rxrErH)rRr�rs   r�test_multifunc_sum_bugr��sp���"�)�)�A�,�&�&�q�!�,�-�A��A�f�I��A�d�G��i�i���G�
�[�[��&�1�
2�F��$�<������+�+�+rc���d�}d�}|jd�dj|�}|jd�dj|�}t|t�sJ�t	j
||�y)Nc�D�|j�|j�d�S�N�r�r�r�r�s rr�z(test_handle_dict_return_value.<locals>.f�s���y�y�{�5�9�9�;�7�7rc�V�t|j�|j�d��Sr�)rr�r�r�s rr�z(test_handle_dict_return_value.<locals>.g�s���e�i�i�k�%�)�)�+�>�?�?rrr))r4rzrvrr:ry)r?r�r�rrs     r�test_handle_dict_return_valuer��si��8�@��Z�Z��_�S�
!�
'�
'��
*�F��z�z�#��s�#�)�)�!�,�H��f�f�%�%�%����6�8�,r�grouperrrc������d�}��fd���fd�}|j�d��}d}tjt|��5|j	|�ddd�|j��|j��d��|j
|�|d	j	|�|d	j��|d	j�|g�|d	j
|�y#1swY��xYw)
Nc�"�|j�J�|SrZr�r�s rr�ztest_set_group_name.<locals>.f�s���z�z�%�%�%��rc���|j�J��rO�dk(rJt|j�r5tjt
d��5|j
�ddd�y|j
�S#1swYyxYw)Nrzdoes not supportrV)rjrrEr|r}rr\)r�r�r3s ��r�freducez$test_set_group_name.<locals>.freduce�sg����z�z�%�%�%��'�S�.�_�U�[�[�5Q����y�0B�C�
��	�	��
�
��9�9�;��
�
�s�A1�1A:c����|�SrZrP)rRr�s �r�freducexz%test_set_group_name.<locals>.freducex�s
����q�z�rFrTr�rVrXr))r4r:rur�rzrwr{)r?r�r3r�r�r�r�r�s ``    @r�test_set_group_namer��s��������j�j��U�j�3�G�D�C�	�	#�	#�$6�c�	B���
�
�a������g�����G�'�2�3����a���C�L���q���C�L���7�#��C�L���G�X�.�/��C�L���1����s�C%�%C.c���tgd�tjd�d��}g��fd�}d}tjt
|��5|j
ddd�	�j|�ddd�gd
�}�|k(sJ�y#1swY�xYw)N)rrrXrXr%r%r\rc�Z���j|j�|j�SrZ)r�rjr1)r�rs �rr�z6test_group_name_available_in_inference_pass.<locals>.f�s���
���U�Z�Z� ��z�z�|�rr�rVrF)r2rUrh)r	r8r9r:rur�r4rz)r?r�r��expected_namesrs    @r�+test_group_name_available_in_inference_passr��s����	�+�"�)�)�A�,�?�	@�B��E��D�C�	�	#�	#�$6�c�	B�?�
�
�
�3�U�u�
�5�;�;�A�>�?��N��N�"�"�"�	?�?�s�	$B�B
c�8�|j|dj�j�}|jj�J�|j|dj|djg�j�}|jj
dk(sJ�y)Nrr)NN)r4rr\r,rjrr�s  r�test_no_dummy_key_namesr�s{��
�Z�Z��3����
'�
+�
+�
-�F��<�<���$�$�$�
�Z�Z��C�����C����8�
9�
=�
=�
?�F��<�<����-�-�-rc��tddgddgggd�gd�gddg��}tgd�|�	�}tddgddgggd
�gd�gddg��}tgd�|�	�}|jddgd
��j�}t	j
||�|jddgd��j�}t	j
||j
��y)NrXr%)rrrrrXrX)rXrXrrrrrrr)rrXr%rLr�r$r+r
)rXrr�rr%r�F�rr2T)r
rr4r�r:ry�
sort_index)r,�mseries�mseries_resultrs    r�#test_groupby_sort_multiindex_seriesr�s���
��A���A���!�#5�6��C�j�
�E�
�'�u�5�G���A���A���	�9�'=�c�3�Z�
�E��I�U�3�N�
�_�_�C��:�E�_�
:�
@�
@�
B�F����6�>�2�
�_�_�C��:�D�_�
9�
?�
?�
A�F����6�>�#<�#<�#>�?rc��d}tdd|��}ttj|�tj|�d�|��}dd�}|j	d��}|jd	|tj�i�}|jd	|tjd
�i�}tj||�y)N��z2012/1/1�5min)r�r�r#)�high�lowr+c������fd�}|S)z>
        Run an aggregate func on the subset of data.
        c����|j|jjd��j�}�r||jdt	|�dk(ry�|�S)Nc� �|jdkS)Nrq)�hourrQs rrSzYtest_groupby_reindex_inside_function.<locals>.agg_before.<locals>._func.<locals>.<lambda>,s��!�&�&�2�+�rr)r�r,rz�dropnart)rr7�fix�funcs  ��r�_funczGtest_groupby_reindex_inside_function.<locals>.agg_before.<locals>._func+sR�����������(=�>�?�F�F�H�A���T�Z�Z��]�#��1�v��{����7�NrrP)rr�rs`` r�
agg_beforez8test_groupby_reindex_inside_function.<locals>.agg_before&s���
	��rc�X�t|j|j|j�SrZ)rr�r�r�rQs rrSz6test_groupby_reindex_inside_function.<locals>.<lambda>5s��8�A�F�F�A�G�G�Q�U�U�#C�rr�T)F)	rr	r8r9r4rxr�r:r;)r#�indr?rr��closure_bad�closure_goods       r�$test_groupby_reindex_inside_functionr!s����G�
�:�F�G�
D�C�	�B�I�I�g�.�r�y�y��7I�J�RU�	V�B�
��j�j�C�D�G��+�+�v�z�"�&�&�'9�:�;�K��;�;��
�2�6�6�4�(@�A�B�L����+�|�4rc�,�tgd�gd�gd�d��}|jddg�}|jddgd��}|jd	�}t	j
gd
�ddg��}tdgd
gdgg|dg��}t
j||�y)N)rrrr)rrr7r)rXrXrXr$)�group1�group2r�r	r
Tr�r\))rr)rr7�rrr�r%rXr$r�r,)r	rr4rxr
r�r:r;)r?r�r�rJr�s     r�$test_groupby_multiindex_missing_pairr<s���	�*�*�!�	
�
�B�
���x��*�	+�B����8�X�"6�T��B�J�
�.�.��
�C�
�
 �
 �,�X�x�4H��C��a�S�1�#��s�O�3��	�
B�C����#�s�#rc�L�tjgd�ddg��}tgd�g|��}|jj	�sJ�tgd�gd�gd	�g�
�}|jdddgd�
�}|j
�}|jj	�rJ�|jd�j�}tjt�5|jd�j�}ddd�tj|�tgd�gd�gd�d��jddg�}|jj	�rJ�ddddgfD]�}dD]�}|j||d��jtj �}|}tj||�|j#�j||d��jtj �}|j#�}tj||�����y#1swY��$xYw)N))r�)�b1�c1)�b2�c2rrr��rXrLr�r�r�)rXrrrL)rXrrr�)r�rrr7)r,r�r)rrrr�rXrXr%r%�rXr%rLr��rRr �zrRr rrX)FTF)rr2rU)r
r�r	r��
_is_lexsorted�pivot_tabler�r4rkr:rurr;rr,rz�drop_duplicatesr�)�lexsorted_mi�lexsorted_df�not_lexsorted_dfrrr?rr2s        r�%test_groupby_multiindex_not_lexsortedrQs���)�)�/��S�z��L��i�[�,�?�L����-�-�/�/�/�!�$�,>�@R�+S���(�3�3��C��:�c�4���(�3�3�5���'�'�5�5�7�7�7��#�#�C�(�-�-�/�H�	�	#�	#�$6�	7�6�!�)�)�#�.�3�3�5��6����(�F�+�
�"��L�I�
��i��c�
����x�x�%�%�'�'�'��Q��A���4��!�
	4�D��Z�Z�e�$�5�Z�I�O�O��)�)��F��H��!�!�(�F�3��
�
����u�4�E��B���y�0�0�1�
�
�}�}��H��!�!�(�F�3�
	4�4�6�6�s� H�H#c�0�ttd�gd���}|jtd��}|jd��}|jgd�}tj||�|d}|jtd��}|jd��}|jgd��}tj||�|jjt�|_	|jtd��}|jd	��}|jgd�}tj||�|d}|jtd��}|jd
��}|jgd��}tj||�y)N�ABCDE)r%rr%rXrXr+�ababbc��t|�dkDSro�rtrQs rrSz4test_index_label_overlaps_location.<locals>.<lambda>�����A���
�rrrc��t|�dkDSror#rQs rrSz4test_index_label_overlaps_location.<locals>.<lambda>�r$rc��t|�dkDSror#rQs rrSz4test_index_label_overlaps_location.<locals>.<lambda>�r$rc��t|�dkDSror#rQs rrSz4test_index_label_overlaps_location.<locals>.<lambda>�r$r)r	r5r4�filterr3r:r;rEryr,r�r)r?r��actualrr>s     r�"test_index_label_overlaps_locationr*�s8��
�4��=��	8�B�
�
�
�4��=�!�A�
�X�X�*�
+�F��w�w�y�!�H����&�(�+�
�Q�%�C����D��M�"�A�
�X�X�*�
+�F��x�x�	�"�H����6�8�,��x�x���u�%�B�H�
�
�
�4��=�!�A�
�X�X�*�
+�F��w�w�y�!�H����&�(�+�
�Q�%�C����D��M�"�A�
�X�X�*�
+�F��x�x�	�"�H����6�8�,rc�L�d}tj|�}t|dzd|zd|zd��}t|dzdzd|zd|zd��}|jd�}|j	d�}|jd�}|j	d�}tj||�y)	Nr\r%r�@r'rrrk)r8r9r	r4r{r:r;)�nrRr?r)r@r�gb2rs        r�"test_transform_doesnt_clobber_intsr/�s���	�A�
�	�	�!��A�	��a��c�A�g�C�!�G�<�	=�B�
�!�q�&�3�,�S�1�W�3��7�C�
D�C�	���C��B�
�\�\�&�
!�F�

�+�+�c�
�C��}�}�V�$�H����&�(�+r�sort_column�ints�floats�strings�group_column�
int_groups�
string_groupsc���tgd�gd�gd�gd�gd�d��}|j���}|j|�}�fd�}d	}tjt
|�
�5|j
|�ddd�y#1swYyxYw)N)rLrXrrXrrLrLrL)rrrrrr�r�r�)r�r^r�r$r%rKrXrX)gffffff@g333333@g������@g333333�g������@皙�����?r8r$)rr7rr��word�word2�42�47)r5r6r1r2r3r�c�R��tj||j����y)Nr�)r:r;r�)rRr0s �r�	test_sortz.test_groupby_preserves_sort.<locals>.test_sort�s���
���a����+��!>�?rr�rV)r	r�r4r:rur�rz)r0r4r?r�r>r�s`     r�test_groupby_preserves_sortr?�s����
�2�E�,�=�H�	
�
�B�
���;��	'�B�
�
�
�<� �A�@�D�C�	�	#�	#�$6�c�	B��	���	�����s�"A=�=Bc���tttj�dd��j	�td�d��}|j
d�jj|d<|j
d�jj|d<tjtd�	�5|j�jddd
d��ddd�y#1swYyxYw)
Nrf�MEr�)�	eventDate�thenamerBr�r�z	'badname'rV�badnamer�)r,r�r�aggfunc)r	rr�today�tolistr6rr,r�r�r|r}r�r�rrs r�!test_pivot_table_values_key_errorrH�s���	�#�H�N�N�$4�b�t�L�S�S�U��R�y�	
�
�B����k�*�0�0�5�5�B�v�J��,�,�{�+�1�1�7�7�B�w�K�	���x�{�	3�
�
����$�$��'�)�W�	%�	
�
�
�
�s�/$C�C%r�r)rtrr�rrXz
US/Easternr'�
2016-01-01rLr�r��Int64r��Float64�boolean)�bool�intrrr=�dt64�dt64tz�periodrJrKrL)�ids�method)r�rxrz)r��idxminr�r�r\r�r�c�0�������d}t�t�r�dvrd}t�dt�r�dvrd}t���d�t	d���}	t�d	�r)|	j�jk(j�sJ�|	jdd}	|	j�d
|d
��|����fd�}
���fd
�}t|	jjdtj�}|	jjdjdk(}
t�t�}t�t�r��js��dvr�dvr
d��d�}t }nd��d�}t"}t%j&||��5|
�ddd��dvr6t|t�r&|
d��}|�}t)j*||�y�dvr�|
s|s|r�|
rd}n|rd}nd}�dk(rdj-|dg�}t%j&t |��5|
�ddd�t|t�sy�dk(ry|
d��}|	j/��g}|r|�}t)j*||�y|
�}|	j/��|}�dvr%|j1|	j2j�}|�|j1|�}t5��d k(r�d|j2_t)j*||�y#1swY���xYw#1swY��xYw)!N)r\r�rJr)r�r\rFr-�ABCr�rEF)rUr��observedc�X���dk(rt���di|��St����fi|��S)Nr�rP)r7)�kwargsr@rSr�s ���r�
get_resultz&test_empty_groupby.<locals>.get_results:����V��"�7�2�r�?�,�V�,�,�&�7�2�v�&�r�4�V�4�4rc����tdg�j��}t��dk7rtj||g���}nt|�d��}�rtgd��}ng}t
g||��}|S)Nrr�rXr�r�r/r�)rrErtr
r�rr	)�levrJr�rrtr3rs    ���r� get_categorical_invalid_expectedz<test_empty_groupby.<locals>.get_categorical_invalid_expected#sr���
�1�#�V�\�\�2���t�9��>��)�)�3��*�D�A�C���$�q�'�*�C���B�&=�>�G��G��R���<���r�M)r�r�rTr�)r�r�zCannot perform z with non-ordered Categoricalz
Can't get z/ of an empty group due to unobserved categoriesrVTrV)r�r\r�z datetime64 type does not supportzPeriod type does not supportzcategory type does not supportr��|z!does not support reduction 'skew')r�rTrX)rvrrMr	r5�hasattrr�rErFr3r4r.�PeriodDtype�kindr�orderedrr�r|r}r:�assert_equal�joinrr�r,rtrj)r�rtrrSr��using_array_managerr�r3�override_dtyper?rZr]�is_per�is_dt64�is_catr�r�rrr@s ````  `           @r�test_empty_groupbyrk�s����N�N��&�,�'�B�/�,A� ���&��)�T�"�r�_�'<� ��	��f�6�:�D��K�	P�B��v�w���	�	�V�\�\�)�.�.�0�0�0�	����!��B�	���D�U�6�E��	J�7�	S�B�5��(��	�	���q�)�2�>�>�
:�F��i�i�n�n�Q��$�$��+�G�
���
,�F�	�6�;�'�����4�4�
���#�B�4�'D�E�C��E��r�d�"Q�R�C��E�
�]�]�5��
,�	��L�	��3�3�
�7�D�8Q��T�2�F�7�9�H��O�O�F�H�-��	�
$�$��f���8���4��6���V�|��h�h��%H�I�J�����y��4�
���
��g�t�,���v���$��6���<�<��-�b�1���?�A�H������1��
�\�F��|�|�D�!�'�*�H�	�
!�!��?�?�2�8�8�>�>�2���!��?�?�>�2��
�4�y�A�~�"�1�g������O�O�F�H�%�o	�	��.
�
�s�7K?�L�?L	�Lc���ttjjd�j	d��}|djtj�|d<gd�|_|j|dd��}d}tjt|�	�5|jd
��}ddd�j|jk(j�sJ�y#1swY�3xYw)Nr%)rr�rL�rrXr%rrXFrTr�rVc��|SrZrPrQs rrSz<test_empty_groupby_apply_nonunique_columns.<locals>.<lambda>�s���r)r	r8rprqr�r�rFr�r4r:rur�rzr�rF)r?r@r�r�s    r�*test_empty_groupby_apply_nonunique_columnsro�s���	�2�9�9�(�(��+�;�;�F�C�	D�B��q�E�L�L����"�B�q�E��B�J�	���B�q�E�e��	,�B�
C�C�	�	#�	#�$6�c�	B�$��h�h�{�#��$��J�J�"�)�)�#�(�(�*�*�*�$�$�s�C�C'c�f�tgd�gd�gd�gd�d��}tjtd��5|gd�j	d�ddd�|j	d�dj�}t
d	gdtd
gd����}tj||�y#1swY�]xYw)
N)rXrXrXrX)r%r%r%r%)rrrrz
('a', 'b')rVr'rrr�rXr�r�)
r	r|r}r�r4r\rrr:ryr�s   r�test_tuple_as_groupingrq�s���	�$����		
�
�B�
���x�}�	5�0�
�?��#�#�J�/�0��Z�Z�
�
#�C�
(�
,�
,�
.�F��q�c��5�!��:�+F�G�H����6�8�,�0�0�s�B'�'B0c	��tdtd�tjddgddgg���}t	j
td��5|jd�j�ddd�y#1swYyxYw)	NrXrLr%r�r,z
^\(7, 8\)$rV)r^r�)	r	r6r
r�r|r}r�r4rkrs r�test_tuple_correct_keyerrorrs�sf��	�1�E�!�H�j�.E�.E��1�v�PQ�ST�v�FV�.W�	X�B�	���x�}�	5�"�
�
�
�6����!�"�"�"�s� A5�5A>c
�N�tdgdggtdgd��tdddd�	��
�}tgd�gd�gtjdgd
���tdddd�	��
�}|jt
d���jddg�}tj||�y)NrXr��mycolsr��
2018-01-01r%r��dti)r#r�rjr�)rXrXrXrXrX))r�r\r�)r��ohlc�open)r�rxr�)r�rxr�)r�rx�close)ruNNr�)r�r\rx)
r	rrr
r�r4r
rxr:r;r`s   r�test_groupby_agg_ohlc_non_firstr{�s���	�
��q�c�
��u�g�H�-���q�s��G�
�B��	�/�*��&�&�
�)�	
���q�s��G�
�H��Z�Z��S�)�
*�
.�
.��v��
?�F����&�(�+rc�\�tjdftddd�dftddd�dftddd�dfg}tj|ddg��}tgd	�|�
�}|j
d��j�}tdd
gddg�
�}tj||�y)Nri�rXr%rrL�dater�)rLr%�@r�r+rr,r~)
r.r2rr
r�rr4rkr:ry)rr�r>rrs     r�test_groupby_multiindex_natr�s���
����
�	�$��1�	�s�#�	�$��1�	�s�#�	�$��1�	�s�#�	�F�
�	�	��v�t�n�	=�B�
��r�
*�C�
�[�[�q�[�
!�
&�
&�
(�F��s�C�j��c�
�3�H����6�8�,rc���ttd�td��}t|ddg��}d}tjt
|��5|j
gg�ddd�y#1swYyxYw)Nre�applerr�z$Grouper and axis must be same lengthrV)r�r6r	r|r}r�r4)rr?r�s   r�test_groupby_empty_list_raisesr��s\��
��r��E�"�I�
&�F�	�6�G�S�>�	2�B�
0�C�	���z��	-��
�
�
�B�4�����s�A'�'A0c�:�ddgddgddgg}gd�}tj||��}tddg|�	�}|jd
dg�j	�}dgdgg}d
dg}tj||��}tdg|�
�}tj||�y)NrRrrr�)r�r�thirdr�rXr%r'r�r�rLr+)r
�from_arraysrr4r\r:ry)�index_array�index_names�rir#r�eirs       r�8test_groupby_multiindex_series_keys_len_equal_group_axisr��s�����:��S�z�C��:�6�K�.�K�	�	�	��;�	?�B��Q��F�"�%�A�
�Y�Y���)�
*�
.�
.�
0�F��5�3�%�.�K��G�$�K�	�	�	��;�	?�B��q�c��$�H����6�8�,rc��tjddgddggddg��}tgd�gd	�d
�|��}|jt	d��dg�}|jddg�}|j
|j
k(sJ�|jdt	d��g�}|jddg�}|j
|j
k(sJ�y)
Nrrr)r�r��betar�)rXr%rXr%rrYr+r)r
r�r	r4r
rB)r�r?rrs    r�"test_groupby_groups_in_BaseGrouperr��s���
�	 �	 �3��*�s�C�j�!9�'�6�AR�	S�B�	�<��=�R�	H�B�
�Z�Z��w�/��8�
9�F��z�z�7�F�+�,�H��=�=�H�O�O�+�+�+�
�Z�Z���w�!7�8�
9�F��z�z�6�7�+�,�H��=�=�H�O�O�+�+�+r�
group_namerRc���ttjd�jdd�gd�gd���}d|j_d|j_d	}tjt|�
�5|j|d��}ddd�j�}|jj|�j�j}tj||�gd
�ddgg}tj|ddg��}ttjd�jdd�gd�|��}tjt|�
�5|j|d��}ddd�|j�}|jj|�j�j}tj||�y#1swY��HxYw#1swY�pxYw)Nr_rLr��rrXr)rerfrerfr,r rRrNrVrXr�)r�rr�rcrd�x1)�	iterablesr�r\)r	r8r9r�r,rjr�r:rurvr4r\r�r;r
r�)r�r?r*r@�resultsrr�r�s        r�test_groupby_axis_1r��sy��
�
�	�	�"�
���a��#�9�>N�
�B��B�H�H�M��B�J�J�O�<�H�	�	#�	#�M��	B�,�
�Z�Z�
��Z�
+��,��f�f�h�G��t�t�|�|�J�'�+�+�-�/�/�H����'�8�,�'����7�I�	�	 �	 �9�S�$�K�	H�B�	�2�9�9�R�=�(�(��A�.�i��	L�B�	�	#�	#�M��	B�,�
�Z�Z�
��Z�
+��,��f�f�h�G��t�t�|�|�J�'�+�+�-�/�/�H����'�8�,�,�,��,�,�s�5G�G�G�G%zop, expected�shift�time�2019-01-01 12:00:00�2019-01-01 12:30:00�bfill�2019-01-01 14:00:00�2019-01-01 14:30:00�ffillc	�T��|�gd�td�td�ddtd�td�gd�}t|�j�fd���}|jd	�}t	||��}t|�j�fd
���}tj||�y)N)rrrrrrr�r�r�r�)r{r�c�N��|jjj��SrZ�r�r��tz_localize�rRr(s �rrSz+test_shift_bfill_ffill_tz.<locals>.<lambda>O	s���q�v�v�y�y�/D�/D�R�/H�r)r�r{c�N��|jjj��SrZr�r�s �rrSz+test_shift_bfill_ffill_tz.<locals>.<lambda>S	s��������9N�9N�r�9R�r)rr	�assignr4r7r:r;)�tz_naive_fixturer�rrr?r�rr(s       @r�test_shift_bfill_ffill_tzr�	s����\
�B�,��+�,��+�,����+�,��+�,�

�
�D�
�4��	�	�%H�	�	I�B��j�j���G�
!�W�W�b�
!�
#�F���"�)�)�/R�)�S�H����&�(�+rc���tdgdd��}|jd�djd�}ttj
gd��}t
j||�y)NrX)r�rRr�rRr\r�)r	r4r{rr8r�r:ry)r?r)rs   r�test_groupby_only_none_groupr�W	sT��
�$��a�(�	)�B�
�Z�Z��_�S�
!�
+�
+�E�
2�F��r�v�v�h�S�)�H����6�8�,rc��tgd�gd���}|jd��}|j�}tgd�gd���}tj||�y)N)r%r$r\r�)rrrr6r+rr)r%g@r�)rrr6)rr4rkr:ry)r>r@rrs    r�test_groupby_duplicate_indexr�a	sF��
��%9�
:�C�	���1��	�B�
�W�W�Y�F��k��9�H����6�8�,rc��tdtd�ddgggd���}|djt�|d<|djt�|d<|j	d	d
g�}|dk(rd}nd
}|dk(rt
nd}d}t
j||��5|jddjd	g�j|g|���}ddd�t
j||��5|jd	g�j|g|���jdd}ddd�|dvrjt�}t
j�d}t
j||��5|djddjd	g�j|g|���}ddd�d}t
j||��5|djd	g�j|g|���jdd}ddd�|dvr|jt�}t
j||�y#1swY��cxYw#1swY�� xYw#1swY��xYw#1swY�_xYw)NrXrFrLr�)�col_1�col_2�col_3�col_4�rr�r�r�r�r��fillna)r�rP�%DataFrameGroupBy.fillna is deprecatedrVr)�diffr�z"SeriesGroupBy.fillna is deprecated)r	rr�rNrrvr:rur3r4r{rd)�transformation_func�requestr?�argsr��warn_msgrrs        r�test_group_on_empty_multiindexr�k	sg��
��)�G�$�a��+�
,�4�
�B��W�+�$�$�S�)�B�w�K��W�+�$�$�S�)�B�w�K�	���w��(�	)�B��h�&�����/�8�;�=��D�6�H�	�	#�	#�D��	9�V�9�����!��$�$�g�Y�/�9�9�:M�U�PT�U��V�	�	#�	#�D��	9�X�2�2�:�:�w�i�(�2�2�3F�N��N�S�S�TV�UV�W��X��/�/��?�?�3�'���O�O�F�H�%�3�H�	�	#�	#�D��	9�
�
�B�w�K�
�T�"�1�
�
�W�g�Y�
�
�Y�*�
3�.2�
3�	�
�4�H�	�	#�	#�D��	9�
�
�B�w�K�
�W�g�Y�
�
�Y�*�
3�-1�
3��T�"�1�
�	�
��/�/��?�?�3�'���O�O�F�H�%�5V�V��X�X��
�
��
�
�s0�1H)�'1H6�(4I�=4I�)H3�6I�I�Ic���tddd��}tddgddgddgd��}d	|j_||_|j|�}|s|j}d
}nd}tjt|��5|j|d�
�}ddd�j�}tddgddgd�|��}d|j_|s|j}tj||�|dk(r@tjt|��5|gj|d�
�}ddd�|g}	nptjt|��5|jgj|d�
�}ddd�|jgjt j"�}	j�}
tj|
|	�y#1swY��?xYw#1swY��xYw#1swY�uxYw)NrIr%r�)r#rjrXrLr)rY)rr))r�r)r�rrPrNrV)r�r)rr�r+r�)rr	r�rr,�_get_axis_numberr�r:rurvr4�nuniquerjr;r�r�r8rH)r�rwr?�axis_numberr�r@rrr.r�r�s           r�test_groupby_crash_on_nuniquer��	s���
�\�1�5�
9�C�	��A��Q��F��A��O�	P�B�%�B�J�J���B�H��%�%�d�+�K��
�T�T��E��;��	�	#�	#�M��	=�3�
�Z�Z�[��Z�
2��3�
�Z�Z�\�F���1�v�Q��F�3�3�?�H�!�H������:�:�����&�(�+��a��
�
'�
'�
�S�
A�	<��R�&�.�.�k��.�;�C�	<��r�l���
'�
'�
�S�
A�	@��&�&��*�$�$�+�Q�$�?�C�	@��l�l�2��%�%�b�j�j�1��

�+�+�-�C����#�s�#�13�3��	<�	<��
	@�	@�s$�;G�G�!G%�G�G"�%G.c���ttjdd�jdd�t��}|jdg��j
�}tj||�y)NrrKrLr�r)	r	r8r9r�rr4rkr:r;)rrs  r�test_groupby_list_levelr��	sS������1�a��0�0��A�6�e�D�H�
�
�
�Q�C�
�
(�
-�
-�
/�F����&�(�+rzmax_seq_items, expected))r$z({0: [0], 1: [1], 2: [2], 3: [3], 4: [4]})r�z%{0: [0], 1: [1], 2: [2], 3: [3], ...})rXz
{0: [0], ...}c���ttjjd�j	d��}|j
|d<t
jd|�5|jd�jj�}||k(sJ�|jtj|j��jj�}||k(sJ�	ddd�y#1swYyxYw)Nr%)r$rXrzdisplay.max_seq_items)
r	r8rprqr�r,r.�option_contextr4rB�__repr__r�r)�
max_seq_itemsrr?rs    r�test_groups_repr_truncatesr��	s���
�2�9�9�(�(��+�;�;�F�C�	D�B��h�h�B�s�G�	�	�	�2�M�	B�"����C��'�'�0�0�2����!�!�!����B�H�H�R�T�T�N�+�2�2�;�;�=����!�!�!�"�"�"�s
�A>C%�%C.c�>�tdddd�dddd�g�}|jddg�}|jddg�}|j}dt	j
d	dgtj�
�i}t|�dk(sJ�d}||||k(j�sJ�y)NrXr%�cr'�Xrrr�rr�)	r	rr4rCr8r�rFrtrF)r?r�rrrs     r�6test_group_on_two_row_multiindex_returns_one_tuple_keyr��	s���	�!�!�"�-�Q�Q�R�/H�I�	J�B�	���s�C�j�	!�B�
�*�*�c�3�Z�
 �C�
�[�[�F�����!�Q��r�x�x�8�9�H��v�;�!����
�C��3�K�8�C�=�(�-�-�/�/�/rzklass, attr, valuerr2rUrWr�c���tdgdgdgd��}|dk7r|jd�}|jdi||i��}|tur|dgn|d}t||�t||�k(sJ�y)	NrXr%rLr'r�rr)r)r	rr4r7)r�r�r�r?rrs      r�#test_subsetting_columns_keeps_attrsr��	s{��&
�!��A�3�a�S�1�	2�B��v�~�
�\�\�#�
���r�z�z�/�$���/�H� %�� 2�X�s�e�_���
�F��6�4� �G�H�d�$;�;�;�;rc�D�tdgdgdgd��}d}tjt|��5|j	gd�d��}ddd�d	}tjt|��5d
dgj�ddd�y#1swY�ExYw#1swYyxYw)NrXr%rLr-rNrVr
r�z'Cannot subset columns when using axis=1rr)	r	r:rurvr4r|r}r�r\)r?r�r�rWs    r�test_subsetting_columns_axis_1r�
s���	�!��A�3�a�S�1�	2�B�
7�C�	�	#�	#�M��	=�*��J�J�y�q�J�)��*�5�E�	���z��	/��	�3��*�
������*�*����s�B
�+B�
B�Br)r\�anyr�c���tdgd��}tdgg|��}|jdg�}t||��j}tj||�y)NrrJr�rXr�)rr	r4r7r�r:r�)rrr?r�rs     r�#test_groupby_column_index_name_lostr�
sX���c�U��'�H�	�Q�C�5�(�	+�B����Q�C��J�
&�W�Z��
&�
(�
0�
0�F����&�(�+r�infer_string�pyarrow)�marksc��|rtjd�tgd�gd�gd�d��jt�}gd�|_t
jd|�5|jgd��j�}ddd�tgd	�gtjd
g�gd�t��}tj|�y#1swY�LxYw)Nr�)r�r�r�r8r�rr-)rrrzfuture.infer_string)rrrr)r�rrXr)r,r�rE)r|�importorskipr	r�r�r�r.r�r4r�r8r�r:r;)r�r?rrs    r�test_groupby_duplicate_columnsr�
s�������I�&�	�"�)=�L�Q�
��f�V�n��!�B�J�	�	�	�0�,�	?�0����L�)�-�-�/��0��	��r�x�x���}�o�V��H����&�(�+�0�0�s�"C�Cc��tgd�gd�d��}d|j_|jd��j	�}tdd	gd
dgd��}d|j_tj||�y)Nrr)rr�r,rj)rrrrr%r�rX)rr,rjr4�lastr:ry)r>rrs   r�#test_groupby_series_with_tuple_namer�3
sf��
��\�
�
C�C��C�I�I�N�
�[�[�q�[�
!�
&�
&�
(�F��q�!�f�Q��F��<�H�$�H�N�N�����6�8�,rzfunc, valuesr\�@X@��X@rkg@8@g�8@c���gd�}tddgdz||d��}t|jd�|��}t||d�tddgd���	�}t	j
||�y)
N����7y�ACr��a�b���7y�1�r�r�r�rXr%r��r�rrr�rr�r+)r	r7r4rr:r;)rrrr?rrs      r�)test_groupby_numerical_stability_sum_meanr�=
sh��
<�D�	�a��V�a�Z�d��>�	?�B�
/�W�R�Z�Z��(�$�
/�
1�F��v�F�3�5�!�Q��g�;V�W�H����&�(�+rc���gd�}tddgdz||d��}|jd�j�}dgdzdd	gzd
dgzdd
gz}t||d��}tj||d��y)Nr�rXr%r�r�r�r�g0��7y�ACg1��7y�ACga��7y�1Cgb��7y�1Cr�r�rT)�check_exact)r	r4r�r:r;)rr?r�exp_datars     r�'test_groupby_numerical_stability_cumsumr�I
s���;�D�	�a��V�a�Z�d��>�	?�B�
�Z�Z��
 �
'�
'�
)�F�	
���
�i��+�+�y�)�.D�D��d�|�S�
��x�h�7�8�H����&�(��=rc�~�tjjd�jd�}t	|�}td�D]!}tj|j||f<�#d|d<|jd�}|jd��}|gd�jd��}tj||�y)	Nr%)r$r$r$rXrF��skipnarI)r8rprqr�r	r6r�r3r4r�r:r;)rsr?�ir@r�rs      r� test_groupby_cumsum_skipna_falser�U
s���
�)�)�
�
��
"�
2�
2�6�
:�C�	�3��B�
�1�X����������1��
���B�s�G�	���C��B�
�)�)�5�)�
!�C��/�"�)�)��)�7�H����#�x�(rc	�*�tdd��}t|�|dz
}tj|d<t	d|d��}|jd�}|j
d	d
��}t	d|d|dtj|d
|d
dzgi�}tj||�|j
d	d	��}t	d|d|dtjtjtjgi�}tj||�y)NrIr$r"rr%rXrYrFT)rWr�rr�)	rrr.r2r	r4r�r:r;)rwr>r?r@r�r�s      r�test_groupby_cumsum_timedelta64r�e
s���
�\�1�
-�C�
��+��A��
�C�
�V�V�C��F�	���%�	&�B�	���C��B�
�)�)��t�)�
4�C�
�S�3�q�6�3�q�6�2�6�6�3�q�6�3�q�6�A�:�F�G�
H�C����#�s�#�
�)�)��u�)�
5�C�
�S�3�q�6�3�q�6�2�6�6�2�6�6�2�6�6�B�C�
D�C����#�s�#rc���|}|jd��j�}|j|j�j�}tj||�y)Nrr)r4rkr,r:ry)�(rand_series_with_duplicate_datetimeindex�dupsrrs    r�!test_groupby_mean_duplicate_indexr�w
sK��3�D�
�\�\��\�
"�
'�
'�
)�F��|�|�D�J�J�'�,�,�.�H����6�8�,rc�b�tgd�tjtjtjg�}|j|j�j�}tgt
gtj��tj��}tj||�y)Nrr�rM)rr8r�r4r,r\rrHrFr:ry�r#rrs   r� test_groupby_all_nan_groups_dropr�~
si���y�2�6�6�2�6�6�2�6�6�2�3�A�
�Y�Y�q�w�w�
�
#�
#�
%�F��b��b��
�
� ;�2�8�8�L�H����6�8�,rc��tggd���}|jddg|��}|j|��}|rtggggggddg��}|sdgng}nt	d	�}|sgd�nddg}tg||�
�}tj||�y)Nr-r�rrr�rVr�r)rr�)r	r4r\r
rr:r;)r�rWr?r@rr,r�rs        r�test_groupby_empty_multi_columnr��
s���
��O�	4�B�	���S�#�J���	2�B�
�V�V��V�
.�F���B��8�b�"�X�c�3�Z�@��+�3�%����1�
��)5�/�C��:����W�E�:�H����&�(�+rc��tddggddggddggddgggddg��}tdddgddggitddgd	d�
���}|jdg��}|j�}t	j
||�y)
Nr^rX�Wrerf�MWr�r�r��rErjr+r�)r	rr4r\r:r;)r?rr@rs    r�*test_groupby_aggregation_non_numeric_dtyper��
s���	�

��s��c�A�3�Z�#��t��s�R�D�k�:�T�3�K�
�B���1�a�&�2�r�(�#�	
��S�#�J�h�T�:�	�H�
����v��	�B�
�V�V�X�F����&�(�+rc��tgd�tdd�D�cgc]}t|d���c}tdd�D�cgc]}t|dzd���c}d��}ttdd�D�cgc]}t|d���c}tdd�D�cgc]}t|dzd���c}d	�td
dgdd�
���}|j	dg��}|j�}t
j||�ycc}wcc}wcc}wcc}w)N�rXrrXrXrrXr\�daysrerr^rK�r rrrFrRr�r+r�)r	r6rrr4r\r:r;�r�r?rr@rs     r�0test_groupby_aggregation_multi_non_numeric_dtyper�
s���	� �05�a���<�1�)�A�v�&�<�5:�1�a�[�A��)�A��F�F�+�A�	
�
�B��05�a���<�1�)�A�v�&�<�5:�1�a�[�A��)�A��F�F�+�A�	
��Q��F�'��4��H�
����u��	�B�
�V�V�X�F����&�(�+��=��A��=��As�C8
�C=�,D�D
c
�x�tgd�tdd�D�cgc]}t|d���c}ttdd��d��}ttdd�tdd�gddgd�t	d	dgd
d���
�}|jdg��}|j
�}tj||�ycc}w)Nr�rXr\r�rr^r�rrrFrRr�r+r�)	r	r6rr5rr4r\r:r;rs     r�7test_groupby_aggregation_numeric_with_non_numeric_dtyper�
s���	� �05�a���<�1�)�A�v�&�<��e�A�q�k�"�	
�
�B����F�#�Y�q�&�%9�:�!�Q��H��Q��F�'��4��H�

����u��	�B�
�V�V�X�F����&�(�+��=s�B7
c��ddddd�ddddd�ddddd�g}t|�}||ddk(}|jd�}|j�}tgd	�ggd
�tdgd����}t	j
||�y)
NFTg%@)�
filter_col�groupby_col�bool_col�	float_colg�4@g�>@rr)r�r�g$+��H@)rrr	r�r�)r	r4r7rr:r;)�dictsr?�	df_filter�dfgbrrs      r�test_groupby_filtered_df_stdr
�
s����T�t�RV�W��D�d�QU�V��D�d�QU�V�
�E�

�5�	�B��2�l�#�t�+�,�I����]�+�D�
�X�X�Z�F��	��7��T�F��/��H�
���&�(�+rc	��tttd��ttgd��d��t	j
gd�ddg��d	��}|j
d
dgd�
�j}d
td�ftjdg�dtd�ftjdg�dtd�ftjdg�i}||k(sJ�y)N�abc)rvz
2018-02-01z
2018-03-01�categoryr�)r*rrXrrX)�
categoriesr'rrF�rWz2018-01-01 00:00:00z2018-02-01 00:00:00rz2018-03-01 00:00:00r%)r	rr5rr�
from_codesr4rCrr8r�r�s   r�2test_datetime_categorical_multikey_groupby_indicesr�
s���	���U��$���F�G� ���'�'�
��1�v�F�
	
�	
�B��Z�Z��c�
�U�Z�
3�
;�
;�F�	�i�-�.�/����1�#��	�i�-�.�/����1�#��	�i�-�.�/����1�#���H�
�X���rc��dgdzdgdzz}tjtjdddgtjddddgz}t||g�j}dd	g|_d
}tjt|��5|jd�d	jdd��j�ddd�y#1swYyxYw)
N�Alicer$�BobrXr%rLr�rjr�z@^[a-zA-Z._]*\(\) got an unexpected keyword argument 'min_period'rV)�window�
min_period)r8r�r	r�r�r|r}rr4�rollingr\)�name_l�val_l�test_df�result_error_msgs    r�#test_rolling_wrong_param_min_periodr�
s����Y��]�e�W�q�[�
(�F�
�V�V�R�V�V�Q��1�%�����A�q�!�(<�<�E�����(�*�*�G��u�o�G�O�	L��
���y�(8�	9�M�������&�.�.�a�A�.�F�J�J�L�M�M�M�s�4C�C
r/c�$�tgd�gd�tgd�|��d��}tjdd�}|jdg�j	|�}td	d
gd	gddgd
dgd��jd�}t
j||�y)N)�Thomasr!�Thomas John)i�i�)�sad�happyr%r�)�Name�Credit�Moodr\)r(r'r&r%r$i�	r#r!r")r(r'r&)r	r�moder4rxrr:r;)rEr?�aggregate_detailsr�expected_results     r�.test_by_column_values_with_same_starting_valuer,
s���
�7�'��4�E�B�	
�
�B�"(����>��
�Z�Z���
!�
%�
%�&7�
8�F���u�%�w�/��S�k��}�-�	
���i���
����&�/�2rc��gd�gd�g}tdtj|ddg����}|jddg�	�j	�}tdd
gtj
ddgddg���}t
j||�y)
N)NrXrrX)r%rLr%rLrXrrr�r+rrr%)r�r%)rrL)rr
r�r4r\r�r:ry)rsr>rrs    r�#test_groupby_none_in_first_mi_levelr.(s����L�
)�C�
��*�0�0��S�#�J�G�
H�C�
�[�[��1�v�[�
&�
*�
*�
,�F��	
�A��
�&�&��(�';�C��:�N��H����6�8�,rc���tgd�gd�gd�d��}|jdg��j�}tddgdd	gd
�tddgd���
�}t	j
||�y)Nr)rXrXr%rL)r�r$r\r^)Nrrr�r%r$rK�
rrXr�r+)r	r4r\rr:r;r�s   r�test_groupby_none_column_namer13sb��	�,�\��M�	N�B�
�Z�Z�D�6�Z�
"�
&�
&�
(�F���1�v�Q��G�4�E�1�a�&�t�<T�U�H����&�(�+r�	selectionc�
�tddgtjdgtjdgd�ddg��}|�|jdg�n|jdg�|}|D��cgc]\}}|��	}}}d	d
g}||k(sJ�ycc}}w)NrXr%r$r'rRr r+r�rX)r%)r	r8r�r4)r2r?r�rrDrrs       r�!test_single_element_list_groupingr5;s���
�!�Q��r�v�v�q�k������D�S�RU�J�	W�B�#,�#4�b�j�j�#���"�*�*�c�U�:K�I�:V�G� '�
(�f�c�1�c�
(�F�
(��d�|�H��X�����)s�$A?c��tgd�gd�d��}|djd�|d<tgd�gd�d��}|djd�|d<|jdd�	�}|j�}t	j
||�y)
N)rrrr)rXr%rLr%)�str_col�num_colr7�stringr')r+rr,Fr�)r	r�r4rkr:r;)r?rr�rs    r�test_groupby_string_dtyper:Fs���	�3��M�	N�B��y�M�(�(��2�B�y�M���
'�
	
�	�H�#�9�-�4�4�X�>�H�Y���j�j��U�j�3�G�
�\�\�^�F����&�(�+rzlevel_arg, multiindex)�rF)r;Tc��tddgddgddgd�dd	g�
�}|r|jddg�}d
}tjt|��5|j|��D��cgc]\}}|��	c}}ddd�ycc}}w#1swYyxYw)NrXr%rLr�r$r\r'rRr r+rrz�Creating a Groupby object with a length-1 list-like level parameter will yield indexes as tuples in a future version. To keep indexes as scalars, create Groupby objects with a scalar level parameter instead.rVr)r	rr:rurvr4)�	level_argr!r?r*rrDs      r�7test_single_element_listlike_level_grouping_deprecationr>Zs���

�!�Q��q�!�f�A�q�6�:�3��*�	M�B��
�\�\�3��*�
%��	,�
�
�	#�	#�M��	B�8��:�:�I�:�6�7���a��7�8�8��7�8�8�s�B�"A;�.B�;B�B
)r\r��cumprodr�c��d}td|gd��}t|jd�|��|z
}tddgitdgd����}|d	vr|j	d
��}tj||�y)Nl�L�33ffrXrrrrr�r+)r�r?Tr�)r	r7r4rr�r:r;)rr�r?rrs     r�#test_groupby_avoid_casting_to_floatrAls���C�	��#��'�	(�B�
+�W�R�Z�Z��_�d�
+�
-��
3�F��#��s��5�!��3�+?�@�H��$�$��'�'�T�'�2�����&�(�+rz	func, val)r\rL)r�r%c���tdddtjgd�|��}t|j	d�|��}td|gitdgd|��|��}t
j||�y)	NrXr%rr�rrr�rM)r	r.�NAr7r4rr:r;)�any_numeric_ea_dtyperr�r?rrs      r�test_groupby_sum_support_maskrExsp��
��!�Q�����/�7K�	L�B�
+�W�R�Z�Z��_�d�
+�
-�F��	�s�e���Q�C�c�)=�>�"��H�
���&�(�+rz
val, dtype)�orN)���uintc	�6�td||gd�|�d���}|jd�j�}td|dzgitdgd|�d���|�d	��
�}t	j
||�|jd�j
�}td||dzgi|�d	���}t	j
||�|jd�j�}td||zgitdgd|�d���|�d	��
�}t	j
||�y)NrXr�8r�rrr%r��64rM)r	r4r\rr:r;r�r�)r�rEr?rrs     r�test_groupby_overflowrL�s��
��#�s��,�u�g�Q�K�	@�B�
�Z�Z��_�
 �
 �
"�F��	�s�Q�w�i���Q�C�c�E�7�!��5���r�l��H�
���&�(�+�
�Z�Z��_�
#�
#�
%�F��#��S�1�W�~�.���r�l�C�H����&�(�+�
�Z�Z��_�
!�
!�
#�F��	�s�S�y�k���Q�C�c�E�7�!��5���r�l��H�
���&�(�+rzskipna, val)TrLc���tddtjdgd�|��}|jd�j	|��}tddtj|gi|��}tj||�y)NrXr%rr�rr�r)r	r.rCr4r�r:r;)rDr�r�r?rrs      r�test_groupby_cumsum_maskrN�sl��
��!�R�U�U�A��/�7K�	L�B�
�Z�Z��_�
#�
#�6�
#�
2�F��	�q�"�%�%��o��"��H����&�(�+rzval_in, index, val_out)rrr,rr6)r�r�r�r�blah)r,rr6r,)rrr,rr6g@)r�r�r�rrOrO)r,rg&@r,c�|�t|dt|d����}|jd�j�}t|dtgd�d����}t	j
||�|j
�jd�j�}|j
�}t	j||�y)NrrOr�)rrjr,)r�rrOr�)rrr4r\r:ryr0r;)�val_inr,�val_out�seriesrrs      r�(test_groupby_index_name_in_index_contentrT�s���"��h�e�E��6O�
P�F�
�^�^�F�
#�
'�
'�
)�F��
�
��1��?��H�
���6�8�,�
�_�_�
�
&�
&�v�
.�
2�
2�
4�F�� � �"�H����&�(�+rr-)rXre� r�r�c��tddg|zd��}|djd�|d<|jd�j�}td|git	dgd����}tj||�y)NrXT)rrMrMrr�r+)r	�eqr4r\rr:r;)r-r?rrs    r�test_sum_of_booleansrX�sq��
�1�t�f�q�j�9�	:�B��F����t�$�B�v�J�
�Z�Z�
�
&�
*�
*�
,�F��&�1�#��e�Q�C�m�.L�M�H����&�(�+rz<ignore:invalid value encountered in remainder:RuntimeWarning)r@�tailr�r�r�c��tdtjdtjdgtd�d��}|dk(r#t	|jd�|�d�	�}n t	|jd�|��}|d
vr,tdgd�i�j
tgd
�d���}ntgd
�gd�d�gd���}tj||�y)Nrrrr$rYr�rr)r-)r�r�rr�r'r�r+)
r	r8r�r6r7r4rrr:r;)rSr?rrs    r�test_groupby_method_drop_nar[�s���
�#�r�v�v�s�B�F�F�C�8�u�Q�x�H�	I�B�
���1�����C��&�1�A�6��1�����C��&�1�3��
�"�"��c�9�-�.�8�8��?��-�
���?��C�9�U�����&�(�+rc���tjddd��}ttd��dz}|j	�}|j|�}t
jtd��5|j�ddd�t
jtd��5|j�ddd�t
jtd	��5|j�ddd�t
jtd
��5|j�ddd�|j�}|dd}ttd�t��|_t#j$||�|j'�}|dd}ttd�t��|_t#j$||�y#1swY��;xYw#1swY��xYw#1swY��xYw#1swY��xYw)
NrIr�r�r�rez+Period type does not support sum operationsrVz.Period type does not support cumsum operationsz,Period type does not support prod operationsz/Period type does not support cumprod operationsi����r�)r.�period_ranger5r6�	to_seriesr4r|r}rr\r�r�r?r�rrNr,r:ryr�)�pi�grpsr>r@r�rs      r�test_groupby_reduce_periodra�sq��	����s��	=�B���b�	�?�R��D�
�,�,�.�C�	���T�	�B�	���y�(U�	V��
�����	����I�
��	�	�	���
���y�(V�	W��
���	��	����J�
��	�
�
���

�&�&�(�C��3�4�y�H��5��9�C�0�H�N����3��)�
�&�&�(�C��3�B�x�H��5��9�C�0�H�N����3��)�+�����������s0�,F6� G�G�G�6G�G
�G�G%c���tgd�g�}gd�|_|j|d�}|j}|j	gd�d��}tj||�y)N)rrXr%rLrmrX)rr%rLr�)r	r�r4�_obj_with_exclusionsrEr:r;)r?r@rrs    r�*test_obj_with_exclusions_duplicate_columnsrdsT��	�L�>�	"�B��B�J�	���B�q�E�	�B�
�
$�
$�F��w�w�y�q�w�)�H����&�(�+rc�P�ddd�ddd�g}t|�}|jddd��}|r9|jd	�
�}tddgdg��}tj||�ytjtd�
�5|j|�
�ddd�y#1swYyxYw)Nr�r�r�car�darrF)r�r2TrVr�z(could not convert string to float: 'bar'rV)r	r4r7r:r;r|r}r�)rW�dicts_non_numericr?rr�expected_dfs      r�'test_groupby_numeric_only_std_no_resultrjs��� %�5�1��U�3K�L��	�$�	%�B�
�:�:�c�E��:�6�D�����t��,��������>��
���f�k�2�
�]�]��H�
�	0�
�H�H�,�H�/�	0�	0�	0�s�B�B%c���tgd�gd�d��}tj|dtjddd���}|j|d	gd
��dj
d�}ttd
dd��tddd��tddd��tddd��gd��}gd�}tj||gdd	g��}ttjdtjdtjdtjdtjtjdtjtjg�|d��}tj||�y)N)皙�����?皙�����?�333333�?皙����ٿ��?)rrrrr)rR�wrRrrXr$r�rqFrrkgD�l�ٿrlr�)�closedrmrnrpT)rcr'r�ror�)r	r.�qcutr8�linspacer4rxrrr
r�rr�r�r:ry)r?�qqr�categorical_index_level_1�
index_level_2r�rs       r�/test_grouping_with_categorical_interval_columnsrx$s;��	�3�:S�T�	U�B�	����C��B�K�K��1�a�0�	1�B�
�Z�Z��S�	�E�Z�
2�3�
7�
;�
;�F�
C�F� +��V�S��1��S�#�g�.��S�#�g�.��S�#�g�.�		
��!��$�M�	�	 �	 �	"�M�2�3��*�
�B��
�����������������������������

�	
� �
�%�H�(���6�8�,r�bug_varc���td|||tjgi�}|jd��}|j	d��}t|||dgdg��}tj||�y)Nrc��|SrZrPrQs rrSz;test_groupby_sum_on_nan_should_return_nan.<locals>.<lambda>Qs���rrX)�	min_countr�)r	r8r�r4r\r:r;)ryr?rrris     r�)test_groupby_sum_on_nan_should_return_nanr}Mse��
�C�'�7�G�R�V�V�<�=�	>�B�
�:�:�k�"�D�
�X�X��X�
"�F��W�g�w��=��u�M�K����&�+�.r)r��corr�cummax�cumminr?r5�rankr�r�r�rFr�rTr�r�r��
pct_changec�
�tdt|���}||_|jdg�dg}|dgj|d�}t	||��}t	||��}tj||�y)N�2014r"rr))rrtr,r4r7r:r;)r?rS�rngr��g_expr�r�s       r�#test_groupby_selection_with_methodsr�Xs���0�V�S��W�
-�C��B�H�
�
�
�C�5��3�%� �A���u�I���b��g�&�E��'�!�V�
�
�C�
 �'�%��
 �
"�C����#�s�#rc�\�tdt|���}d|j_||_|jdg�dg}|dgj|d�}d}t
jt|��5t
j|jd�|jd��ddd�d	}t
jt|��5t
j|j|j�ddd�t
j|jd
��|jd���t
j|jd�j�|jd�j��t
j|jd�j�|jd�j��t
j|j!d
��|j!d���y#1swY��gxYw#1swY��$xYw)Nr�r"r�rr)r�rVrz%DataFrameGroupBy.dtypes is deprecatedc�"�|j�SrZr[rQs rrSz6test_groupby_selection_other_methods.<locals>.<lambda>�s��A�E�E�G�rc�"�|j�SrZr[rQs rrSz6test_groupby_selection_other_methods.<locals>.<lambda>�s��A�E�E�G�rr�c��t|�dk(SrOr#rQs rrSz6test_groupby_selection_other_methods.<locals>.<lambda>�s��3�q�6�Q�;�rc��t|�dk(SrOr#rQs rrSz6test_groupby_selection_other_methods.<locals>.<lambda>�s���A��!��r)rrtr�rjr,r4r:rurvr;r�r�rz�resamplerkrxr()r?r�r�r�r�r�s      r�$test_groupby_selection_other_methodsr�~s���
�V�S��W�
-�C��B�J�J�O��B�H�
�
�
�C�5��3�%� �A���u�I���b��g�&�E�7�H�	�	#�	#�M��	B�<�
���a�h�h�q�k�5�<�<��?�;�<�
1�C�	�	#�	#�M��	=�6�
���a�h�h����5�6����!�'�'�"3�4�e�k�k�BS�6T�U����!�*�*�S�/�.�.�0�%�.�.��2E�2J�2J�2L�M����!�*�*�S�/�.�.�0�%�.�.��2E�2J�2J�2L�M����	���&�'����6K�)L��<�<��6�6�s�:5H�+H!�H�!H+c�F�tgd��j|�}tgd�gd�|d��}tddd|��}t|gd�gd�d	��}|j	td
d���}|j
�j�}tj||�y)N)z2016-08-31 22:08:12.000z2016-08-31 22:09:12.200z2016-08-31 22:20:12.400)rrr,)�quant�quant2�time2z2016-08-31 22:08:00r0�1min)r#r��unit)
rXrXrrrrrrrrrrrX)r�r�r�r�)rr�)
r�as_unitr	rr4r
r�r�r:r;)r��idx2�	test_datar��expected_outputr@rs       r�test_groupby_with_Time_Grouperr��s����	
���g�d�m�
	��!�_�t�L��I�
�,�b�v�D�Q�E���<�=�	
��O�
�	�	�7�w�V�<�	=�B�
�X�X�Z�
#�
#�
%�F����&�/�2rc���tgd�tdd��d��}|j|�j�}tddgd�	�}d|j_t
j||�y)
Nr�z
2022-01-01rLr"�janr�r%rXr�)rrr4r�r,rjr:ryr�s   r�1test_groupby_series_with_datetimeindex_month_namer��sY���y�
�<�� C�%�P�A�
�Y�Y�q�\�
�
�
!�F��q�!�f�5�)�H��H�N�N�����6�8�,r�test_serieszkwarg, value, name, warn)r�rrXNr�r4)rrrXNc��tdgd�itgd�d����}|r|d}|jd
i||i��}d}tj||��5|j|�}ddd�|rt
d	d
gtddgd��d��}	ntdd	d
gitddgd����}	tj|	�y#1swY�^xYw)Nrr�r�rr�r+z&you will need to pass a length-1 tuplerVrLr�rXr�rP)r	rr4r:rur�rrd)
r��kwargr�rjr�r�r@r�rrs
          r�$test_depr_get_group_len_1_list_likesr��s����S�)�$�E�)�#�,F�
G�C���#�h��	����	&��u�~�	&�B�
2�C�	�	#�	#�D��	4�$����d�#��$���1�a�&��q�!�f�3�(?�c�J���c�A�q�6�]�%��A��S�2I�J���O�O�F�H�%�
$�$�s�C�Cc���tttjg�dgd��}|j	ddgdd��j�}t
dg�}tj||�y)NrXrrrF)r�rWr)	r	rr8r�r4r�rr:ryr�s   r�test_groupby_ngroup_with_nanr��sZ��	��b�f�f�X�.�a�S�9�	:�B�
�Z�Z��c�
�5�5�Z�
A�
H�
H�
J�F��q�c�{�H����6�8�,rc�6�tgd�gd�gd�gd�gd�d��}tjtd��5|j	d	gd
���}ddd�jd	�}tgd�gd�d��}tj||�y#1swY�CxYw)
N)rrLr%rL)r�rXr\r^)rLr�r%re)rXr0r\r�)���r$r\i����)rirj�col3�col4�col5�
deprecatedrVrX)rXr%rLr%rX)r�r�)rir�)r	r:rurvr4r�r;r�s    r�test_get_group_axis_1r��s���	� � �!�"�"�	
�
�B�
�	#�	#�M��	F�9��*�*�!��*�8��9�
�
�
�q�
!�F�� �"�	
��H����&�(�+�9�9�s�B�Bc	��tdddddtjtjgigd���}|jd�	�j	�}tdgd
�igd���}tj||d��y)
NrrXr%rLr�r�r+rr)rXr%rLr�r%rLFr
)r	r8r�r4r�r:r;r�s   r�(test_groupby_ffill_with_duplicated_indexr��sg��	�C�!�Q��1�b�f�f�b�f�f�5�6�>P�	Q�B�
�Z�Z�a�Z�
 �
&�
&�
(�F��#�1�2�:L�M�H����&�(��>rc	��ttjt�rJ�t	td�td�ddgtd�td�td�td�gd��}|j
dd�	�}|r|d
}|jj}ttd�dgd��}tj||�y)NrXr%rLr�r$)rr�rF)r�r�r�)rv�decimal�InvalidOperationrr	rr4r��result_indexrr:r�)r�r?r@rrs     r�test_decimal_na_sortr�
s���
�'�2�2�I�>�>�>�	��A�J���
�D�$�7��a�j�'�!�*�g�a�j�'�!�*�E�	
�
�B�
���E�%��	(�B��
��[��
�[�[�
%�
%�F��g�a�j�$�'�e�4�H����&�(�+r)�rr�rr}�numpyr8r|�
pandas.errorsrr�pandas.util._test_decorators�util�_test_decorators�td�pandas.core.dtypes.commonr�pandasr.rr	r
rrr
rrrrrr�pandas._testing�_testingr:�pandas.core.arraysr�pandas.core.common�core�commonr��mark�filterwarnings�
pytestmarkrrD�parametrizer�r�r�r�r�r�r�rr
rr-r9rLrTrZrkrmrxr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr	rrrr$r(r-r4r;rErGrWrZr^rarjrlrnrur|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr*r/r?rHr]r�rkrorqrsr{rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r��param�
skip_if_nor�r�r�r�r�r�r�r�r�r�rrr
rrr�r,r.r1r5r:r>rArErLrCrNrTrXr[rardrjrxr}r�r�r�r�rvr�r�r�r�r�rPrr�<module>r�s������	��
��*�)�5��
�
�
�
��+� � �
�[�[�
'�
'�(S�
T�
��,�6������"J�K�>+�L�>+�BD�-�.E&�P2I�j������d�E�]�3�)�4�)�,$�,��������
F��,��,�6:'�z �0%&�P#�.8�6�8+�-+�`4�n������ 1�3E�F�G�-�H�-�@
-� 0�*�@+�F,�D.�2&�,�.,�	D�6�0	+�<�4������
�E�N��,�	�,�������:��������$���7�0�8�	�
0�:��'�0(�+�((�.�.�@-�,�$,�0'�*;�Z,�,�(
�,�-�"(�.,�	,���/�.<�	-�B�*
,��<&�~�	8�#�$*0�Z&�-�0�,�-�������S�3��*�$5�6��7��@#�$.�@�*5�6$�*.4�b-�:,��������X�y�6�8�"4�v�y�6I�J��������\�?�\�?�4S�T����	��6
�$������S�3�%�L�1�������3�%�#�s��!4�5�������	
��	
��	��	���Q�C��	�Q����1�a��|�,������a�c�:�����!��G�$�����!��I�&�����%��	�*��	���:������#;�<�������
C��x&��=�;�6�2�Fx&�v	+�-�&"�,�8
-� �
-� ,��������c�U�|�4�-�5�-�6������
�����3�4��3�4���
�	
�	
�
���3�4��3�4��3�4��3�4��3�4��3�4�
�	
�	
�
���3�4��3�4��3�4��3�4��3�4��3�4�
�	
�	
�7(�+�X,�Y+�X,�,-�-�*&�Z&$�R,���������
"��
"�0�������	�G�S�!�	�J��&�	�F�E�"�	�L�%�(�	�J��%�	�H�e�$�	��#��	��U�#�	����	��u�%�	��T�"�	��5�!�
��"<�#�"<��������!8�9�,�:�,�������
�����T�����y�!9�:���
,��
,� -�������e�d�D�\�*�V�e�T�]�,C�D��,��,�	>�
)� $�$-�-�������$���7�,�8�,�,�$,�.,�(,�(�*M������������,�M�B�M�M�)�4L�M���3��3�.-�,�������t�S�3�%�&8�9��:��,�(�������s�E�l�M�Q�C��;��U��8��8�������!E�F�,�G�,�������z�;�&?�@�	,�A�	,��������m�'D�E�,�F�,�0�������U�B�E�E�N�(C�D�,�E�,�������
&�0� �	
�
+�8�!�	
�
��
,��
,� ������4�5�,�6�,������B��������#K�L�,�M��,�$*�>,�������$���7�0�8�0�"&-�R������Q��H�-�/�.�/���������,
$�-�,
$� �43�8-��������u�
�6��������	
��u�a��'�	
��u�d�D�!��	�1�#�q�-�(�	�1�#�t�T�"�
�
�
&�
�7�
&� -�,�.?��������u�
�6�,�7�,r

Youez - 2016 - github.com/yon3zu
LinuXploit