Ë
    *V.j&³  ã                   ó  — d Z ddlmZmZ ddlZddlZddlZddlm	Z	m
Z
mZmZmZmZmZmZmZ ddlmZ ddlmZ  G d„ d«      Z G d„ d	«      Z G d
„ d«      Z G d„ d«      Zd„ Zd„ Zej:                  j=                  dg d¢«      d„ «       Zy)zG
test where we are determining what we are grouping, or getting groups
é    )ÚdateÚ	timedeltaN)	ÚCategoricalIndexÚ	DataFrameÚGrouperÚIndexÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_rangeÚperiod_range)ÚGroupingc                   óˆ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                  j                  dd	„ d
„ g«      d„ «       Zd„ Zy)ÚTestSelectionc                 ó$  — t        ddggddg¬«      }|j                  d«      }t        j                  t        d¬«      5  |dg    d d d «       t        j                  t        d	¬«      5  |ddg    d d d «       y # 1 sw Y   Œ5xY w# 1 sw Y   y xY w)
Né   é   ÚAÚB©Úcolumnsz"Columns not found: 'C'"©ÚmatchÚCz^[^A]+$)r   ÚgroupbyÚpytestÚraisesÚKeyError)ÚselfÚdfÚgs      údC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pandas/tests/groupby/test_grouping.pyÚtest_select_bad_colsz"TestSelection.test_select_bad_cols    s{   € Ü˜˜A˜�x¨#¨s¨Ô4ˆØ�J‰J�s‹OˆÜ�]‰]œ8Ð+GÖHØˆsˆeŠH÷ Iô �]‰]œ8¨9Ö5ð ˆs�CˆjŠM÷ 6Ð5÷ IÐHú÷ 6Ð5ús   ¿A:Á)BÁ:BÂBc           
      ó  — t        g d¢t        d«      t        dd«      t        ddd«      g¬«      }d}t        j                  t        |¬	«      5  |j                  d
«       d d d «       t        j                  t        |¬	«      5  |j                  d
dg«       d d d «       |j                  d«      }|j                  «       }|j                  j                  dk(  sJ ‚|j                  j                  dk(  sJ ‚y # 1 sw Y   Œ˜xY w# 1 sw Y   ŒmxY w)N)r   r   r   r   é   r   é   r   é   )r   Údataz!Grouper for 'A' not 1-dimensionalr   r   r   r   é   )
r   Úranger   r   Ú
ValueErrorr   Úcountr   ÚnlevelsÚsize)r   r    ÚmsgÚgroupedÚcs        r"   Ú'test_groupby_duplicated_column_errormsgz5TestSelection.test_groupby_duplicated_column_errormsg+   sÌ   € äÚ(´°a³¼%ÀÀ1»+ÄuÈQÐPQÐSTÃ~Ð/Vô
ˆð 2ˆÜ�]‰]œ:¨SÖ1Ø�J‰J�sŒO÷ 2ä�]‰]œ:¨SÖ1Ø�J‰J˜˜S�zÔ"÷ 2ð —*‘*˜S“/ˆØ�M‰M‹OˆØ�y‰y× Ñ  AÒ%Ð%Ð%Ø�y‰y�~‰~ Ò"Ð"Ñ"÷ 2Ð1úç1Ð1ús   ÁC7ÂDÃ7D ÄDc                 óˆ  — |j                  d«      j                  j                  «       }|j                  d«      d   j                  «       }t        j                  ||«       d|d<   |j                  d«      j                  d¬«      }|j                  d«      g d¢   j                  d«      }t        j                  ||«       y )Nr   r   g      ø?ÚmeanT©Únumeric_only)r   ÚDr4   )r   r   ÚsumÚtmÚassert_series_equalr4   ÚaggÚassert_frame_equal©r   r    ÚresultÚexpecteds       r"   Útest_column_select_via_attrz)TestSelection.test_column_select_via_attr<   s›   € Ø—‘˜C“×"Ñ"×&Ñ&Ó(ˆØ—:‘:˜c“? 3Ñ'×+Ñ+Ó-ˆÜ
×Ñ˜v xÔ0àˆˆ6‰
Ø—‘˜C“×%Ñ%°4Ð%Ó8ˆØ—:‘:˜c“?Ò#5Ñ6×:Ñ:¸6ÓBˆÜ
×Ñ˜f hÕ/ó    c           	      ó˜  — t        g d¢g d¢t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      }|j                  d«      ddg   j                  «       }|j                  d«      |j                  dd	    j                  «       }|j                  d d …g d
¢f   j                  d«      j                  «       }t        j                  ||«       t        j                  ||«       y )N©ÚfooÚbarrD   rE   rD   rE   rD   rD   ©ÚonerG   ÚtwoÚthreerH   rH   rG   rI   r   r'   ©r   r   r   r7   ÚEr   r   r7   r%   )r   r   r7   )r   ÚnpÚrandomÚdefault_rngÚstandard_normalr   r4   r   Úlocr9   r<   ©r   r    r>   Úresult2r?   s        r"   Útest_getitem_list_of_columnsz*TestSelection.test_getitem_list_of_columnsF   sû   € ÜâMÚQÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@Ü—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@Ü—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@ñó
ˆð —‘˜C“ # s Ñ,×1Ñ1Ó3ˆØ—*‘*˜S“/ "§*¡*¨Q¨q /Ñ2×7Ñ7Ó9ˆà—6‘6š!š_Ð,Ñ-×5Ñ5°cÓ:×?Ñ?ÓAˆä
×Ñ˜f hÔ/Ü
×Ñ˜g xÕ0rA   c                 óJ  — t        t        d«      dz  t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      dœ«      }|j                  d«      |j                  dd    j                  «       }|j                  d«      ddg   j                  «       }|j                  d d …g d	¢f   j                  d«      j                  «       }t        j                  ||«       t        j                  ||«       t        j                  t        d
¬«      5  |j                  d«      d   j                  «        d d d «       y # 1 sw Y   y xY w)NÚabcdr   r'   )r   r   r%   r&   r   r   r)   r%   ©r   r   r%   ú"Cannot subset columns with a tupler   )r   r%   )r   ÚlistrL   rM   rN   rO   r   r   r4   rP   r9   r<   r   r   r+   rQ   s        r"   Ú!test_getitem_numeric_column_namesz/TestSelection.test_getitem_numeric_column_namesY   s7  € ää˜“< !Ñ#Ü—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>Ü—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>Ü—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>ñ	ó
ˆð —‘˜A“˜rŸz™z¨!¨A˜Ñ/×4Ñ4Ó6ˆØ—*‘*˜Q“-  A Ñ'×,Ñ,Ó.ˆà—6‘6š!šY˜,Ñ'×/Ñ/°Ó2×7Ñ7Ó9ˆä
×Ñ˜f hÔ/Ü
×Ñ˜g xÔ0ô �]‰]œ:Ð-QÖRØ�J‰J�q‹M˜$Ñ×$Ñ$Ô&÷ S×RÑRús   Å-#FÆF"c                 ó¨   — t        j                  t        d¬«      5  |j                  d«      d   j	                  «        d d d «       y # 1 sw Y   y xY w)NrW   r   r   )r   r7   )r   r   r+   r   r4   ©r   r    s     r"   Ú+test_getitem_single_tuple_of_columns_raisesz9TestSelection.test_getitem_single_tuple_of_columns_raiseso   s7   € ä�]‰]œ:Ð-QÖRØ�J‰J�s‹O˜HÑ%×*Ñ*Ô,÷ S×RÑRús   œ#AÁAc           	      ó4  — t        g d¢g d¢t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      }|j                  d«      d   j                  «       }|j                  d d …ddgf   j                  d«      j                  «       }|j                  d d …df   }|}t        j                  ||«       y )	NrC   rF   r   r'   rJ   r   r   r   )r   rL   rM   rN   rO   r   r4   rP   Úilocr9   r:   )r   r    r>   Úas_frameÚ	as_seriesr?   s         r"   Útest_getitem_single_columnz(TestSelection.test_getitem_single_columnt   sÜ   € ÜâMÚQÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@Ü—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@Ü—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@ñó
ˆð —‘˜C“ Ñ%×*Ñ*Ó,ˆà—6‘6š!˜c 3˜Z˜-Ñ(×0Ñ0°Ó5×:Ñ:Ó<ˆØ—M‘M¢! Q $Ñ'ˆ	Øˆä
×Ñ˜v xÕ0rA   Úfuncc                 ó"   — | j                  «       S ©N©r8   ©Úxs    r"   Ú<lambda>zTestSelection.<lambda>ˆ   s
   € ˜1Ÿ5™5œ7rA   c                 ó&   — | j                  d„ «      S )Nc                 ó"   — | j                  «       S rd   re   )Úys    r"   rh   z(TestSelection.<lambda>.<locals>.<lambda>ˆ   s
   € ¸a¿e¹e¼grA   )r;   rf   s    r"   rh   zTestSelection.<lambda>ˆ   s   € ¨a¯e©eÑ4EÔ.FrA   c                 óò   — t        g d¢ddddœ«      }|j                  ddg«      ddg   }t        j                  d	d
gddg¬«      }t        ddgddgdœ|¬«      } ||«      }t	        j
                  ||«       y )N©r   r   r   r)   r%   é   ©ÚaÚbr1   Údrp   rq   r1   )r   r)   )r   r)   ©Únamesr   r'   )rp   r1   ©Úindex)r   r   r	   Úfrom_tuplesr9   r<   )r   rb   r    ÚgbÚidxr?   r>   s          r"   Útest_getitem_from_grouperz'TestSelection.test_getitem_from_grouper‡   s   € ô
 šY¨Q°Q¸QÑ?Ó@ˆØ�Z‰Z˜˜c˜
Ó# S¨# JÑ/ˆä×$Ñ$ f¨fÐ%5¸cÀ3¸ZÔHˆÜ A q 6°°A°Ñ7¸sÔCˆÙ�b“ˆä
×Ñ˜f hÕ/rA   c                 óÔ   ‡— t        dd„ dD «       i«      Š‰j                  d«      }‰j                  ˆfd„«      }|j                  }|j                  }t        j                  ||«       y )NÚTuplesc              3   óŽ   K  — | ]=  }t         j                  j                  d «      j                  ddd«      D ]  }||f–— Œ
 Œ? y­w©r   r)   rn   N©rL   rM   rN   Úintegers©Ú.0rg   rk   s      r"   Ú	<genexpr>zJTestSelection.test_indices_grouped_by_tuple_with_lambda.<locals>.<genexpr>™   óG   è ø€ ð á#˜ÜŸY™Y×2Ñ2°1Ó5×>Ñ>¸qÀ!ÀQÖG˜ð ˜”FàGð Ù#ùó   ‚AA©r   r   c                 ó&   •— ‰j                   | df   S ©Nr   ©r^   ©rg   r    s    €r"   rh   zITestSelection.test_indices_grouped_by_tuple_with_lambda.<locals>.<lambda>¢   ó   ø€ ¨¯©°°A°ªrA   )r   r   Úindicesr9   Úassert_dict_equal©r   rx   Ú	gb_lambdar?   r>   r    s        @r"   Ú)test_indices_grouped_by_tuple_with_lambdaz7TestSelection.test_indices_grouped_by_tuple_with_lambda•   se   ø€ äàñ á#óðó
ˆð �Z‰Z˜Ó!ˆØ—J‘JÓ6Ó7ˆ	à—:‘:ˆØ×"Ñ"ˆä
×Ñ˜V XÕ.rA   N)Ú__name__Ú
__module__Ú__qualname__r#   r2   r@   rS   rY   r\   ra   r   ÚmarkÚparametrizerz   r�   © rA   r"   r   r      sY   „ ò	ò#ò"0ò1ò&'ò,-ò
1ð& ‡[�[×ÑØÑ"Ñ$FÐGóñ	0óð	0ó/rA   r   c                   ó„  — e Zd Zej                  j                  d e ed«      «       e ej                  d«      «       e ej                  de
¬«      «       edd¬«       edd¬«      g«      d„ «       Zd„ Zd	„ Zd
„ Zd„ Zej                  j                  dddg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢g d¢ ed«      D � ��cg c]  }t9        ddd|z   «      ‘Œ c}}} g«      d„ «       Zd„ Zd „ Zd!„ Z d"„ Z!d#„ Z"d$„ Z#d%„ Z$d&„ Z%d'„ Z&ej                  j                  d(ddg«      d)„ «       Z'd*„ Z(ej                  j                  d(ddg«      d+„ «       Z)d,„ Z*ej                  j                  d-dg d.¢gdg d/¢gg«      d0„ «       Z+d1„ Z,d2„ Z-ej                  j                  d3d4 e.d5ej^                  ¬6«      fd7 e.d5ej^                   eg ej^                  d8¬9«      ¬:«      fd; e.d5ej^                   eg ej^                  d8¬9«      ¬:«      fg«      d<„ «       Z0d=„ Z1d>„ Z2d?„ Z3y@c c}}} w )AÚTestGroupingrv   Úabcdern   ©Údtypez
2020-01-01©Úperiodsc                 óV  — t        t        j                  d«      j                  dd«      t	        d«      |¬«      }|j                  t	        d«      d¬«      j                  d	„ «       |j                  d d d
…   |_        |j                  t	        d«      d¬«      j                  d„ «       y )Né
   rn   r   ÚAB)r   rv   r™   F©Ú
group_keysc                 ó   — | S rd   r–   rf   s    r"   rh   z7TestGrouping.test_grouper_index_types.<locals>.<lambda>¾   ó   € ÁArA   éÿÿÿÿc                 ó   — | S rd   r–   rf   s    r"   rh   z7TestGrouping.test_grouper_index_types.<locals>.<lambda>Á   r¤   rA   )r   rL   ÚarangeÚreshaperX   r   Úapplyrv   )r   rv   r    s      r"   Útest_grouper_index_typesz%TestGrouping.test_grouper_index_types¯   s|   € ô ”r—y‘y “}×,Ñ,¨Q°Ó2¼DÀ»JÈeÔTˆà
�
‰
”4˜“=¨Uˆ
Ó3×9Ñ9¹+ÔFà—8‘8™D˜b˜D‘>ˆŒØ
�
‰
”4˜“=¨Uˆ
Ó3×9Ñ9¹+ÕFrA   c                 ó  — t        j                  «       t        d¬«      z
  }t        |t        j                  «       «      }t	        j
                  ||gddg¬«      }t        t        j                  j                  d«      j                  ddd	«      |¬
«      }|j                  «       j                  t        dd¬«      t        dd¬«      g«      j                  «       }t        dgd¬«      |_        |j                  t        dd¬«      t        dd¬«      g«      j                  «       }t#        j$                  ||«       |j                  t        dd¬«      t        dd¬«      g«      j                  «       }t#        j$                  ||«       y )Né   )ÚdaysrD   rE   rs   r   r   éd   éá   ru   ÚW©ÚkeyÚfreqÚint64rš   ©Úlevelr³   r   )r   Útodayr   r   r	   Úfrom_productr   rL   rM   rN   r€   Úreset_indexr   r   r8   r   r   r9   r<   )r   Úd0ÚdatesÚ
date_indexr    r?   r>   s          r"   Útest_grouper_multilevel_freqz)TestGrouping.test_grouper_multilevel_freqÃ   s9  € ô �Z‰Z‹\œI¨2Ô.Ñ.ˆÜ˜2œtŸz™z›|Ó,ˆÜ×,Ñ,¨e°U¨^ÀEÈ5À>ÔRˆ
Ü”r—y‘y×,Ñ,¨QÓ/×8Ñ8¸¸CÀÓEÈZÔXˆð �N‰NÓß‰W”g %¨cÔ2´GÀÈCÔ4PÐQÓRß‰S‹Uð 	ô ! ! ¨GÔ4ˆÔà—‘Ü˜5 sÔ+¬W¸5ÀsÔ-KÐLó
ç
‰#‹%ð 	ô 	×Ñ˜f hÔ/ð —‘Ü˜1 3Ô'¬°q¸sÔ)CÐDó
ç
‰#‹%ð 	ô 	×Ñ˜f hÕ/rA   c                 óÄ  — t        g d¢g d¢dœ«      }|j                  d«      }|j                  «       }|j                  t        d¬«      «      }|j                  «       }t	        j
                  ||«       d}t	        j                  t        |¬«      5  t        dd¬	«      }d d d «       |j                  «      }|j                  «       }t	        j
                  ||«       d
}t	        j                  t        |¬«      5  |j                  d„ «      }d d d «       g d¢|d<   |j                  d d …ddgf   }t	        j
                  ||«       y # 1 sw Y   Œ«xY w# 1 sw Y   ŒHxY w)N)r   r   r   r   r   r   ©r   r   r)   r%   rn   r&   ©r   r   r   ©r²   z6Grouper axis keyword is deprecated and will be removedr   r   )r²   Úaxisz7DataFrameGroupBy.apply operated on the grouping columnsc                 ó"   — | j                  «       S rd   re   rf   s    r"   rh   z8TestGrouping.test_grouper_creation_bug.<locals>.<lambda>ò   s
   €  q§u¡u¤wrA   rV   r   )r   r   r8   r   r9   r<   Úassert_produces_warningÚFutureWarningÚDeprecationWarningr©   rP   )r   r    r!   r?   r>   r/   Úgprs          r"   Útest_grouper_creation_bugz&TestGrouping.test_grouper_creation_bugß   s  € äÒ/Ò6HÑIÓJˆØ�J‰J�s‹OˆØ—5‘5“7ˆà�J‰J”w 3Ô'Ó(ˆØ—‘“ˆÜ
×Ñ˜f hÔ/àFˆÜ×'Ñ'¬¸SÖAÜ˜c¨Ô*ˆC÷ Bà�J‰J�s‹OˆØ—‘“ˆÜ
×Ñ˜f hÔ/àGˆÜ×'Ñ'Ô(:À#ÖFØ—W‘WÑ.Ó/ˆF÷ Gâ!ˆ�‰Ø—<‘<¢ C¨ : Ñ.ˆÜ
×Ñ˜f hÕ/÷ BÐAú÷ GÐFús   ÂE
Ã<EÅ
EÅEc                 óØ  — t        g d¢g d¢g d¢dœ«      }|j                  d«      j                  «       }|j                  t        d¬«      g«      }|j                  «       }t	        j
                  ||«       |j                  ddg«      j                  «       }|j                  t        d¬«      t        d¬«      g«      }|j                  «       }t	        j
                  ||«       |j                  dt        d¬«      g«      }|j                  «       }t	        j
                  ||«       |j                  t        d¬«      dg«      }|j                  «       }t	        j
                  ||«       y )N)r   r   r   r   r   r   )r   r   r   r   r)   r)   r¿   ©r   r   r   r   rÁ   r   )r   r   r8   r   r9   r<   )r   r    r?   r!   r>   s        r"   Útest_grouper_creation_bug2z'TestGrouping.test_grouper_creation_bug2÷   s$  € ô Ú$Ò+=ÒDVÑWó
ˆð —:‘:˜c“?×&Ñ&Ó(ˆØ�J‰Jœ CÔ(Ð)Ó*ˆØ—‘“ˆÜ
×Ñ˜f hÔ/ð —:‘:˜s C˜jÓ)×-Ñ-Ó/ˆð �J‰Jœ CÔ(¬'°cÔ*:Ð;Ó<ˆØ—‘“ˆÜ
×Ñ˜f hÔ/ð �J‰J˜œW¨Ô-Ð.Ó/ˆØ—‘“ˆÜ
×Ñ˜f hÔ/ð �J‰Jœ CÔ(¨#Ð.Ó/ˆØ—‘“ˆÜ
×Ñ˜f hÕ/rA   c                 ó|  — t        dd|¬«      }t        j                  t        d«      t	        d«      |gg d¢¬«      }t        t        j                  dd¬	«      |¬
«      }|j                  t        dd¬«      «      j                  «       }t        j                  t        d«      gdd¬«      j                  |«      }t        dg|¬
«      }t        j                   ||«       |j                  t        d¬«      «      j                  «       }|j                  d¬«      j                  «       }t        j                   ||«       y )NÚ20130101r   )r�   ÚunitÚab)rG   rH   rI   rs   r'   r´   rš   ru   rI   ÚMErµ   z
2013-01-31)r³   Únameé   rG   ©r¶   )r   r	   r¸   rX   r*   r
   rL   r§   r   r   r8   ÚpdÚDatetimeIndexr   Úas_unitr9   r:   )r   rÎ   ÚdtiÚmiÚserr>   Úexp_dtir?   s           r"   Útest_grouper_creation_bug3z'TestGrouping.test_grouper_creation_bug3  s
  € ä˜¨Q°TÔ:ˆÜ×$Ñ$Ü�$‹Zœ˜q› 3Ð'Ú)ô
ˆô Ü�I‰I�a˜wÔ'Øô
ˆð —‘œW¨7¸Ô>Ó?×CÑCÓEˆÜ×"Ñ"Ü�|Ó$Ð%¨D°wô
ç
‰'�$‹-ð 	ô ØˆDØô
ˆô 	×Ñ˜v xÔ0ð —‘œW¨5Ô1Ó2×6Ñ6Ó8ˆØ—;‘; U�;Ó+×/Ñ/Ó1ˆÜ
×Ñ˜v xÕ0rA   rb   FTc                 óR  ‡— t        g d¢g d¢dœ«      }t        t        t        d«      ddgdz  «      «      Š|r|j	                  ˆfd„d	¬
«      }n|j	                  ‰d	¬
«      }t        t        |«      «      \  }}|dk(  sJ ‚|j                  |«      }t        j                  ||«       y )N©r   r   r   r   )r   r%   r)   r   )ÚXÚYr%   )r   rn   )r7   r&   r   c                 ó   •— ‰|    S rd   r–   )ry   Úmappings    €r"   rh   z<TestGrouping.test_grouper_returning_tuples.<locals>.<lambda>7  s	   ø€ ¨7°3ª<rA   F)ÚbyÚsort)
r   ÚdictÚzipr*   r   ÚnextÚiterÚ	get_groupr9   r<   )r   rb   r    rx   rÑ   r?   r>   rá   s          @r"   Útest_grouper_returning_tuplesz*TestGrouping.test_grouper_returning_tuples0  s™   ø€ ô Ò1ºÑEÓFˆÜ”sœ5 ›8 h°Ð%9¸AÑ%=Ó>Ó?ˆáØ—‘Ó7¸e�ÓD‰Bà—‘˜w¨U�Ó3ˆBäœd 2›h›‰ˆˆhØ�xÒÐÐØ—‘˜dÓ#ˆä
×Ñ˜f hÕ/rA   c                 óP  — t        j                  g d¢«      }ddg|_        t        t	        j
                  d«      g d¢dœ|¬«      }|j                  dt        d¬	«      g«      j                  d
¬«      }|j                  «       j                  ddg«      j                  d
¬«      }t        j                  ||«       |j                  t        d¬	«      dg«      j                  d
¬«      }|j                  «       j                  ddg«      j                  d
¬«      }t        j                  ||«       |j                  d«      }|j                  dt        d¬	«      g«      j                  d
¬«      }|j                  «       j                  ddg«      j                  d
¬«      }t        j                  ||«       |j                  t        d¬	«      dg«      j                  d
¬«      }|j                  «       j                  ddg«      j                  d
¬«      }t        j                  ||«       y )N)©rp   r   )rp   r   )rp   r)   ©rq   r   ©rq   r   )rq   r)   ÚouterÚinnerr&   )rG   rG   rH   rH   rG   rG   rÀ   ru   r   rÓ   Tr5   )r	   rw   rt   r   rL   r§   r   r   r4   r¹   r9   r<   )r   ry   Údf_multir>   r?   Ú	df_singles         r"   Útest_grouper_column_and_indexz*TestGrouping.test_grouper_column_and_indexA  s  € ô
 ×$Ñ$ÚHó
ˆð ˜gÐ&ˆŒ	ÜÜ—)‘)˜A“,Ò%OÑPØô
ˆð ×!Ñ! 3¬°gÔ(>Ð"?Ó@×EÑEÐSWÐEÓXˆà× Ñ Ó"×*Ñ*¨C°¨>Ó:×?Ñ?ÈTÐ?ÓRð 	ô 	×Ñ˜f hÔ/ð ×!Ñ!¤7°Ô#9¸3Ð"?Ó@×EÑEÐSWÐEÓXˆà× Ñ Ó"×*Ñ*¨G°S¨>Ó:×?Ñ?ÈTÐ?ÓRð 	ô 	×Ñ˜f hÔ/ð ×(Ñ(¨Ó1ˆ	Ø×"Ñ" C¬°wÔ)?Ð#@ÓA×FÑFØð Gó 
ˆð ×!Ñ!Ó#×+Ñ+¨S°'¨NÓ;×@Ñ@ÈdÐ@ÓSð 	ô 	×Ñ˜f hÔ/ð ×"Ñ"¤G°'Ô$:¸CÐ#@ÓA×FÑFØð Gó 
ˆð ×!Ñ!Ó#×+Ñ+¨W°c¨NÓ;×@Ñ@ÈdÐ@ÓSð 	ô 	×Ñ˜f hÕ/rA   c                 óÀ  — ddg}t        j                  g d¢|¬«      }t        t        j                  d«      j                  dd«      |¬«      }|j                  |¬	«      j                  «       }|j                  «       j                  |«      j                  «       }|j                  j                  t        j                  «      |_	        t        j                  ||«       y )
Nrg   rk   )©r   r   ©r   r   )r)   r%   )rn   r&   rs   é   r¥   r)   ru   rÓ   )r	   rw   r   rL   r§   r¨   r   r4   r¹   r   Úastyper´   r9   r<   )r   Ú	idx_namesry   r    Ú	by_levelsÚ
by_columnss         r"   Útest_groupby_levels_and_columnsz,TestGrouping.test_groupby_levels_and_columnso  s§   € à˜#�Jˆ	Ü×$Ñ$Ò%EÈYÔWˆÜ”r—y‘y “}×,Ñ,¨R°Ó3¸3Ô?ˆà—J‘J Y�JÓ/×4Ñ4Ó6ˆ	à—^‘^Ó%×-Ñ-¨iÓ8×=Ñ=Ó?ˆ
ð (×/Ñ/×6Ñ6´r·x±xÓ@ˆ
ÔÜ
×Ñ˜i¨Õ4rA   c                 ó(  — g d¢}ddg}t        j                  g d¢g d¢g d¢g d¢g d¢gt        «      }t        ||d¬«      }t	        ||¬«      }d}t        j                  t        |¬	«      5  |j                  d
d|¬«      j                  «       }d d d «       t        j                  ddgddgddgddgddggt        «      }	t        ||d¬«      }
t	        |	|
¬«      }t        j                  |«       t	        |j                  |¬«      }d}t        j                  t        |¬	«      5  |j                  dd|¬«      j                  «       }d d d «       t	        |	j                  |
¬«      }t        j                  ||«       y # 1 sw Y   ŒðxY w# 1 sw Y   ŒCxY w)NrÝ   r   r   )r   r   r   r   T)Ú
categoriesÚordered)r(   r   ú+DataFrame.groupby with axis=1 is deprecatedr   r   r   )rÂ   r¶   Úobservedr%   r   ru   ú5The 'axis' keyword in DataFrame.groupby is deprecated)r(   rv   )rL   ÚarrayÚintr   r   r9   rÄ   rÅ   r   r8   r<   ÚT)r   r   r   rý   r(   Úcat_columnsr    Údepr_msgr>   Úexpected_dataÚexpected_columnsr?   r/   s                r"   Ú*test_groupby_categorical_index_and_columnsz7TestGrouping.test_groupby_categorical_index_and_columns}  sb  € â&ˆØ˜3�Zˆ
Ü�x‰xÚš<ª²|Â\ÐRÔTWó
ˆô ' w¸:ÈtÔTˆÜ˜D¨+Ô6ˆØ@ˆÜ×'Ñ'¬¸XÖFØ—Z‘Z Q¨a¸(�ZÓC×GÑGÓIˆF÷ GäŸ™ 1 a &¨1¨a¨&°1°a°&¸1¸a¸&À1ÀaÀ&Ð!IÌ3ÓOˆÜ+Ø :°tô
Ðô  -Ð9IÔJˆÜ
×Ñ˜f hÔ/ô �t—v‘v [Ô1ˆØEˆÜ×'Ñ'¬¸SÖAØ—Z‘Z Q¨a¸(�ZÓC×GÑGÓIˆF÷ Bä -§/¡/Ð9IÔJˆÜ
×Ñ˜f hÕ/÷ GÐFú÷ BÐAús   Á*#E<Ä##FÅ<FÆFc                 ó’  — t        ddit        j                  t        d«      t	        dd¬«      gddg¬	«      ¬
«      }|j                  t        d¬«      t        dd¬«      g«      j                  «       }t        dg d¢it        j                  t        d«      t	        ddd¬«      gddg¬	«      ¬
«      }t        j                  ||«       y )Nr   r   rÏ   rÍ   éP   rœ   rG   rH   rs   ru   rÓ   rÐ   rµ   )é   rÒ   é   r  rÒ   r  r)   )r³   r�   )
r   r	   r¸   rX   r   r   r   r8   r9   r<   r=   s       r"   Ú#test_grouper_getting_correct_binnerz0TestGrouping.test_grouper_getting_correct_binner˜  s¼   € ô Ø�!ˆHÜ×)Ñ)Ü�d“œZ¨
¸BÔ?Ð@ÈÐPUÈôô
ˆð —‘Ü˜5Ô!¤7°¸TÔ#BÐCó
ç
‰#‹%ð 	ô ØÒ*Ð+Ü×)Ñ)Ü�d“œZ¨
¸ÀqÔIÐJØ˜e�nôô
ˆô 	×Ñ˜f hÕ/rA   c                 óÎ   — |j                  d«      }d}t        j                  t        |¬«      5  |j                  }d d d «       t        «      }ddg}||k(  sJ ‚y # 1 sw Y   Œ xY w)Nr   ú&DataFrameGroupBy.grouper is deprecatedr   rE   rD   )r   r9   rÄ   rÅ   ÚgrouperÚsorted)r   r    rx   r/   r  r>   r?   s          r"   Útest_grouper_iterzTestGrouping.test_grouper_iter®  s]   € Ø�Z‰Z˜‹_ˆØ6ˆÜ×'Ñ'¬¸SÖAØ—j‘jˆG÷ Bä˜“ˆØ˜5�>ˆØ˜Ò!Ð!Ñ!÷	 BÐAús   ¯AÁA$c                 ó†   — t        j                  t        d¬«      5  |j                  g «       d d d «       y # 1 sw Y   y xY w)NzNo group keys passed!r   )r   r   r+   r   r[   s     r"   Útest_empty_groupszTestGrouping.test_empty_groups·  s)   € ä�]‰]œ:Ð-DÖEØ�J‰J�rŒN÷ F×EÑEús	   œ7·A c                 ó4  — |j                  d«      }d}t        j                  t        |¬«      5  |j                  }d d d «       |j                  «      j                  d¬«      }|j                  d¬«      }t        j                  ||«       y # 1 sw Y   ŒSxY w)Nr   r  r   Tr5   )r   r9   rÄ   rÅ   r  r4   r<   )r   r    r0   r/   r  r>   r?   s          r"   Útest_groupby_grouperz!TestGrouping.test_groupby_grouper¼  sy   € Ø—*‘*˜S“/ˆØ6ˆÜ×'Ñ'¬¸SÖAØ—o‘oˆG÷ Bà—‘˜GÓ$×)Ñ)°tÐ)Ó<ˆØ—<‘<¨T�<Ó2ˆÜ
×Ñ˜f hÕ/÷	 BÐAús   ¯BÂBc                 óÚ  — t        ddi«      }|j                  ddi«      j                  d«      }|j                  dg«      j                  d«      }t        j                  ||«       t        g d¢t        d«      ¬«      }ddd	d	d
œ}|j                  |«      j                  «       }|j                  |«      j                  d«      }t        j                  g d¢t        j                  ¬«      }|j                  |«      j                  «       }|j                  |«      j                  «       }t        j                  ||«       t        j                  ||«       t        j                  ||«       y )NÚT1rn   ÚT2r8   )ç      ð?ç       @g      @g      @rU   ru   r   r   ro   r4   )r   r   r   r   rš   )
r
   r   r;   r9   r:   rX   r4   rL   r  r´   )r   Úsr>   r?   rá   rR   Úexp_keyÚ	expected2s           r"   Útest_groupby_dict_mappingz&TestGrouping.test_groupby_dict_mappingÅ  s  € ä�D˜!�9ÓˆØ—‘˜D $˜<Ó(×,Ñ,¨UÓ3ˆØ—9‘9˜d˜VÓ$×(Ñ(¨Ó/ˆÜ
×Ñ˜v xÔ0äÒ'¬t°F«|Ô<ˆØ ¨°Ñ2ˆà—‘˜7Ó#×(Ñ(Ó*ˆØ—)‘)˜GÓ$×(Ñ(¨Ó0ˆÜ—(‘(š<¬r¯x©xÔ8ˆØ—9‘9˜WÓ%×*Ñ*Ó,ˆØ—I‘I˜gÓ&×+Ñ+Ó-ˆ	Ü
×Ñ˜v xÔ0Ü
×Ñ˜v wÔ/Ü
×Ñ˜v yÕ1rA   ©r   r   r   r)   ro   r%   iå  é   rÒ   c                 óÜ   —  |g d¢|¬«      }t        g d¢|d¬«      }|j                  |«      j                  «       } |ddg«      }d|j                  _        t        j                  ||«       y )N©r   r   r)   r%   ru   )r   r   r   r   )rp   rp   )rv   rÑ   r%   r)   )r
   r   Úlastrv   rÑ   r9   Úassert_equal)r   Úframe_or_seriesrv   ÚobjÚgroupsr>   r?   s          r"   Ú$test_groupby_series_named_with_tuplez1TestGrouping.test_groupby_series_named_with_tupleØ  s]   € ñ šl°%Ô8ˆÜš¨E¸
ÔCˆØ—‘˜VÓ$×)Ñ)Ó+ˆÙ" A q 6Ó*ˆØ(ˆ�‰ÔÜ
�‰˜ Õ)rA   c                 óú  — t        ddd¬«      }t        t        j                  j	                  d«      j                  d«      |¬«      }d}t        j                  t        |¬«      5  |j                  d	„ «       d d d «       |j                  d
„ «      j                  «       }|j                  |j                  «      j                  «       }d |j                  _        t        j                  ||«       y # 1 sw Y   ŒzxY w)Nz01-Jan-2013rö   ÚMS©r�   r³   r   ru   z''Timestamp' object is not subscriptabler   c                 ó   — | dd S )Nr   r&   r–   rÁ   s    r"   rh   zDTestGrouping.test_groupby_grouper_f_sanity_checked.<locals>.<lambda>ñ  s
   €  3 q¨¡8rA   c                 ó   — | S rd   r–   rf   s    r"   rh   zDTestGrouping.test_groupby_grouper_f_sanity_checked.<locals>.<lambda>ó  s   € ¡arA   )r   r
   rL   rM   rN   rO   r   r   Ú	TypeErrorr   r8   rv   r³   r9   r:   )r   r»   Útsr/   r>   r?   s         r"   Ú%test_groupby_grouper_f_sanity_checkedz2TestGrouping.test_groupby_grouper_f_sanity_checkedé  s¶   € Ü˜=°"¸4Ô@ˆÜ”B—I‘I×)Ñ)¨!Ó,×<Ñ<¸RÓ@ÈÔNˆð 8ˆÜ�]‰]œ9¨CÖ0Ø�J‰JÑ+Ô,÷ 1ð —‘™KÓ(×,Ñ,Ó.ˆØ—:‘:˜bŸh™hÓ'×+Ñ+Ó-ˆØ"ˆ�‰ÔÜ
×Ñ˜v xÕ0÷ 1Ð0ús   Á%C1Ã1C:c           	      óŠ  — t        ddgdz  t        ddd¬«      dœ«      }t        dd	¬
«      }|j                  |dg«      }t	        d«      dfddgt	        d«      dfdgt	        d«      dfdgt	        d«      dfddgi}t        j                  |j                  |«       t        |j                  j                  «       «      dk(  sJ ‚y )Nrp   rq   r)   z
2000-01-01z
2000-01-03Ú9h©r³   )Úidrq   r7   r±   r6  r   r   r   z
2000-01-02r%   rn   )
r   r   r   r   r   r9   r�   r)  ÚlenÚkeys)r   r    r  rx   r?   s        r"   Útest_groupby_with_datetime_keyz+TestGrouping.test_groupby_with_datetime_keyø  sÏ   € äà˜C�j 1‘nÜ ¨lÀÔFñó
ˆô ˜c¨Ô,ˆØ�Z‰Z˜ $˜Ó(ˆô �|Ó$ cÐ*¨Q°¨FÜ�|Ó$ cÐ*¨Q¨CÜ�|Ó$ cÐ*¨Q¨CÜ�|Ó$ cÐ*¨Q°¨Fð	
ˆô 	×Ñ˜RŸY™Y¨Ô1ô �2—9‘9—>‘>Ó#Ó$¨Ò)Ð)Ñ)rA   c                 óž   — d}t        j                  t        |¬«      5  t        |j                  |ddg   «       d d d «       y # 1 sw Y   y xY w)NzEGrouper for '<class 'pandas.core.frame.DataFrame'>' not 1-dimensionalr   r   )r   r   r+   r   rv   ©r   r    r/   s      r"   Ú%test_grouping_error_on_multidim_inputz2TestGrouping.test_grouping_error_on_multidim_input  s7   € ØUˆÜ�]‰]œ:¨SÖ1Ü�R—X‘X˜r 3¨ *™~Ô.÷ 2×1Ñ1ús   žAÁAc                 ó>  — t        g d¢g d¢g d¢g«      }t        j                  g d¢«      |_        d}t	        j
                  t        |¬«      5  |j                  dddg¬	«      }d d d «       j                  «       }t	        j                  ||«       y # 1 sw Y   Œ0xY w)
N©r   r   r)   )r%   rn   r&   )r"  r'   é	   )r†   rô   )r   r   rÿ   r   r   r   ©rÂ   r¶   )
r   r	   rw   r   r9   rÄ   rÅ   r   Úfirstr<   )r   r    r  rx   r>   s        r"   Útest_multiindex_passthruz%TestGrouping.test_multiindex_passthru  s~   € ô š	¢9ªiÐ8Ó9ˆÜ×+Ñ+Ò,DÓEˆŒ
à@ˆÜ×'Ñ'¬¸XÖFØ—‘ ¨1¨a¨&�Ó1ˆB÷ Gà—‘“ˆÜ
×Ñ˜f bÕ)÷ GÐFús   ÁBÂBc                 ó   — |j                  d¬«      j                  «       }|j                  d¬«      j                  «       }t        j                  ||«       |j                  d¬«      j                  «       }|j                  d¬«      j                  «       }t        j                  ||«       |j                  ddg¬«      j                  «       }|j	                  «       }t        j                  ||«       |j                  ddg¬«      j                  «       }|j                  ddg¬«      j                  «       }t        j                  ||«       y )Nr¥   rÓ   ÚsecondéþÿÿÿrA  )r   r8   r9   r<   Ú
sort_index)r   Ú multiindex_dataframe_random_datar>   r?   s       r"   Útest_multiindex_negative_levelz+TestGrouping.test_multiindex_negative_level   s)  € à1×9Ñ9ÀÐ9ÓC×GÑGÓIˆØ3×;Ñ;À(Ð;ÓK×OÑOÓQˆÜ
×Ñ˜f hÔ/à1×9Ñ9ÀÐ9ÓC×GÑGÓIˆØ3×;Ñ;À'Ð;ÓJ×NÑNÓPˆÜ
×Ñ˜f hÔ/à1×9Ñ9ÀÀRÀÐ9ÓI×MÑMÓOˆØ3×>Ñ>Ó@ˆÜ
×Ñ˜f hÔ/à1×9Ñ9ÀÀWÀÐ9ÓN×RÑRÓTˆØ3×;Ñ;Ø˜WÐ%ð <ó 
ç
‰#‹%ð 	ô 	×Ñ˜f hÕ/rA   c                 ó,  — t        j                  t        |j                  «      «      |_        d}t	        j
                  t        |¬«      5  |j                  dd¬«      d   j                  dt         j                  i«       d d d «       y # 1 sw Y   y xY w)Nz7Passing a dictionary to SeriesGroupBy.agg is deprecatedr   r   F©Úas_indexr   ÚQ)
rL   r§   r7  r   r9   rÄ   rÅ   r   r;   r4   r;  s      r"   Ú&test_multifunc_select_col_integer_colsz3TestGrouping.test_multifunc_select_col_integer_cols4  sg   € Ü—Y‘Yœs 2§:¡:›Ó/ˆŒ
ð HˆÜ×'Ñ'¬¸SÖAØ�J‰J�q 5ˆJÓ)¨!Ñ,×0Ñ0°#´r·w±w°Ô@÷ B×AÑAús   Á6B
Â
Bc                 óZ  — ddgddgg}t        j                  |«      }t        ddgg|¬«      }|j                  d«      j                  }|d   dgk(  sJ ‚|j                  d	g«      j                  }|d   dgk(  sJ ‚t        ddgd
dgg|¬«      }|j                  d«      j                  }|j                  d	g«      j                  }||k(  sJ ‚t        ddgd
dgg|¬«      }|j                  d«      j                  }|j                  d	g«      j                  }t        j                  ||«       y )Nr,   Úvaluesú	to filterÚ r   r   r   r   )rP  rQ  r   r   )r	   rw   r   r   r)  r9   r�   )r   ÚlstÚmidxr    r0   r?   r>   s          r"   Ú#test_multiindex_columns_empty_levelz0TestGrouping.test_multiindex_columns_empty_level<  s4  € Ø˜Ð" [°"Ð$5Ð6ˆÜ×%Ñ% cÓ*ˆä˜˜C˜�z¨4Ô0ˆà—*‘*˜[Ó)×0Ñ0ˆØ�s‰| ˜sÒ"Ð"Ð"à—*‘*Ð/Ð0Ó1×8Ñ8ˆØ�s‰| ˜sÒ"Ð"Ð"ä˜˜C˜ 1 c (Ð+°TÔ:ˆà—:‘:˜kÓ*×1Ñ1ˆØ—‘Ð.Ð/Ó0×7Ñ7ˆØ˜Ò!Ð!Ð!ä˜˜C˜ 1 c (Ð+°TÔ:ˆà—:‘:˜kÓ*×1Ñ1ˆØ—‘Ð.Ð/Ó0×7Ñ7ˆÜ
×Ñ˜V XÕ.rA   c                 óÂ  — t        g d¢g d¢g d¢gt        j                  g d¢g d¢g«      ¬«      }|j                  dg«      j                  }|j                  d«      j                  }t        j                  ||«       t        |j                  t        j                  g d¢g d¢g«      ¬«      }|j                  d	g«      j                  }|j                  d«      j                  }t        j                  ||«       t        |j                  g d
¢¬«      }|j                  d	g«      j                  }|j                  d«      j                  }t        j                  ||«       y )Nr$  ©r)   r%   rn   r&   ©r   r%   r   r)   ©rp   rq   rq   r1   ©r   r   r   r   r   rì   )rr   rr   ÚerZ  ©rq   rr   ))rp   rr   r[  )rq   rZ  r1   )r   r	   Úfrom_arraysr   r)  r9   r�   rO  )r   r    r?   r>   Údf2Údf3s         r"   Útest_groupby_multiindex_tuplez*TestGrouping.test_groupby_multiindex_tupleT  s  € äÚš<ªÐ6Ü×*Ñ*Ò,@Â,Ð+OÓPô
ˆð —:‘:˜x˜jÓ)×0Ñ0ˆØ—‘˜HÓ%×,Ñ,ˆÜ
×Ñ˜X vÔ.äØ�I‰IÜ×*Ñ*Ú%Ò';Ð<óô
ˆð —;‘; 
˜|Ó,×3Ñ3ˆØ—‘˜HÓ%×,Ñ,ˆÜ
×Ñ˜X vÔ.ä˜Ÿ	™	Ò+TÔUˆØ—;‘; 
˜|Ó,×3Ñ3ˆØ—‘˜HÓ%×,Ñ,ˆÜ
×Ñ˜X vÕ.rA   c                 óº  — t        g d¢g d¢g d¢gt        j                  g d¢g d¢g«      ¬«      }|j                  dg«      dd	g   j	                  «       }|j                  dg«      d
   j	                  «       }t        j                  ||«       |j                  dg«      dd	g   j                  «       }|j                  dg«      d
   j                  «       }t        j                  ||«       |j                  dg«      dd	g   j                  «       }|j                  dg«      d
   j                  «       }t        j                  ||«       |j                  dg«      dd	g   j                  «       }|j                  dg«      d
   j                  «       }	t        j                  ||	«       |j                  dg«      dd	g   j                  «       }
|j                  dg«      d
   j                  «       }t        j                  |
|«       |j                  dg«      dd	g   j                  }|j                  dg«      d
   j                  }t        j                  ||«       y )Nr$  rV  rW  rX  rY  r   rë   rì   rí   rq   )r   r	   r\  r   r4   r9   r<   r8   r,   ÚminÚmaxr)  r�   )r   r    Úexpected_meanÚresult_meanÚexpected_sumÚ
result_sumÚexpected_countÚresult_countÚexpected_minÚ
result_minÚexpected_maxÚ
result_maxÚexpected_groupsÚresult_groupss                 r"   Ú4test_groupby_multiindex_partial_indexing_equivalencezATestGrouping.test_groupby_multiindex_partial_indexing_equivalencem  s  € äÚš<ªÐ6Ü×*Ñ*Ò,@Â,Ð+OÓPô
ˆð
 Ÿ
™
 H :Ó.°¸(Ð/CÑD×IÑIÓKˆØ—j‘j ( Ó,¨SÑ1×6Ñ6Ó8ˆÜ
×Ñ˜m¨[Ô9à—z‘z 8 *Ó-¨x¸Ð.BÑC×GÑGÓIˆØ—Z‘Z  
Ó+¨CÑ0×4Ñ4Ó6ˆ
Ü
×Ñ˜l¨JÔ7àŸ™ X JÓ/°¸8Ð0DÑE×KÑKÓMˆØ—z‘z 8 *Ó-¨cÑ2×8Ñ8Ó:ˆÜ
×Ñ˜n¨lÔ;à—z‘z 8 *Ó-¨x¸Ð.BÑC×GÑGÓIˆØ—Z‘Z  
Ó+¨CÑ0×4Ñ4Ó6ˆ
Ü
×Ñ˜l¨JÔ7à—z‘z 8 *Ó-¨x¸Ð.BÑC×GÑGÓIˆØ—Z‘Z  
Ó+¨CÑ0×4Ñ4Ó6ˆ
Ü
×Ñ˜l¨JÔ7àŸ*™* h ZÓ0°(¸HÐ1EÑF×MÑMˆØŸ
™
 H :Ó.¨sÑ3×:Ñ:ˆÜ
×Ñ˜_¨mÕ<rA   rã   c                 ó,  — |}|j                  «       }|j                  d|¬«      j                  «       }|j                  d|¬«      j                  «       }|j                  |d   j                  |¬«      j                  «       }|j                  |d   j                  |¬«      j                  «       }	d|j                  _        d|	j                  _        |j                  j
                  dk(  sJ ‚|j                  j
                  dk(  sJ ‚t        j                  ||«       t        j                  ||	«       |j                  j
                  |j                  j                  d   k(  sJ ‚|j                  j
                  |j                  j                  d   k(  sJ ‚|j                  d|¬«      j                  «       }|j                  d|¬«      j                  «       }t        j                  ||«       t        j                  ||	«       d}
t        j                  t        |
¬«      5  |j                  j                  dd|¬	«      j                  «       }|j                  j                  dd|¬	«      j                  «       }d d d «       t        j                  ||j                  «       t        j                  ||	j                  «       d
}
t        j                  t        |
¬«      5  |j                  d¬«       d d d «       y # 1 sw Y   Œ‚xY w# 1 sw Y   y xY w)Nr   ©r¶   rã   r   rA  )rã   rD  rÿ   r   )r¶   rÂ   rã   z2level > 0 or level < -1 only valid with MultiIndexrÓ   )r¹   r   r8   rO  rv   rÑ   r9   r<   rt   rÄ   rÅ   r  r   r   r+   )r   rã   rG  r    ÚframeÚ	deleveledÚresult0Úresult1Ú	expected0Ú	expected1r/   s              r"   Útest_groupby_levelzTestGrouping.test_groupby_levelŒ  so  € ð 1ˆØ×%Ñ%Ó'ˆ	à—-‘- a¨d�-Ó3×7Ñ7Ó9ˆØ—-‘- a¨d�-Ó3×7Ñ7Ó9ˆà—M‘M )¨GÑ"4×";Ñ";À$�MÓG×KÑKÓMˆ	Ø—M‘M )¨HÑ"5×"<Ñ"<À4�MÓH×LÑLÓNˆ	à&ˆ	�‰ÔØ'ˆ	�‰Ôà�}‰}×!Ñ! WÒ,Ð,Ð,Ø�}‰}×!Ñ! XÒ-Ð-Ð-ä
×Ñ˜g yÔ1Ü
×Ñ˜g yÔ1Ø�}‰}×!Ñ! U§[¡[×%6Ñ%6°qÑ%9Ò9Ð9Ð9Ø�}‰}×!Ñ! U§[¡[×%6Ñ%6°qÑ%9Ò9Ð9Ð9ð —-‘- g°D�-Ó9×=Ñ=Ó?ˆØ—-‘- h°T�-Ó:×>Ñ>Ó@ˆÜ
×Ñ˜g yÔ1Ü
×Ñ˜g yÔ1ð <ˆÜ×'Ñ'¬¸SÖAØ—g‘g—o‘o¨A°A¸D�oÓA×EÑEÓGˆGØ—g‘g—o‘o¨A°A¸D�oÓA×EÑEÓGˆG÷ Bô 	×Ñ˜g y§{¡{Ô3Ü
×Ñ˜g y§{¡{Ô3ð CˆÜ�]‰]œ:¨SÖ1Ø�J‰J˜QˆJÔ÷ 2Ð1÷ BÐAú÷ 2Ð1ús   È$AK>Ë"L
Ë>LÌ
Lc                 ó$  — t        dgdz  dgdz  z   t        d«      dœ«      j                  d«      }|dv r|j                  }d}nd	}t	        j
                  t        |¬
«      5  |j                  d|¬«       d d d «       d|j                  |«      › �}t        j                  t        |¬
«      5  t	        j
                  t        |¬
«      5  |j                  d|¬«       d d d «       d d d «       y # 1 sw Y   ŒyxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr   r)   r   r&   )ÚexpÚvar1rz  )r   r   rÿ   r  r   )r¶   rÂ   z&level name foo is not the name of the rD   )r   r*   Ú	set_indexr  r9   rÄ   rÅ   r   Ú_get_axis_namer   r   r+   )r   rÂ   r    r  r/   s        r"   Útest_groupby_level_index_namesz+TestGrouping.test_groupby_level_index_names¶  sè   € ä ˜u q™y¨C¨5°1©9Ñ4¼eÀA»hÑGÓH×RÑRØó
ˆð �>Ñ!Ø—‘ˆBØD‰HàNˆHÜ×'Ñ'¬¸XÖFØ�J‰J˜U¨ˆJÔ.÷ Gà6°r×7HÑ7HÈÓ7NÐ6OÐPˆÜ�]‰]œ:¨SÖ1Ü×+Ñ+¬MÀÖJØ—
‘
 ¨T�
Ô2÷ K÷ 2Ð1÷ GÐFú÷ KÐJú÷ 2Ð1ús0   Á"C.Â-DÃ	C:ÃDÃ.C7Ã:D	Ã?DÄDc                 ó  — t        ddgg d¢gg d¢g d¢g¬«      }t        t        j                  d«      |¬«      }|j	                  d|¬	«      j                  «       }t        d
dgddg¬«      }t        j                  ||«       t        ddgg d¢gg d¢g d¢g¬«      }t        t        j                  d«      |¬«      }|j	                  d|¬	«      j                  «       }t        d
dgddg¬«      }t        j                  ||«       y )Nr   r   r!  )r   r   r   r   r   r   r   r   )r   r   r   r)   r   r   r   r)   )ÚlevelsÚcodesg       @ru   rq  g      @g      6@)r   r   r   r   r¥   r   r   r   g      2@g        r  )r	   r
   rL   r§   r   r8   r9   r:   )r   rã   rv   r  r>   r?   s         r"   Útest_groupby_level_with_nasz(TestGrouping.test_groupby_level_with_nasÇ  sì   € ô Ø˜�FšLÐ)Ú+Ò-EÐFô
ˆô ”2—9‘9˜S“>¨Ô/ˆØ—‘ ¨�Ó.×2Ñ2Ó4ˆÜ˜3 ˜+¨a°¨VÔ4ˆÜ
×Ñ˜v xÔ0äØ˜�FšLÐ)Ú,Ò.FÐGô
ˆô ”2—9‘9˜S“>¨Ô/ˆØ—‘ ¨�Ó.×2Ñ2Ó4ˆÜ˜3 ˜+¨c°3¨ZÔ8ˆÜ
×Ñ˜v xÕ0rA   c                 ó  — |}d}t        j                  t        |¬«      5  |j                  «        d d d «       d}t        j                  t        |¬«      5  |j                  d d ¬«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nz*You have to supply one of 'by' and 'level'r   )râ   r¶   )r   r   r0  r   )r   rG  rr  r/   s       r"   Útest_groupby_argszTestGrouping.test_groupby_argsà  sg   € à0ˆà:ˆÜ�]‰]œ9¨CÖ0Ø�M‰MŒO÷ 1ð ;ˆÜ�]‰]œ9¨CÖ0Ø�M‰M˜T¨ˆMÔ.÷ 1Ð0÷	 1Ð0ú÷ 1Ð0ús    A3ÁA?Á3A<Á?Bzsort,labels©
r   r   r   r   r   r   r   r)   r)   r)   )
r   r   r   r   r   r   r   r)   r)   r)   c                 óÌ   — |j                  d|¬«      }t        j                  |t        j                  «      }t	        j
                  |j                  j                  d   |«       y )Nr   rq  )r   rL   r  Úintpr9   Úassert_almost_equalÚ_grouperr�  )r   rã   ÚlabelsrG  r0   Ú
exp_labelss         r"   Útest_level_preserve_orderz&TestGrouping.test_level_preserve_orderì  sN   € ð 3×:Ñ:ÀÈÐ:ÓNˆÜ—X‘X˜f¤b§g¡gÓ.ˆ
Ü
×Ñ˜w×/Ñ/×5Ñ5°aÑ8¸*ÕErA   c                 ó   — |j                  |j                  j                  d«      «      }t        j                  g d¢t        j
                  ¬«      }t        j                  |j                  j                  d   |«       y )Nr   r…  rš   )
r   rv   Úget_level_valuesrL   r  r‡  r9   rˆ  r‰  r�  )r   rG  r0   r‹  s       r"   Útest_grouping_labelsz!TestGrouping.test_grouping_labelsù  s^   € Ø2×:Ñ:Ø,×2Ñ2×CÑCÀAÓFó
ˆô —X‘XÒ<ÄBÇGÁGÔLˆ
Ü
×Ñ˜w×/Ñ/×5Ñ5°aÑ8¸*ÕErA   c                 óº  — t        dt        ddd¬«      i«      }t        j                  |j                  d<   t        dd¬«      }|j                  |g«      }t        d	«      t        t        t        d
«      «      «      i}t        j                  |j                  |«       |j                  |«      }t        d	«      di}t        j                  |j                  |«       y )Nr   z1/1/2011im  r7   r-  r¥   ÚYSr±   z
2011-01-01il  )r   r   rÔ   ÚNaTr^   r   r   r   r   rX   r*   r9   r�   r)  )r   r    r  r>   r?   s        r"   Útest_list_grouper_with_natz'TestGrouping.test_list_grouper_with_nat   s­   € ä˜¤
¨:¸sÈÔ MÐNÓOˆÜ—f‘fˆ�‰�‰Ü˜f¨4Ô0ˆð —‘˜W˜IÓ&ˆÜ˜lÓ+¬U´4¼¸c»
Ó3CÓ-DÐEˆÜ
×Ñ˜VŸ]™]¨HÔ5ð —‘˜GÓ$ˆÜ˜lÓ+¨SÐ1ˆÜ
×Ñ˜VŸ]™]¨HÕ5rA   zfunc,expectedÚ	transformr   ©rÑ   r›   r;   r   ©r›   rÑ   )rÑ   r›   rv   r©   c                 óž   — t        g g dœ«      }|j                  dd¬«      } t        |d   |«      d„ «      }t        j                  ||«       y )Nrõ   r   Fr¡   r   c                 ó   — | S rd   r–   rf   s    r"   rh   z>TestGrouping.test_evaluate_with_empty_groups.<locals>.<lambda>,  s   € ©qrA   )r   r   Úgetattrr9   r:   )r   rb   r?   r    r!   r>   s         r"   Útest_evaluate_with_empty_groupsz,TestGrouping.test_evaluate_with_empty_groups  sK   € ô4 ˜2 "‘~Ó&ˆØ�J‰J�q UˆJÓ+ˆØ$”˜˜1™˜tÓ$¡[Ó1ˆÜ
×Ñ˜v xÕ0rA   c           	      ó¼  — t        g dd¬«      }|j                  g «      }|j                  «       }|j                  t	        g t
        j                  ¬«      «      }t        j                  ||«       t        |j                  j                  «      dk(  sJ ‚t        j                  |j                  j                  d   t        j                  g t        j                  t
        j                  «      ¬«      «       t        j                  |j                  j                  d   t        j                  g t        j                  t
        j                  «      ¬«      «       |j                  j                  d   dk(  sJ ‚|j                  |«      }d}t        j                   t"        |¬	«      5  |j$                  }d d d «       j&                  }dg}||k(  sJ ‚y # 1 sw Y   Œ xY w)
NrÑ   Úfloat64r•  rš   r   r   r   z#SeriesGroupBy.grouper is deprecatedr   )r
   r   r4   Úset_axisr   rL   r‡  r9   r:   r7  r‰  Ú	groupingsÚassert_numpy_array_equalÚ
group_infor  r›   rÄ   rÅ   r  rt   )r   r  Úgrr>   r?   rx   r/   r  s           r"   Útest_groupby_emptyzTestGrouping.test_groupby_empty/  s`  € ä�2˜F¨)Ô4ˆØ�Y‰Y�r‹]ˆà—‘“ˆØ—:‘:œe B¬b¯g©gÔ6Ó7ˆÜ
×Ñ˜v xÔ0ô �2—;‘;×(Ñ(Ó)¨QÒ.Ð.Ð.Ü
×#Ñ#Ø�K‰K×"Ñ" 1Ñ%¤r§x¡x°¼"¿(¹(Ä2Ç7Á7Ó:KÔ'Lô	
ô 	×#Ñ#Ø�K‰K×"Ñ" 1Ñ%¤r§x¡x°¼"¿(¹(Ä2Ç7Á7Ó:KÔ'Lô	
ð �{‰{×%Ñ% aÑ(¨AÒ-Ð-Ð-ð �Y‰Y�q‹\ˆØ3ˆÜ×'Ñ'¬¸SÖAØ—j‘jˆG÷ Bà—‘ˆØ�8ˆØ˜Ò!Ð!Ñ!÷	 BÐAús   Æ&GÇGc           
      ón  — t        dt        j                  dgd t        j                  dggg d¢¬«      j                  ddg«      }|j	                  ddg¬«      j                  «       }t        g t        t        dgd	¬
«      t        g d¬
«      gg g gddg¬«      dgd¬«      }t        j                  ||«       y )Nrg   rŸ   é   rÊ   r   r   r   rÓ   Úobjectrš   rœ  )r€  r�  rt   r   r´   )r(   rv   r   r›   )
r   rL   Únanr|  r   r8   r	   r   r9   r<   r=   s       r"   Ú%test_groupby_level_index_value_all_naz2TestGrouping.test_groupby_level_index_value_all_naM  s³   € äØ”2—6‘6˜2Ð ¤r§v¡v¨rÐ 2Ð3º_ô
ç
‰)�S˜#�JÓ
ð 	ð —‘ 3¨ *�Ó-×1Ñ1Ó3ˆÜØÜÜ˜s˜e¨8Ô4´e¸BÀiÔ6PÐQØ˜2�hØ˜C�jôð
 �EØô	
ˆô 	×Ñ˜f hÕ/rA   c           	      ó4  — t        g d¢g d¢gg d¢¬«      }|j                  ddg«      }||j                  dk     }|j                  d«      j	                  «       }t        dd	gt        g t        j                  d¬
«      ¬«      }t        j                  ||«       y )N)é{   rp   r  )r©  rq   r  )r6  ÚcategoryÚvaluer   r6  rª  r   rœ  r«  r–  )r›   r   rv   )
r   r|  r«  r   r8   r   rL   r´   r9   r<   )r   r    Úemptyr>   r?   s        r"   Ú#test_groupby_multiindex_level_emptyz0TestGrouping.test_groupby_multiindex_level_empty_  s‰   € äÚšoÐ.Ò8Sô
ˆð �\‰\˜4 Ð,Ó-ˆØ�2—8‘8˜a‘<Ñ ˆØ—‘˜tÓ$×(Ñ(Ó*ˆÜØØ�IÜ˜¤"§(¡(°Ô6ô
ˆô
 	×Ñ˜f hÕ/rA   N)4r‘   r’   r“   r   r”   r•   r   rX   rL   r§   Úfloatr   r   rª   r½   rÈ   rË   rÛ   ré   rò   rû   r	  r  r  r  r  r   r*   r   r*  r2  r9  r<  rB  rH  rM  rT  r_  ro  rx  r~  r‚  r„  rŒ  r�  r“  r
   rœ  rš  r¢  r§  r­  )r‚   Úir   s   000r"   r˜   r˜   ®   s±  „ Ø‡[�[×ÑØá‘$�w“-Ó Ù�)�"—)‘)˜A“,ÓÙ�)�"—)‘)˜A UÔ+Ó,Ù�|¨QÔ/Ù˜¨qÔ1ð	
ó	ñGó	ðGò0ò80ò00ò>1ð4 ‡[�[×Ñ˜V e¨T ]Ó3ñ0ó 4ð0ò ,0ò\5ò0ò60ò,"òò
0ò2ð& ‡[�[×ÑØâÚ Ù16°q´Õ:±¨AŒY�t˜Q  Q¡Õ'°Ó:ð	
óñ*óð*ò1ò*ò./ò

*ò0ò(Aò/ò0/ò2=ð> ‡[�[×Ñ˜V d¨E ]Ó3ñ' ó 4ð' òR3ð" ‡[�[×Ñ˜V d¨E ]Ó3ñ1ó 4ð1ò0
/ð ‡[�[×ÑØàÒ1Ð2ØÒ2Ð3ð	
óñFóðFòFò6ð  ‡[�[×ÑØð Ù˜A R§Z¡ZÔ0ðð
 ÙØ "§*¡*±E¸"ÀBÇJÁJÐUVÔ4Wôðð ÙØ "§*¡*±E¸"ÀBÇJÁJÐUVÔ4Wôðð	
óñ*1ó+ð*1ò"ò<0ó$0ùôE ;s   Ã&H;r˜   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestGetGroupc                 óâ  — t        t        j                  g d¢«      g d¢g d¢dœ«      }|j                  d«      }t	        t        |j                  «      «      }|j                  |«      }|j                  t        |«      j                  «       «      }|j                  t        t        |«      «      «      }t        j                  ||«       t        j                  ||«       |j                  ddg«      }t	        t        |j                  «      «      }|j                  |«      }|j                  t        |d   «      j                  «       |d   f«      }|j                  t        t        |d   «      «      |d   f«      }t        j                  ||«       t        j                  ||«       d	}t        j                  t        |¬
«      5  |j                  d«       d d d «       t        j                  t        |¬
«      5  |j                  d«       d d d «       d}t        j                  t        |¬
«      5  |j                  d«       d d d «       y # 1 sw Y   ŒvxY w# 1 sw Y   ŒMxY w# 1 sw Y   y xY w)N)ú10-Oct-2013r³  r³  ú11-Oct-2013r´  r´  )rD   rD   rE   rD   rD   rE   r¿   )ÚDATEÚlabelÚVALrµ  r¶  r   r   z<must supply a tuple to get_group with multiple grouping keysr   rD   zHmust supply a same-length tuple to get_group with multiple grouping keys)rD   rE   Úbaz)r   rÔ   Úto_datetimer   ræ   rç   r)  rè   r   Úto_pydatetimeÚstrr9   r<   r   r   r+   )r   r    r!   r²   ru  rR   Úresult3r/   s           r"   Útest_get_groupzTestGetGroup.test_get_groupt  s×  € ô äŸ™òó	ò DÚ)ñó
ˆð" �J‰J�vÓˆÜ”4˜Ÿ™“>Ó"ˆØ—+‘+˜cÓ"ˆØ—+‘+œi¨›n×:Ñ:Ó<Ó=ˆØ—+‘+œc¤)¨C£.Ó1Ó2ˆÜ
×Ñ˜g wÔ/Ü
×Ñ˜g wÔ/à�J‰J˜ Ð(Ó)ˆä”4˜Ÿ™“>Ó"ˆØ—+‘+˜cÓ"ˆØ—+‘+œy¨¨Q©Ó0×>Ñ>Ó@À#ÀaÁ&ÐIÓJˆØ—+‘+œs¤9¨S°©VÓ#4Ó5°s¸1±vÐ>Ó?ˆÜ
×Ñ˜g wÔ/Ü
×Ñ˜g wÔ/ð MˆÜ�]‰]œ:¨SÖ1Ø�K‰K˜Ô÷ 2ä�]‰]œ:¨SÖ1Ø�K‰K˜Ô÷ 2àXˆÜ�]‰]œ:¨SÖ1Ø�K‰KÐ-Ô.÷ 2Ð1÷ 2Ð1úç1Ð1ú÷ 2Ð1ús$   ÇIÇ;IÈ2I%ÉIÉI"É%I.c                 óÀ  — t        g d¢«      }g d¢}|j                  t        j                  |d   |«      |¬«      }|j	                  t        j
                  dd«      «      }t        ddgddg¬«      }t        j                  ||«       d	}t        j                  t        |¬
«      5  |j	                  t        j
                  dd«      «       d d d «       y # 1 sw Y   y xY w)N)r)   r   r"  r&   )r   rn   rŸ   é   r   )r   rn   r)   r   ru   z"Interval\(10, 15, closed='right'\)r   rŸ   r¿  )r   r   rÔ   Úcutrè   ÚIntervalr9   r<   r   r   r   )r   r   rr   Úbinsr!   r>   r?   r/   s           r"   Útest_get_group_empty_binsz&TestGetGroup.test_get_group_empty_bins£  s§   € Ü’lÓ#ˆÚˆØ�I‰I”b—f‘f˜Q˜q™T 4Ó(°8ˆIÓ<ˆð —‘œRŸ[™[¨¨AÓ.Ó/ˆÜ˜a ˜V¨A¨q¨6Ô2ˆÜ
×Ñ˜f hÔ/à3ˆÜ�]‰]œ8¨3Ö/Ø�K‰KœŸ™ B¨Ó+Ô,÷ 0×/Ñ/ús   Â%&CÃCc                 óæ  — t        g d¢gdg¬«      j                  }|j                  d«      }t        dddgiddg¬«      }|j                  d«      }t	        j
                  ||«       t        j                  g d¢«      }t        d|D �cg c]  }|f‘Œ c}i«      }|j                  d«      }|j                  d«      }t        d|d   f|d   fgiddg¬«      }t	        j
                  ||«       y c c}w )	N)©r   rõ   rÅ  rõ   Úidsru   rÅ  r   r   )ú
2010-01-01ú
2010-01-02rÇ  rÈ  )rÇ  )r   r  r   rè   r9   r<   rÔ   r¹  )r   r    r¡  r?   r>   Údtrg   s          r"   Útest_get_group_grouped_by_tuplez,TestGetGroup.test_get_group_grouped_by_tuple²  så   € äÒ4Ð5¸e¸WÔE×GÑGˆØ�Z‰Z˜ÓˆÜ˜e d¨D \Ð2¸1¸a¸&ÔAˆØ—‘˜dÓ#ˆÜ
×Ñ˜f hÔ/ä�^‰^ÒTÓUˆÜ˜©bÓ1©b¨ ¢¨bÑ1Ð2Ó3ˆØ�Z‰Z˜ÓˆØ—‘˜oÓ.ˆÜ˜e r¨!¡u h°°A±°Ð%9Ð:À1ÀaÀ&ÔIˆÜ
×Ñ˜f hÕ/ùò	  2s   Â
C.
c                 ó�  ‡— t        dd„ dD «       i«      Š‰j                  d«      }‰j                  ˆfd„«      }|j                  t        t	        |j
                  j                  «       «      «      «      }|j                  t        t	        |j
                  j                  «       «      «      «      }t        j                  ||«       y )Nr|   c              3   óŽ   K  — | ]=  }t         j                  j                  d «      j                  ddd«      D ]  }||f–— Œ
 Œ? y­wr~   r   r�   s      r"   rƒ   zKTestGetGroup.test_get_group_grouped_by_tuple_with_lambda.<locals>.<genexpr>Å  r„   r…   r†   c                 ó&   •— ‰j                   | df   S rˆ   r‰   rŠ   s    €r"   rh   zJTestGetGroup.test_get_group_grouped_by_tuple_with_lambda.<locals>.<lambda>Î  r‹   rA   )	r   r   rè   ræ   rç   r)  r8  r9   r<   rŽ   s        @r"   Ú+test_get_group_grouped_by_tuple_with_lambdaz8TestGetGroup.test_get_group_grouped_by_tuple_with_lambdaÁ  s�   ø€ äàñ á#óðó
ˆð �Z‰Z˜Ó!ˆØ—J‘JÓ6Ó7ˆ	à—<‘<¤¤T¨"¯)©)¯.©.Ó*:Ó%;Ó <Ó=ˆØ×$Ñ$¤T¬$¨y×/?Ñ/?×/DÑ/DÓ/FÓ*GÓ%HÓIˆä
×Ñ˜f hÕ/rA   c                 ó¾   — t        j                  d«      }d}t        ||t        ¬«      }t	        d¬«      }|j                  |«      }t        t        |«      d «      �J ‚y )Nr–   rš   r7   r5  )rÔ   rÕ   r
   r¥  r   r   ræ   rç   )r   rv   r(   Úseriesr  r0   s         r"   Útest_groupby_with_emptyz$TestGetGroup.test_groupby_with_emptyÕ  sT   € Ü× Ñ  Ó$ˆØˆÜ˜˜e¬6Ô2ˆÜ˜sÔ#ˆØ—.‘. Ó)ˆÜ”D˜“M 4Ó(Ð0Ð0Ñ0rA   c                 ó@  — t        dt        d«      i«      }t        j                  |j	                  d«      j                  d«      |j                  ddg   «       t        t        g d¢d¬«      g ¬«      }t        j                  |j	                  d«      j                  «       |«       t        j                  |j	                  d«      j                  «       |«       |j                  g d¢   }t        j                  |j	                  d«      j                  d	«      |«       y )
Nrp   Úabssbabr   rn   )rp   rq   r  )rÑ   )rv   r   ©r)   r%   rn   r   )r   rX   r9   r<   r   rè   r^   r   r,   r8   Únth)r   r    rz  s      r"   Útest_groupby_with_single_columnz,TestGetGroup.test_groupby_with_single_columnÝ  sÊ   € Ü˜œT )›_Ð-Ó.ˆÜ
×Ñ˜bŸj™j¨›o×7Ñ7¸Ó<¸b¿g¹gÀqÈ!Àf¹oÔNäœe¢O¸#Ô>ÈÔKˆÜ
×Ñ˜bŸj™j¨›o×3Ñ3Ó5°sÔ;Ü
×Ñ˜bŸj™j¨›o×1Ñ1Ó3°SÔ9à�g‰g’iÑ ˆÜ
×Ñ˜bŸj™j¨›o×1Ñ1°!Ó4°cÕ:rA   c                 óì   — t        g d¢g d¢g d¢gg d¢¬«      }|j                  ddg«      }|j                  g d¢«      j                  «       }|j                  d	   d
k(  sJ ‚|j                  d   dk(  sJ ‚y )N)rD   rE   r   r   )rD   rE   r   r   )rD   r¸  r   r)   )rA  rD  ÚthirdrG   r   rA  rD  )rA  rD  rØ  )rD   rE   r   r   )rD   r¸  r   r   )r   r|  r   r.   rP   r[   s     r"   Útest_gb_key_len_equal_axis_lenz+TestGetGroup.test_gb_key_len_equal_axis_lenè  sz   € ô Ú#Ò%;Ò=SÐTÚ7ô
ˆð �\‰\˜7 HÐ-Ó.ˆØ�Z‰ZÒ4Ó5×:Ñ:Ó<ˆØ�v‰vÐ)Ñ*¨aÒ/Ð/Ð/Ø�v‰vÐ)Ñ*¨aÒ/Ð/Ñ/rA   N)
r‘   r’   r“   r½  rÃ  rÊ  rÎ  rÑ  rÖ  rÙ  r–   rA   r"   r±  r±  s  s&   „ ò-/ò^-ò0ò0ò(1ò	;ó0rA   r±  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestIterationc                 ó0  — |j                  dg«      }|j                  }||j                  u sJ ‚|j                  j                  «       D ]*  \  }}|j                  |   d   |k(  j	                  «       rŒ*J ‚ |j                  ddg«      }|j                  }||j                  u sJ ‚|j                  j                  «       D ]U  \  }}|j                  |   d   |d   k(  j	                  «       sJ ‚|j                  |   d   |d   k(  j	                  «       rŒUJ ‚ y )Nr   r   r   r   )r   r)  ÚitemsrP   Úall)r   r    r0   r)  ÚkÚvs         r"   Útest_groupszTestIteration.test_groupsû  s  € Ø—*‘*˜c˜UÓ#ˆØ—‘ˆØ˜Ÿ™Ñ'Ð'Ð'à—N‘N×(Ñ(Ö*‰DˆAˆqØ—F‘F˜1‘I˜c‘N aÑ'×,Ñ,Õ.Ð.Ð.ð +ð —*‘*˜c 3˜ZÓ(ˆØ—‘ˆØ˜Ÿ™Ñ'Ð'Ð'à—N‘N×(Ñ(Ö*‰DˆAˆqØ—F‘F˜1‘I˜c‘N a¨¡dÑ*×/Ñ/Ô1Ð1Ð1Ø—F‘F˜1‘I˜c‘N a¨¡dÑ*×/Ñ/Õ1Ð1Ð1ñ +rA   c                 ój   — |j                  d„ d„ g«      }|j                  j                  d   D ]  }Œ y )Nc                 ó"   — | j                  «       S rd   )Úweekdayrf   s    r"   rh   z9TestIteration.test_grouping_is_iterable.<locals>.<lambda>  s
   € ¨Q¯Y©Y¬[rA   c                 ó   — | j                   S rd   )Úyearrf   s    r"   rh   z9TestIteration.test_grouping_is_iterable.<locals>.<lambda>  s   € ÀAÇFÂFrA   r   )r   r‰  rž  )r   Útsframer0   r!   s       r"   Útest_grouping_is_iterablez'TestIteration.test_grouping_is_iterable  s9   € ð —/‘/Ñ#8Ñ:JÐ"KÓLˆð ×!Ñ!×+Ñ+¨AÔ.ˆAØñ /rA   c                 ó¬  — t        t        j                  d«      «      }t        j                  g d¢«      }t        j                  g d¢«      }|j	                  ||g«      }t        |«      }dd|ddg   fdd|d	g   fd
d|dg   fd
d|ddg   fg}t        |«      D ]8  \  }\  \  }}	}
||   \  }}}||k(  sJ ‚||	k(  sJ ‚t        j                  |
|«       Œ: y )Nr&   )rp   rp   rp   rq   rq   rq   ©Ú1Ú2rë  rì  rë  rì  rp   rë  r   r   rì  r   rq   r%   r)   rn   )	r
   rL   r§   r  r   rX   Ú	enumerater9   r:   )r   r  Úk1Úk2r0   Úiteratedr?   r¯  rG   rH   rI   Úe1Úe2Úe3s                 r"   Útest_multi_iterzTestIteration.test_multi_iter  sî   € Ü”2—9‘9˜Q“<Ó ˆÜ�X‰XÒ4Ó5ˆÜ�X‰XÒ4Ó5ˆà—)‘)˜R ˜HÓ%ˆä˜“=ˆà�#�q˜!˜Q˜‘yÐ!Ø�#�q˜!˜‘vÐØ�#�q˜!˜‘vÐØ�#�q˜!˜Q˜‘yÐ!ð	
ˆô '0°Ö&9Ñ"ˆAÑ"‘
��c˜EØ! !™‰JˆB��BØ˜’9Ð�9Ø˜’9Ð�9Ü×"Ñ" 5¨"Õ-ñ	 ':rA   c                 ó   — t        j                  g d¢«      }t        j                  g d¢«      }t        t         j                  j	                  d«      j                  d«      t         j                  j	                  d«      j                  d«      ||dœg d¢¬«      }|j                  dd	g«      }t        |«      }|j                  }d
d|j                  |dg      fd
d|j                  |ddg      fdd|j                  |ddg      fdd|j                  |dg      fg}t        |«      D ]8  \  }	\  \  }
}}||	   \  }}}||
k(  sJ ‚||k(  sJ ‚t        j                  ||«       Œ: t        j                  g d¢«      |d<   t        j                  g d¢«      |d	<   |j                  dd	g«      }|D ��ci c]  \  }}||“Œ
 }}}t        |«      dk(  sJ ‚|j                  g d¢«      j                  «       }d}t        j                  t         |¬«      5  |j"                  j                  dd¬«      }d d d «       |D ]  \  }}Œ y c c}}w # 1 sw Y   ŒxY w)N)rq   rq   rq   rp   rp   rp   rê  r   r&   )Úv1Úv2rî  rï  )rG   rH   rI   ÚfourÚfiveÚsixru   rî  rï  rp   rë  r%   rì  r)   rn   rq   r   r   )rë  rë  rë  rì  rì  rì  rÊ   rÿ   r   rõ   r@  )rL   r  r   rM   rN   rO   r   rX   rv   rP   rí  r9   r<   r7  r4   rÄ   rÅ   r  )r   Úthree_grouprî  rï  r    r0   rð  ry   r?   r¯  rG   rH   rI   rñ  rò  ró  r²   Úgpr)  Úthree_levelsr  Úgroups                         r"   Útest_multi_iter_framez#TestIteration.test_multi_iter_frame(  s;  € Ü�X‰XÒ4Ó5ˆÜ�X‰XÒ4Ó5ˆÜä—i‘i×+Ñ+¨AÓ.×>Ñ>¸qÓAÜ—i‘i×+Ñ+¨AÓ.×>Ñ>¸qÓAØØñ	ò Aô
ˆð —*‘*˜d D˜\Ó*ˆô ˜“=ˆØ�h‰hˆà�#�r—v‘v˜c 1 #™hÑ'Ð(Ø�#�r—v‘v˜c 1 a &™kÑ*Ð+Ø�#�r—v‘v˜c 1 a &™kÑ*Ð+Ø�#�r—v‘v˜c 1 #™hÑ'Ð(ð	
ˆô '0°Ö&9Ñ"ˆAÑ"‘
��c˜EØ! !™‰JˆB��BØ˜’9Ð�9Ø˜’9Ð�9Ü×!Ñ! %¨Õ,ð	 ':ô —8‘8Ò:Ó;ˆˆ4‰Ü—8‘8Ò:Ó;ˆˆ4‰Ø—*‘*˜d D˜\Ó*ˆñ *1Ô1©™g˜c 2�#�r‘'¨ˆÑ1Ü�6‹{˜aÒÐÐð #×*Ñ*ª?Ó;×@Ñ@ÓBˆØ@ˆÜ×'Ñ'¬¸XÖFØ"—n‘n×,Ñ,°!¸6Ð,ÓBˆG÷ Gã!‰JˆC�Øñ "ùó 2÷ GÐFús   Æ/H>ÈIÉIc           	      óÞ  — t        t        |j                  d«      «      «       t        t        |j                  ddg«      «      «       t        t        |d   j                  |d   «      «      «       t        t        |d   j                  |d   |d   g«      «      «       t        t        |j                  d«      d   «      «       t        t        |j                  ddg«      d   «      «       y )Nr   r   r   )rä   rç   r   r[   s     r"   Útest_dictifyzTestIteration.test_dictifyX  s¯   € ÜŒT�"—*‘*˜S“/Ó"Ô#ÜŒT�"—*‘*˜c 3˜ZÓ(Ó)Ô*ÜŒT�"�S‘'—/‘/ " S¡'Ó*Ó+Ô,ÜŒT�"�S‘'—/‘/ 2 c¡7¨B¨s©GÐ"4Ó5Ó6Ô7ÜŒT�"—*‘*˜S“/ #Ñ&Ó'Ô(ÜŒT�"—*‘*˜c 3˜ZÓ(¨Ñ-Ó.Õ/rA   c                 óÞ  — t        ddgddgdœt        j                  ddg«      ¬«      }|j                  t	        d¬	«      d
g«      }t        |j                  «      dk(  sJ ‚|j                  dk(  sJ ‚t        d«      df|j                  v sJ ‚t        d«      df|j                  v sJ ‚|j                  t        d«      df«      }t        j                  ||j                  dgd d …f   «       |j                  t        d«      df«      }t        j                  ||j                  dgd d …f   «       t        g d¢g d¢dœt        j                  g d¢«      ¬«      }|j                  t	        d¬	«      d
g«      }t        |j                  «      dk(  sJ ‚|j                  dk(  sJ ‚t        d«      df|j                  v sJ ‚t        d«      df|j                  v sJ ‚|j                  t        d«      df«      }t        j                  ||j                  ddgd d …f   «       |j                  t        d«      df«      }t        j                  ||j                  dgd d …f   «       t        g d¢g d¢dœt        j                  g d¢«      ¬«      }|j                  t	        d¬	«      d
g«      }t        |j                  «      dk(  sJ ‚|j                  dk(  sJ ‚t        d«      df|j                  v sJ ‚t        d«      df|j                  v sJ ‚t        d«      df|j                  v sJ ‚|j                  t        d«      df«      }t        j                  ||j                  dgd d …f   «       |j                  t        d«      df«      }t        j                  ||j                  dgd d …f   «       |j                  t        d«      df«      }t        j                  ||j                  dgd d …f   «       y )NÚstartéÒ  é.  )ÚeventÚchangeú
2014-09-10ú
2013-10-10ru   rÐ   r5  r  r   z
2014-09-30z
2013-10-31r   r   )r  r  r  )r  r  i£#  )r  r	  z
2014-09-15)r  r	  z
2014-08-05r)   z
2014-08-31)r   rÔ   rÕ   r   r   r7  r)  Úngroupsr   rè   r9   r<   r^   )r   r    r0   Úress       r"   Útest_groupby_with_small_elemz*TestIteration.test_groupby_with_small_elem`  s�  € ô Ø Ð(°T¸4°LÑAÜ×"Ñ" L°,Ð#?Ó@ô
ˆð —*‘*œg¨4Ô0°'Ð:Ó;ˆÜ�7—>‘>Ó" aÒ'Ð'Ð'Ø�‰ !Ò#Ð#Ð#Ü˜,Ó'¨Ð1°W·^±^ÑCÐCÐCÜ˜,Ó'¨Ð1°W·^±^ÑCÐCÐCà×Ñ¤¨<Ó!8¸'Ð BÓCˆÜ
×Ñ˜c 2§7¡7¨A¨3²¨6¡?Ô3Ø×Ñ¤¨<Ó!8¸'Ð BÓCˆÜ
×Ñ˜c 2§7¡7¨A¨3²¨6¡?Ô3äÚ1Ò=OÑPÜ×"Ñ"Ò#MÓNô
ˆð —*‘*œg¨4Ô0°'Ð:Ó;ˆÜ�7—>‘>Ó" aÒ'Ð'Ð'Ø�‰ !Ò#Ð#Ð#Ü˜,Ó'¨Ð1°W·^±^ÑCÐCÐCÜ˜,Ó'¨Ð1°W·^±^ÑCÐCÐCà×Ñ¤¨<Ó!8¸'Ð BÓCˆÜ
×Ñ˜c 2§7¡7¨A¨q¨6²1¨9Ñ#5Ô6Ø×Ñ¤¨<Ó!8¸'Ð BÓCˆÜ
×Ñ˜c 2§7¡7¨A¨3²¨6¡?Ô3ô Ú1Ò=OÑPÜ×"Ñ"Ò#MÓNô
ˆð —*‘*œg¨4Ô0°'Ð:Ó;ˆÜ�7—>‘>Ó" aÒ'Ð'Ð'Ø�‰ !Ò#Ð#Ð#Ü˜,Ó'¨Ð1°W·^±^ÑCÐCÐCÜ˜,Ó'¨Ð1°W·^±^ÑCÐCÐCÜ˜,Ó'¨Ð1°W·^±^ÑCÐCÐCà×Ñ¤¨<Ó!8¸'Ð BÓCˆÜ
×Ñ˜c 2§7¡7¨A¨3²¨6¡?Ô3Ø×Ñ¤¨<Ó!8¸'Ð BÓCˆÜ
×Ñ˜c 2§7¡7¨A¨3²¨6¡?Ô3Ø×Ñ¤¨<Ó!8¸'Ð BÓCˆÜ
×Ñ˜c 2§7¡7¨A¨3²¨6¡?Õ3rA   c                 óþ   — t        j                  t        d«      t        d«      g«      }t        g d¢g|¬«      }|j	                  |d   «      }|j
                  j                  d   j                  «       }d}||k(  sJ ‚y )NÚAABÚabar>  r   )r   rp   r   zGrouping(('A', 'a')))r	   r\  rX   r   r   r‰  rž  Ú__repr__)r   rØ   r    r¡  r>   r?   s         r"   Útest_grouping_string_reprz'TestIteration.test_grouping_string_repr”  so   € ä×#Ñ#¤T¨%£[´$°u³+Ð$>Ó?ˆÜš	�{¨BÔ/ˆØ�Z‰Z˜˜:™Ó'ˆà—‘×&Ñ& qÑ)×2Ñ2Ó4ˆØ)ˆØ˜Ò!Ð!Ñ!rA   N)
r‘   r’   r“   rá  rè  rô  rÿ  r  r  r  r–   rA   r"   rÛ  rÛ  ú  s'   „ ò2ò ò.ò(.ò`0ò24óh"rA   rÛ  c                  ó  — t        g d¢g d¢g d¢dœ«      j                  d«      } | j                  t        d¬«      t        d¬«      gd¬	«      }|j                  j
                  d
   j                  rJ ‚|j                  j
                  d   j                  sJ ‚d}t        j                  t        |¬«      5  |j                  «       }d d d «       t        ddgddgdœ«      }t        j                  |«       y # 1 sw Y   Œ2xY w)Nrm   rÔ  )rp   rq   r1   rp   rÓ   rq   rÁ   FrJ  r   r   z*A grouping .* was excluded from the resultr   r   r"  rn   )rq   r1   )r   r|  r   r   r‰  rž  Úin_axisr9   rÄ   rÅ   r8   r<   )r    rx   r/   r>   r?   s        r"   Útest_grouping_by_key_is_in_axisr  Ÿ  sÒ   € ä	šªºÑCÓ	D×	NÑ	NÈsÓ	S€BØ	�‰”W 3Ô'¬°SÔ)9Ð:ÀUˆÓ	K€BØ�{‰{×$Ñ$ QÑ'×/Ò/Ð/Ð/Ø�;‰;× Ñ  Ñ#×+Ò+Ð+Ð+ð 7€CÜ	×	#Ñ	#¤M¸Ö	=Ø—‘“ˆ÷ 
>ä  1˜v¨Q°¨FÑ3Ó4€HÜ×Ñ˜& (Õ+÷ 
>Ð	=ús   Â5C7Ã7D c                  ó,  — t        g d¢ddœ«      } t        d¬«      }| j                  |«      }d}t        j                  t
        |¬«      5  |j                  }d d d «       |j                  u sJ ‚d}t        j                  t
        |¬«      5  |j                  }d d d «       ||j                  u sJ ‚d	}t        j                  t
        |¬«      5  |j                  }d d d «       ||j                  u sJ ‚d
}t        j                  t
        |¬«      5  |j                   d d d «       d}t        j                  t
        |¬«      5  |j                   d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒÍxY w# 1 sw Y   Œ—xY w# 1 sw Y   ŒaxY w# 1 sw Y   y xY w)Nr>  r   ©rp   rq   rp   rÁ   zUse GroupBy.groups insteadr   zUse GroupBy.grouper insteadz-Grouper.obj is deprecated and will be removedzUse Resampler.ax insteadzGrouper.indexer is deprecated)r   r   r   r9   rÄ   rÅ   r)  r  r‰  r(  ÚaxÚindexer)r    Úgrperrx   r/   r  s        r"   Útest_grouper_groupsr  ¯  s:  € ä	š¨Ñ+Ó	,€BÜ˜Ô€EØ	�‰�EÓ	€Bà
&€CÜ	×	#Ñ	#¤M¸Ö	=Ø�l‰lˆ÷ 
>à�"—)‘)ÑÐÐà
'€CÜ	×	#Ñ	#¤M¸Ö	=Ø�m‰mˆ÷ 
>à�"—+‘+ÑÐÐà
9€CÜ	×	#Ñ	#¤M¸Ö	=Ø�i‰iˆ÷ 
>à�"—&‘&‰=Ðˆ=à
$€CÜ	×	#Ñ	#¤M¸Ö	=Ø�Š÷ 
>ð *€CÜ	×	#Ñ	#¤M¸Ö	=Ø�Š÷ 
>Ð	=÷' 
>Ñ	=ú÷
 
>Ð	=ú÷
 
>Ð	=ú÷
 
>Ð	=ú÷ 
>Ð	=ús<   ÁEÂE&ÃE2ÄE>ÅF
ÅE#Å&E/Å2E;Å>FÆ
FÚattr)Úgroup_indexÚresult_indexÚgroup_arraylikec                 óú   — t        g d¢g d¢dœ«      }|j                  d«      }| › d�}t        j                  t        |¬«      5  t        |j                  j                  d   | «       d d d «       y # 1 sw Y   y xY w)Nrm   rÔ  r  rp   z is deprecatedr   r   )r   r   r9   rÄ   rÅ   r™  r‰  rž  )r  r    rx   r/   s       r"   Útest_depr_grouping_attrsr   Í  sa   € ô 
šªÑ3Ó	4€BØ	�‰�C‹€BØˆF�.Ð
!€CÜ	×	#Ñ	#¤M¸Ö	=Ü�—‘×%Ñ% aÑ(¨$Ô/÷ 
>×	=Ñ	=ús   Á$A1Á1A:) Ú__doc__Údatetimer   r   ÚnumpyrL   r   ÚpandasrÔ   r   r   r   r   r	   r
   r   r   r   Úpandas._testingÚ_testingr9   Úpandas.core.groupby.grouperr   r   r˜   r±  rÛ  r  r  r”   r•   r   r–   rA   r"   Ú<module>r(     s–   ðñ÷ó
 Û ã ÷
÷ 
õ 
õ Ý 0÷H/ñ H/÷^~
0ñ ~
0÷J@0ñ @0÷Nb"ñ b"òJ,ò ð< ‡�×Ñ˜Ò!SÓTñ0ó Uñ0rA   