ó
    ­œ‘hÕ[  ã                   ó  • S SK rS SKrS SKJr  S SKJr  S SKrS SK	J
r  S SKJr  \R                  R                  SSSS/SS//S	S
/S	S/S	S/S.4SSS/S\R                   /SS/// SQ/ SQ/ SQS.4/5      S 5       r\R                  R                  SSSS/SS//SS
/SS/SS/S.4SSS/S\R                   /SS/\R                   S/// SQ/ SQ/ SQS.4/5      S 5       r\R                  R                  SSSS/S
S	/SS	/SS	/S.4SSS\R                   // SQ/ SQ/ SQS.4/5      S 5       r\R                  R                  SSSSS \R                   /\R(                  " S!S!/SS /S"94SSSS \R                   /\R(                  " / S#QSS \R                   /S"94/5      S$ 5       r\R                  R                  S%S\R(                  " S&S'/SS /S(S)94S\R(                  " / S*QSS \R                   /S(S)94/5      S+ 5       r\R                  R                  S,S-5      S. 5       r\R                  R                  S/\R0                  " S S05      \" S15      \R4                  R7                  S2S3/S4S5/S69/5      S7 5       r\R                  R                  SSSS/SS//S	S
/SS/SS/S.4SSS/S\R                   /SS/// SQ/ S8Q/ S9QS.4/5      S: 5       r\R                  R<                  \R                  R                  S;\R>                  " S<5      \R>                  " S=5      4\R@                  " S>5      \R@                  " S?5      4\RB                  " S<5      \RB                  " S=5      4/5      \R                  R                  S@SSAS!/4S/ SBQ4/5      SC 5       5       5       r"\R                  R                  SD\RF                  " SSSS \R                   // SEQSF.SG/ SHQ0SS \R                   /SISJ9\RF                  " SSSS \R                   // SEQSF.SG/ SKQ0SSLSJ9\RF                  " S/ SMQ/ SEQSF.SG/ SHQ0SSNSJ9\RF                  " S/ SMQ/ SEQSF.SG/ SHQ0SSOSJ9/5      SP 5       r$\R                  R                  SQSS/SS //5      \R                  R                  SRS/SS //5      \R                  R                  SSSS/5      ST 5       5       5       r%SU r&SV r'\R                  R                  SW\(" SX5      5      \R                  R                  SYSSZS[S\S]S^S_S`SaSbSaScSdSe\RF                  " Sf\R                  RS                  \SgSh9Si9SjSkSl/5      \R                  R                  SmSS/5      Sn 5       5       5       r*\R                  R                  SmSS/5      \R                  R                  SY\+S/5      So 5       5       r,\R                  R                  Sp/ SqQ5      Sr 5       r-Ss r.\R                  R                  StSuSv/5      Sw 5       r/Sx r0Sy r1g)zé    N)Úpa_version_under10p1)Úna_value_for_dtype)Úget_groupby_method_argszdropna, tuples, outputsTÚAÚBç      *@ç…ëQ¸Î^@ç     À^@ç      ð?©ÚcÚdÚeF)r   çš™™™™™(@r	   )r   ç      m@r
   )r   ç      (@r   c                 ó†  • / SQSUSSS// SQ/ SQ/n[         R                  " U/ SQS	9nUR                  S
S/U S9R                  5       n[         R                  R                  U[        S5      S9nU (       d!  UR                  SS[        R                  /SS9n[         R                  " X'S9n[        R                  " Xh5        g )N©r   r   é   r   r   r   r   r   r   ©r   r   r	   é{   é   ©r   r   r   r   r   ©ÚaÚbr   r   r   ©Úcolumnsr   r   ©ÚdropnaÚab©Únamesr   ©Úlevel©Úindex©ÚpdÚ	DataFrameÚgroupbyÚsumÚ
MultiIndexÚfrom_tuplesÚlistÚ
set_levelsÚnpÚnanÚtmÚassert_frame_equal)	r    ÚtuplesÚoutputsÚnulls_fixtureÚdf_listÚdfÚgroupedÚmiÚexpecteds	            ÚlC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/tests/groupby/test_groupby_dropna.pyÚ:test_groupby_dropna_multi_index_dataframe_nan_in_one_groupr>      s¯   € ò0 	Ø	ˆm˜T 5¨"Ð-Ú"Úð	€Gô 
�Š�gÒ'@Ñ	A€BØ�j‰j˜#˜s˜¨FˆjÐ3×7Ñ7Ó9€Gä	�‰×	"Ñ	" 6´°d³Ð	"Ð	<€Bö Ø�]‰]˜C ¤b§f¡fÐ-°Sˆ]Ð9ˆÜ�|Š|˜GÑ.€Hä×Ò˜'Õ,ó    r   )r   gš™™™™™*@r	   r   )r   g     @m@r
   r   )r   r   r   r   c           	      óÀ  • / SQSUSSS// SQUSSSS	/SUSSS	//n[         R                  " U/ S
QS9nUR                  SS/U S9R                  5       n[         R                  R                  U[        S5      S9nU (       d5  UR                  SS[        R                  /SS[        R                  //5      n[         R                  " X(S9n	[        R                  " Xy5        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r!   r"   r&   r(   )
r    r5   r6   r7   Únulls_fixture2r8   r9   r:   r;   r<   s
             r=   Ú;test_groupby_dropna_multi_index_dataframe_nan_in_two_groupsrB   8   sÔ   € ò0 	Ø	ˆm˜T 5¨"Ð-Ú"Ø	˜˜a  CÐ(Ø	ˆn˜a  CÐ(ð€Gô 
�Š�gÒ'@Ñ	A€BØ�j‰j˜#˜s˜¨FˆjÐ3×7Ñ7Ó9€Gä	�‰×	"Ñ	" 6´°d³Ð	"Ð	<€Bö Ø�]‰]˜S #¤r§v¡vÐ.°°c¼2¿6¹6Ð0BÐCÓDˆÜ�|Š|˜GÑ.€Hä×Ò˜'Õ,r?   zdropna, idx, outputs)r   r   r   )r	   r   r   )r
   r   r   )r   r   r   c                 ó  • / SQ/ SQ/ SQ/ SQ/n[         R                  " U/ SQS9nUR                  SU S9R                  5       n[         R                  " U[         R                  " USS	9S
9n[
        R                  " XV5        g )N)r   r   r   r   )Nr   r   r   )r   r	   r   r   )r   r   r   r   )r   r   r   r   r   r   r   ©Únamer&   )r)   r*   r+   r,   ÚIndexr3   r4   )r    Úidxr6   r8   r9   r:   r<   s          r=   Ú*test_groupby_dropna_normal_index_dataframerH   d   sn   € ò$ 	ÚÚÚð	€Gô 
�Š�gÒ';Ñ	<€BØ�j‰j˜ VˆjÐ,×0Ñ0Ó2€Gä�|Š|˜G¬2¯8ª8°C¸cÑ+BÑC€Hä×Ò˜'Õ,r?   zdropna, idx, expectedr   r   é   r&   )rI   rI   rI   c                 óš   • [         R                  " / SQUS9nUR                  SU S9R                  5       n[        R
                  " XB5        g )N)r   é   rI   rI   r&   r   )r%   r    )r)   ÚSeriesr+   r,   r3   Úassert_series_equal)r    rG   r<   ÚserÚresults        r=   Ú test_groupby_dropna_series_levelrP   ƒ   s=   € ô �)Š)’L¨Ñ
,€Cà�[‰[˜q¨ˆ[Ð0×4Ñ4Ó6€FÜ×Ò˜6Õ,r?   zdropna, expectedç     @j@ç     àu@ú	Max Speed©r'   rE   )rQ   rR   ç      4@c                 óÄ   • [         R                  " / SQ/ SQSS9nUR                  SSS[        R                  /U S9R                  5       n[        R                  " X15        g )N)g     `x@rR   g      >@rU   )ÚFalconrW   ÚParrotrX   rS   rT   r   r   r   )r)   rL   r+   r1   r2   Úmeanr3   rM   )r    r<   rN   rO   s       r=   Útest_groupby_dropna_series_byrZ   •   sS   € ô �)Š)Ú"Ú6Øñ€Cð �[‰[˜#˜s C¬¯©Ð0¸ˆ[Ð@×EÑEÓG€FÜ×Ò˜6Õ,r?   r    )FTc                 ó–   • [         R                  " / SQ/ SQS.5      nUR                  SU S9nUR                  R                  U :X  d   eg )N©r   r   r   N©r   rK   rI   N©r   r   r   r   )r)   r*   r+   Ú_grouperr    )r    r9   Úgbs      r=   Útest_grouper_dropna_propagationra   ª   sA   € ô 
�ŠšO²/ÑBÓ	C€BØ	�‰�C ˆÐ	'€BØ�;‰;×Ñ Ó'Ð'Ñ'r?   r'   é   Úabcd)r   rK   )ÚRr   ÚnumÚcolr"   c                 ó,  • SSSSU (       a  [         R                  OS/0n[        R                  " / SQ/ SQS.US9nUR	                  SU S	9nUR                  [        5      n[        R                  " X!S9n[        R                  " XV5        US/   R                  [        5      n[        R                  " X!S9n[        R                  " XV5        US   R                  [        5      n[        R                  " US   USS
9n[        R                  " XV5        g )Nr   rK   r   r\   r]   r^   r&   r   r   rT   )r1   r2   r)   r*   r+   Ú	transformÚlenr3   r4   rL   rM   )r    r'   Úexpected_datar9   r`   rO   r<   s          r=   Ú+test_groupby_dataframe_slice_then_transformrk   ²   sÛ   € ð ˜1˜a ®f¤B§F¢F¸!Ð<Ð=€Mä	�ŠšO²/ÑBÈ%Ñ	P€BØ	�‰�C ˆÐ	'€Bà�\‰\œ#Ó€FÜ�|Š|˜MÑ7€HÜ×Ò˜&Ô+à��‰Y× Ñ ¤Ó%€FÜ�|Š|˜MÑ7€HÜ×Ò˜&Ô+à�‰W×ÑœsÓ#€FÜ�yŠy˜ sÑ+°5¸sÑC€HÜ×Ò˜6Õ,r?   )r   r   r
   )r   r   r   c                 óŽ  • / SQ/ SQ/ SQ/ SQ/n[         R                  " U/ SQS9nSSS	S
.nUR                  SS/U S9R                  U5      n[         R                  R                  U[        S5      S9nU (       d!  UR                  SS[        R                  /SS9n[         R                  " X'S9n[        R                  " Xh5        g )Nr   )r   Nr   r   r   r   r   r   r   r,   ÚmaxÚminr   r   r   r   r!   r"   r   r   r$   r&   )r)   r*   r+   Úaggr-   r.   r/   r0   r1   r2   r3   r4   )	r    r5   r6   r8   r9   Úagg_dictr:   r;   r<   s	            r=   Ú-test_groupby_dropna_multi_index_dataframe_aggrq   Î   s²   € ò, 	Ú$Ú"Úð	€Gô 
�Š�gÒ'@Ñ	A€BØ ¨UÑ3€HØ�j‰j˜#˜s˜¨FˆjÐ3×7Ñ7¸ÓA€Gä	�‰×	"Ñ	" 6´°d³Ð	"Ð	<€Bö Ø�]‰]˜C ¤b§f¡fÐ-°Sˆ]Ð9ˆÜ�|Š|˜GÑ.€Hä×Ò˜'Õ,r?   zdatetime1, datetime2z
2020-01-01z
2020-02-01z-2 daysz-1 dayszdropna, valuesr   )r   rI   é   c           	      óB  • [         R                  " / SQUUUUUU/S.5      nU (       a  X#/nOX#[        R                  /nUR	                  SU S9R                  SS05      n[         R                  " SU0[         R                  " USS9S9n	[        R                  " X‰5        g )	N)r   rK   rI   rb   é   rr   )ÚvaluesÚdtrv   r   ru   r,   rD   r&   )	r)   r*   r1   r2   r+   ro   rF   r3   r4   )
r    ru   Ú	datetime1Ú	datetime2Úunique_nulls_fixtureÚunique_nulls_fixture2r9   Úindexesr:   r<   s
             r=   Ú&test_groupby_dropna_datetime_like_datar|   ø   sœ   € ô 
�Šâ(àØ$ØØ%ØØðñ
	
ó
€Bö ØÐ(‰à¬¯©Ð0ˆà�j‰j˜ fˆjÐ-×1Ñ1°8¸UÐ2CÓD€GÜ�|Š|˜X vÐ.´b·h²h¸wÈTÑ6RÑS€Hä×Ò˜'Õ,r?   z#dropna, data, selected_data, levels)é
   r}   é   é   )Úgroupsru   ru   )r   r   r   r   Údropna_false_has_nan)Úid)r   r   r   Údropna_true_has_nan)r   r   r   r   Údropna_false_no_nanÚdropna_true_no_nanc                 óæ  • [         R                  " U5      nUR                  SU S9nSn[        R                  " [
        US9   UR                  S 5      nS S S 5        [        [        US   US   5      5      n[         R                  R                  USS /S9n	U (       d  U(       a  U	R                  USS9n	[         R                  " X)S	9n
[        R                  " WU
5        g ! , (       d  f       N“= f)
Nr€   r   z7DataFrameGroupBy.apply operated on the grouping columns©Úmatchc                 óV   • [         R                  " S[        [        U 5      5      05      $ )Nru   )r)   r*   Úrangeri   )Úgrps    r=   Ú<lambda>Ú@test_groupby_apply_with_dropna_for_multi_index.<locals>.<lambda>I  s   € ¤b§l¢l°H¼eÄCÈÃH»oÐ3NÔ&Or?   ru   r"   r$   r&   )r)   r*   r+   r3   Úassert_produces_warningÚFutureWarningÚapplyÚtupleÚzipr-   r.   r0   r4   )r    ÚdataÚselected_dataÚlevelsr9   r`   ÚmsgrO   Ú	mi_tuplesr;   r<   s              r=   Ú.test_groupby_apply_with_dropna_for_multi_indexr˜     sÈ   € ôL 
�Š�dÓ	€BØ	�‰�H VˆÐ	,€BØ
C€CÜ	×	#Ò	#¤M¸Ó	=Ø—‘ÑOÓPˆ÷ 
>ô ”c˜$˜x™.¨-¸Ñ*AÓBÓC€IÜ	�‰×	"Ñ	" 9°X¸tÐ4DÐ	"Ð	E€Bö –fØ�]‰]˜6¨ˆ]Ð2ˆä�|Š|˜MÑ4€HÜ×Ò˜& (Õ+÷ 
>Õ	=ús   ÁC"Ã"
C0Úinput_indexÚkeysÚseriesc                 ór  • [         R                  " S[        R                  /SS/SS/S.5      nUR	                  U5      nU(       a  US   nOU SS/:X  a  US/:X  a  US/   nU b  UR	                  U 5      nUR                  USS	9nU(       a  US   nUR                  5       n[        R                  " Xd5        g )
Nr   rK   rI   ©r   r   r   r   r   r   Fr   )	r)   r*   r1   r2   Ú	set_indexr+   r,   r3   Úassert_equal)r™   rš   r›   Úobjr<   r`   rO   s          r=   Ú)test_groupby_dropna_with_multiindex_inputr¡   V  s´   € ô
 �,Š,à”R—V‘V�Ø�Q�Ø�Q�ñ	
ó€Cð �}‰}˜TÓ"€HÞØ˜C‘=‰Ø	˜˜c˜
Ó	" t°¨u£}à˜S˜E‘?ˆàÑØ�m‰m˜KÓ(ˆØ	�‰�T %ˆÐ	(€BÞØ�‰WˆØ�V‰V‹X€Fä‡O‚O�FÕ%r?   c            
      óÄ  • S[         R                  SS[         R                  // SQS.n [        R                  " U 5      nUR	                  SSS9nUR
                  n[         R                  nS[         R                  " SS	/US
9S[         R                  " S/US
9[         R                  [         R                  " SS/US
90n[        UR                  5       UR                  5       5       H  u  pg[        R                  " Xg5        M     [         R                  " [        UR                  5       5      S	   5      (       d   e[        UR                  5       5      SS	 SS/:X  d   eg )NÚg1Úg2)r   r   rK   rI   rb   )Úgroupr   r¥   Fr   r   rK   ©ÚdtyperI   r   rb   )r1   r2   r)   r*   r+   ÚindicesÚintpÚarrayr’   ru   r3   Úassert_numpy_array_equalÚisnanr/   rš   )r“   r9   r:   rO   r§   r<   Úresult_valuesÚexpected_valuess           r=   Útest_groupby_nan_includedr¯   t  s  € àœBŸF™F D¨$´·±Ð7ºoÑN€DÜ	�Š�dÓ	€BØ�j‰j˜¨ˆjÐ/€GØ�_‰_€FÜ�G‰G€EàŒb�hŠh˜˜1�v UÑ+ØŒb�hŠh˜�s %Ñ(Ü
�‰”—’˜!˜Q˜ uÑ-ð€Hô
 +.¨f¯m©m«o¸x¿¹Ó?PÖ*QÑ&ˆÜ
×#Ò# MÖCñ +Rä�8Š8”D˜Ÿ™›Ó'¨Ñ*×+Ñ+Ð+Ð+Ü�—‘“Ó˜q Ð#¨¨d |Ó3Ð3Ñ3r?   c                  óì   • [         R                  " [        R                  SS/// SQS9n U R	                  SS/5      n U R                  SS/SS9R                  5       nU n[        R                  " X5        g )	Nr   r   r�   r   r   r   Fr   )	r)   r*   r1   r2   rž   r+   Úfirstr3   r4   )r9   rO   r<   s      r=   Ú&test_groupby_drop_nan_with_multi_indexr²   †  sc   € ä	�ŠœŸ™  1�~Ð&²Ñ	@€BØ	�‰�s˜C�jÓ	!€BØ�Z‰Z˜˜c˜
¨5ˆZÐ1×7Ñ7Ó9€FØ€HÜ×Ò˜&Õ+r?   Úsequence_indexéQ   r§   ÚUInt8ÚInt8ÚUInt16ÚInt16ÚUInt32ÚInt32ÚUInt64ÚInt64ÚFloat32ÚFloat64ÚcategoryÚstringústring[pyarrow]zpyarrow is not installed)Úreason)Úmarksúdatetime64[ns]ú	period[d]zSparse[float]Útest_seriesc           	      óZ  • SR                  [        S5       Vs/ s H  nSSSS.U SU-  -  S-     PM     sn5      nUS;   a  SS[        R                  S	.nO/US
;   a  SS[        R                  S	.nOSS[        R
                  S	.n[        R                  " [        R                  " U Vs/ s H  ovU   PM	     snUS9/ SQS.5      nUR                  SSSUSS9n	U(       a  U	S   n	U	R                  5       n
0 n[        U5       H  u  pÇUR                  US5      U-   X·'   M     US:X  aA  [        R                  " U Vs/ s H  oÖU   PM	     snUS   R                  R                  SS9nO�[        U[         5      (       aR  UR#                  S5      (       a<  [        R$                  " [        R&                  " U Vs/ s H  ovU   PM	     snUS9SS9nO)[        R$                  " U Vs/ s H  ovU   PM	     snUSS9n[        R                  " UR)                  5       USS S9nU(       d  UR+                  5       nU(       d@  UR-                  5       nUb-  UR#                  S5      (       a  US   R/                  U5      US'   [0        R2                  " X¯5        g s  snf s  snf s  snf s  snf s  snf )NÚ rb   ÚxÚyÚz)r   r   rK   rI   )rÀ   rÁ   )rÉ   rÊ   rË   )rÄ   rÅ   z
2016-01-01z
2017-01-01r   rK   r¦   )r   r   rK   rI   )Úkeyr   rÌ   F)r    ÚsortÚas_indexÚobservedr   r   r¿   rD   ÚSparse)r§   rE   )r'   rE   r§   )ÚjoinrŠ   r)   ÚNAr1   r2   r*   rL   r+   r,   Ú	enumerateÚgetÚCategoricalIndexÚcatÚ
categoriesÚ
isinstanceÚstrÚ
startswithrF   rª   ru   Úto_frameÚreset_indexÚastyper3   rŸ   )r³   r§   rÆ   rÎ   ÚkÚsequenceÚuniquesÚlabelr9   r`   rO   ÚsummedrG   r   r'   r<   s                   r=   Útest_no_sort_keep_narã   �  sc  € ðF �w‰wÜINÈqÌÓRÊÀAˆS�S˜SÑ	! .°Q¸±TÑ":¸QÑ">Ô	?ÉÑRó€Hð
 Ð-Ó-Ø #¬B¯E©EÑ2‰Ø	Ð1Ó	1Ø$¨<¼b¿e¹eÑD‰à ¬¯©Ñ/ˆä	�Šä—9’9¹(ÓCº(° eœn¹(ÑCÈ5ÑQÚñ	
ó
€Bð 
�‰�E %¨e¸hÐQVˆÐ	W€BÞØ�‰WˆØ�V‰V‹X€Fð €FÜ Ö)‰
ˆØŸ
™
 5¨!Ó,¨sÑ2ˆ‹ñ *à�
ÓÜ×#Ò#Ù!'Ó(¢˜A�QŒZ¡Ñ(Øˆu‰I�M‰M×$Ñ$Øñ
‰ô
 
�Eœ3×	Ñ	 E×$4Ñ$4°X×$>Ñ$>Ü—’Ü�HŠH±&Ó9²&¨˜e”n±&Ñ9ÀÑGÈeñ
‰ô —’±fÓ=²f¨U %œ.±fÑ=ÀUÐQVÑWˆÜ�yŠy˜Ÿ™›°¸CÀtÑL€HÞØ×$Ñ$Ó&ˆÞØ×'Ñ'Ó)ˆØÑ ×!1Ñ!1°(×!;Ñ!;Ø& u™o×4Ñ4°UÓ;ˆH�U‰Oä‡O‚O�FÕ%ùò_ 	Sùò Dùò  )ùò :ùò >s   ™JÂ*JÄ=JÆ9J#Ç%J(c                 ó´  • [         R                  " SSS/05      n[         R                  " X#/US9nU(       a  US   OUnUR                  USU S9nUR	                  5       n	[         R
                  " [        UR                  5      /5      n
[         R                  " SS/0U
S9nU(       a  [        R                  " X›S   5        g [        R                  " X›5        g )	Nr   r   rK   r¦   F)r    rÍ   rI   r&   )r)   r*   rL   r+   r,   rF   r   r§   r3   rM   r4   )rÍ   r§   r7   rA   rÆ   r9   r€   r    r`   rO   r'   r<   s               r=   Útest_null_is_null_for_dtyperå   æ  s­   € ô 
�Š�s˜Q ˜F�mÓ	$€BÜ�YŠY˜Ð6¸eÑD€FÞ ˆ"ˆSŠ' b€CØ	�‰�V E°ˆÐ	5€BØ�V‰V‹X€FÜ�HŠHÔ(¨¯©Ó6Ð7Ó8€EÜ�|Š|˜S 1 #˜J¨eÑ4€HÞÜ
×Ò˜v°¡}Õ5ä
×Ò˜fÕ/r?   Ú
index_kind)rŠ   ÚsingleÚmultic                 ó  • [         R                  " [         R                  R                  S5      R	                  / SQSS9S 5      n[
        R                  " [
        R                  " U/ SQS9[        S5      S.5      nUR                  5       n[
        R                  " U/ S	QS9R                  S
5      US'   US:X  a  S/nOfUS:X  a&  S/nUR                  S5      nUR                  S5      nO:SS/nUS   US'   UR                  SS/5      nUS   US'   UR                  SS/5      n[        X5      n	[        X5      n
U S:X  a,  US:X  a&  U	S   R                  US94n	U
S   R                  US94n
UR                  USXUS9nU(       d7  U S;   a1  [        R                   " ["        SS9   [%        X°5      " U	6   S S S 5        g UR                  X�USS9n[%        XÀ5      " U
6 R'                  5       nUS   R(                  R+                  S
/5      US'   US:X  a"  US   R(                  R+                  S
/5      US'   U(       a,  US:X  a  UR                  SS/5      nOBUR                  S5      nO0US:w  a*  U S:w  a$  UR                  SS9nUS:X  a  UR                  SS9nU S;   a¦  US:w  a   US   R,                  R/                  5       nUS:X  aB  U Vs/ s H  oîS
:X  a  [         R0                  OUPM     nn[
        R                  " U/ SQS9US'   O;U Vs/ s H*  oîS:X  a   [         R0                  [         R0                  4OUPM,     nnX]S'   U S:X  a,  UR3                  SS0S9nU(       a  US   R3                  S 5      nU(       d  US:X  d  U S:X  a  S nO[4        nSn[6        R8                  " UUS9   [%        X°5      " U	6 nS S S 5        [6        R:                  " WU5        g ! , (       d  f       g = fs  snf s  snf ! , (       d  f       NA= f)NrK   ©r   rK   Né   ©Úsize©r   rK   rI   ©r×   r~   ©rÉ   rÊ   )r   rK   rI   rb   rb   rÉ   rŠ   rç   Úx2Úcorrwithr   r   F©r    rÏ   rÍ   rÎ   )ÚidxminÚidxmaxz(empty group due to unobserved categoriesr‡   T)rÏ   rÍ   rÎ   rè   rí   )rõ   rô   rÊ   )rb   rb   z*A grouping .* was excluded from the result)r1   ÚappendÚrandomÚdefault_rngÚchoicer)   r*   ÚCategoricalrŠ   ÚcopyÚfillnarž   r   Údropr+   ÚpytestÚraisesÚ
ValueErrorÚgetattrrÜ   rÖ   Úremove_categoriesru   Útolistr2   Úrenamer�   r3   rŽ   rŸ   )Úreduction_funcrÏ   rÍ   rÎ   ræ   ru   r9   Ú	df_filledrš   ÚargsÚargs_filledÚ	gb_keepnaÚ	gb_filledr<   r   Úwarnr–   rO   s                     r=   Útest_categorical_reducersr  ù  sÐ  € ô �YŠY”r—y‘y×,Ñ,¨QÓ/×6Ñ6²|È"Ð6ÐMÈtÓT€FÜ	�ŠÜ�nŠn˜V²	Ñ:ÄÀrÃÑKó
€Bð
 —‘“	€IÜ—^’^ F²|ÑD×KÑKÈAÓN€Iˆc�Nà�WÓØˆu‰Ø	�xÓ	ØˆuˆØ�\‰\˜#ÓˆØ×'Ñ'¨Ó,‰	à�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜3 ˜+Ó&ˆØ# C™.ˆ	�$‰Ø×'Ñ'¨¨d¨Ó4ˆ	Ü" >Ó6€DÜ)¨.ÓD€KØ˜Ó#¨
°gÓ(=à�Q‘—‘ T�Ð*Ð,ˆØ" 1‘~×*Ñ*°4Ð*Ð8Ð:ˆà—
‘
Ø�U XÀ8ð ð €Iö ˜Ð*>Ó>Ü�]Š]ÜÐHó
ô �IÔ.°Ñ5÷
ð 	à×!Ñ! $ÀÈtÐ!ÐT€IÜ�yÔ1°;Ð?×KÑKÓM€HØ˜S‘M×%Ñ%×7Ñ7¸¸Ó<€HˆS�MØ�WÓØ! $™×+Ñ+×=Ñ=¸q¸cÓBˆ�‰ÞØ˜Ó Ø×)Ñ)¨3°¨+Ó6‰Hà×)Ñ)¨#Ó.‰HØ	�wÓ	 >°VÓ#;à—=‘=¨�=Ð-ˆØ˜Ó Ø—}‘}¨T�}Ð2ˆHØÐ-Ó-°*ÀÓ2Gà˜#‘×%Ñ%×,Ñ,Ó.ˆØ˜Ó!Ù7=Ó>²v°! Q£”b—f’f¨AÒ-±vˆFÐ>ÜŸNšN¨6ºiÑHˆH�SŠMáFLÓMÂfÀ¨v«+”r—v‘vœrŸv™vÑ&¸1Ò<ÁfˆFÐMØ"�S‰MØ˜Óà—?‘?¨A¨v¨;�?Ð7ˆÞØ Ñ'×.Ñ.¨tÓ4ˆHæ�: Ó(¨N¸fÓ,DØ‰äˆØ
6€CÜ	×	#Ò	# D°Ó	4Ü˜Ô3°TÐ:ˆ÷ 
5ô ‡O‚O�F˜HÕ%÷[
ô 
ð 	üò* ?ùò N÷ 
5Õ	4ús$   Æ%OË
!O(Ì1O-Î(O2Ï
O%Ï2
P c                 ó,  • US:X  a/  SnU R                  [        R                  R                  USS95        [        R
                  " [        R                  R                  S5      R                  / SQSS9S 5      n[        R                  " [        R                  " U/ S	QS
9[        S5      S.5      n[        X5      nXwS   R                  5          S   n	US:X  a  [        [        [!        U	5      5      5      n
O‹US:X  aw  U(       a3  U(       a  US   R#                  SS9S-
  nOCUS   R#                  SS9S-
  nO-UR$                  S U	R&                  S    S   R#                  5       n[!        U	5      U/-  n
O[)        X‘5      " U6 n
[        R                  " SU
05      nUR+                  SSX#US9nUR+                  SSX#S9nSnUS:X  a2  [,        R.                  " [0        US9   [)        US5      " U6 nS S S 5        O[)        XÑ5      " U6 n[)        Xá5      " U6 n[3        XwS   R                  5          R&                  R5                  5       UR6                  R9                  5       5       H8  u  nnUR:                  S:X  a  UUR$                  U'   M'  UUR$                  US4'   M:     US:X  a0  UUS   R=                  5       UR?                  W5      -  ==   S-  ss'   US;  a  URA                  S5      n[,        RB                  " WU5        g ! , (       d  f       GN= f)Nrü   zBGH#49651 fillna may incorrectly reorders results when dropna=FalseF)rÂ   ÚstrictrK   rê   rë   rì   rî   rï   r~   rð   rÉ   rÊ   ÚcumcountÚngroupr   r   r   ró   T)r    rÏ   rÍ   zLThe default fill_method='ffill' in DataFrameGroupBy.pct_change is deprecatedÚ
pct_changer‡   )ÚrankÚdiffr  ÚshiftÚint64)"Úapplymarkerrþ   ÚmarkÚxfailr1   rö   r÷   rø   rù   r)   r*   rú   rŠ   r   Úisnullr/   ri   ÚnuniqueÚilocr'   r  r+   r3   rŽ   r�   r’   r  ru   ÚravelÚndimÚnotnullÚgerÝ   rŸ   )ÚrequestÚtransformation_funcrÏ   rÍ   rÎ   r–   ru   r9   r  Únull_group_valuesÚnull_group_dataÚna_groupÚnull_group_resultr	  Ú	gb_dropnarO   r<   r  Úvalues                      r=   Útest_categorical_transformersr(  M  sÍ  € ð ˜hÓ&ØRˆØ×ÑœFŸK™K×-Ñ-°SÀÐ-ÐGÔHä�YŠY”r—y‘y×,Ñ,¨QÓ/×6Ñ6²|È"Ð6ÐMÈtÓT€FÜ	�ŠÜ�nŠn˜V²	Ñ:ÄÀrÃÑKó
€Bô #Ð#6Ó;€Dð ˜c™7Ÿ>™>Ó+Ñ,¨SÑ1ÐØ˜jÓ(Üœu¤SÐ):Ó%;Ó<Ó=‰Ø	 Ó	(ÞÞØ˜c™7Ÿ?™?°%˜?Ð8¸1Ñ<‘ð ˜c™7Ÿ?™?°%˜?Ð8¸1Ñ<‘à—w‘wÐ;Ð!2×!8Ñ!8¸Ñ!;Ð<¸SÑA×IÑIÓKˆHÜÐ/Ó0°H°:Ñ=‰ä!Ð"3ÔIÈ4ÐPˆÜŸš c¨?Ð%;Ó<Ðà—
‘
Ø�E HÀ(ð ð €Ið —
‘
˜3 t°h�
ÐJ€Ià
X€CØ˜lÓ*Ü×'Ò'¬¸SÓAÜ˜Y¨Ô5°tÐ<ˆF÷ BÐAô ˜Ô8¸$Ð?ˆÜ�yÔ6¸Ð=€HäØ
ˆc‰7�>‰>ÓÑ×"Ñ"×)Ñ)Ó+Ð->×-EÑ-E×-KÑ-KÓ-Mö‰ˆˆeð �=‰=˜AÓØ"'ˆH�M‰M˜$Óà%*ˆH�M‰M˜$ ˜'Ó"ñð ˜hÓ&Ø��C‘—‘Ó" X§[¡[°Ó%:Ñ:Ó;¸qÑ@Ó;ØÐ"IÓIØ—?‘? 7Ó+ˆä‡O‚O�F˜HÕ%÷% BÖAús   ÇLÌ
LÚmethodÚheadÚtailc                 óB  • [         R                  R                  S5      R                  / SQS5      n[        R
                  " [        R                  " U/ SQS9[        [        U5      5      S.5      nUR                  SSXUS	9n[        X`5      " 5       nU S
:X  a  US S S2   nUS:H  US:H  R                  5       S:*  -  US:H  US:H  R                  5       S:*  -  -  US :H  US :H  R                  5       S:*  -  -  nU S
:X  a  US S S2   nXX   n	[        R                  " Xy5        g )NrK   rê   r   rî   rï   rð   rÉ   Fró   r+  éÿÿÿÿr   rt   )r1   r÷   rø   rù   r)   r*   rú   rŠ   ri   r+   r  Úcumsumr3   r4   )
r)  rÏ   rÍ   rÎ   ru   r9   r`   rO   Úmaskr<   s
             r=   Útest_categorical_head_tailr0  ‰  s#  € ô �Y‰Y×"Ñ" 1Ó%×,Ñ,ª\¸2Ó>€FÜ	�ŠÜ�nŠn˜V²	Ñ:ÄÄsÈ6Ã{ÓASÑTó
€Bð 
�‰�C °ÈhˆÐ	W€BÜ�RÔ Ó"€Fà�ÓØ™˜"˜‘ˆð �A‰+˜6 Q™;×.Ñ.Ó0°AÑ5Ñ	6Ø�a‰K˜V q™[×0Ñ0Ó2°aÑ7Ñ8ñ	:ð �d‰N ¨$¡×6Ñ6Ó8¸AÑ=Ñ>ñ	@ð 	ð �ÓØ‘D�b�D‰zˆØ‰x€Hä×Ò˜&Õ+r?   c                  óx  • [         R                  R                  S5      R                  / SQS5      n [        R
                  " [        R                  " U / SQS9[        [        U 5      5      S.5      nUR                  SSSS	9nUR                  S
 5      nUR                  5       n[        R                  " X45        g )NrK   rê   r   rî   rï   rð   rÉ   F©r    rÏ   c                 ó"   • U R                  5       $ ©N©r,   ©rÉ   s    r=   rŒ   Ú&test_categorical_agg.<locals>.<lambda>ª  s
   € ˜aŸe™eœgr?   )r1   r÷   rø   rù   r)   r*   rú   rŠ   ri   r+   ro   r,   r3   r4   ©ru   r9   r`   rO   r<   s        r=   Útest_categorical_aggr9  £  s‹   € ä�Y‰Y×"Ñ" 1Ó%×,Ñ,ª\¸2Ó>€FÜ	�ŠÜ�nŠn˜V²	Ñ:ÄÄsÈ6Ã{ÓASÑTó
€Bð 
�‰�C °ˆÐ	6€BØ�V‰VÑ%Ó&€FØ�v‰v‹x€HÜ×Ò˜&Õ+r?   c                  óz  • [         R                  R                  S5      R                  / SQS5      n [        R
                  " [        R                  " U / SQS9[        [        U 5      5      S.5      nUR                  SSSS	9nUR                  S
 5      nUR                  S5      n[        R                  " X45        g )NrK   rê   r   rî   rï   rð   rÉ   Fr2  c                 ó"   • U R                  5       $ r4  r5  r6  s    r=   rŒ   Ú,test_categorical_transform.<locals>.<lambda>¶  s
   €  A§E¡E¤Gr?   r,   )r1   r÷   rø   rù   r)   r*   rú   rŠ   ri   r+   rh   r3   r4   r8  s        r=   Útest_categorical_transformr=  ¯  sŽ   € ä�Y‰Y×"Ñ" 1Ó%×,Ñ,ª\¸2Ó>€FÜ	�ŠÜ�nŠn˜V²	Ñ:ÄÄsÈ6Ã{ÓASÑTó
€Bð 
�‰�C °ˆÐ	6€BØ�\‰\Ñ+Ó,€FØ�|‰|˜EÓ"€HÜ×Ò˜&Õ+r?   )2Únumpyr1   rþ   Úpandas.compat.pyarrowr   Úpandas.core.dtypes.missingr   Úpandasr)   Úpandas._testingÚ_testingr3   Úpandas.tests.groupbyr   r  Úparametrizer2   r>   rB   rH   rL   rP   rZ   ra   Ú
RangeIndexr/   r-   Úfrom_productrk   rq   Úarm_slowÚ	TimestampÚ	TimedeltaÚPeriodr|   Úparamr˜   r¡   r¯   r²   rŠ   Úskipifrã   Úobjectrå   r  r(  r0  r9  r=  © r?   r=   Ú<module>rP     sP  ðÛ Û å 6å 9ã Ý Ý 8ð ‡�×ÑØð Ø�3ˆZ˜#˜s˜Ð$Ø˜�.¨¨e }¸DÀ#¸;ÑGð	
ð Ø�3ˆZ˜#˜rŸv™v˜¨¨c¨
Ð3â)Ú)Ú&ñð	
ðóñ&-ó'ð&-ð0 ‡�×ÑØð Ø�3ˆZ˜#˜s˜Ð$Ø˜�.¨¨e }¸DÀ#¸;ÑGð	
ð Ø�3ˆZ˜#˜rŸv™v˜¨¨c¨
°R·V±V¸S°MÐBâ.Ú.Ú+ñð	
ðóñ&-ó'ð&-ð2 ‡�×ÑØà	��Sˆz &¨$ °u¸d°mÈ3ÐPTÈ+ÑVÐWàØ�#�r—v‘vÐâ)Ú)Ú&ñð	
ðóñ-óð-ð  ‡�×ÑØà	��S˜#˜rŸv™vÐ&¨¯	ª	°1°a°&ÀÀcÀ
Ñ(KÐLàØ�#�s˜BŸF™FÐ#Ø�IŠI’i¨¨S°"·&±&Ð'9Ñ:ð	
ðó
ñ-ó
ð-ð ‡�×ÑØà	ˆr�yŠy˜% ˜°°S¨zÀÑLÐMàØ�IŠIÒ*°3¸¸R¿V¹VÐ2DÈ;ÑWð	
ðó	ñ-ó	ð-ð ‡�×Ñ˜ =Ó1ñ(ó 2ð(ð ‡�×ÑØà
�Š�a˜ÓÙˆV‹Ø
�‰×"Ñ" F¨JÐ#7ÀÀu¸~Ð"ÐNðóñ-óð-ð( ‡�×ÑØð Ø�3ˆZ˜#˜s˜Ð$Ø˜�.¨¨e }¸CÀ¸:ÑFð	
ð Ø�3ˆZ˜#˜rŸv™v˜¨¨c¨
Ð3â)Ú)Ú%ñð	
ðóñ&-ó'ð&-ð. ‡�×ÑØ‡�×ÑØà	�Š�lÓ	# R§\¢\°,Ó%?Ð@Ø	�Š�iÓ	  "§,¢,¨yÓ"9Ð:Ø	�Š�<Ó	  "§)¢)¨LÓ"9Ð:ðóð ‡�×ÑÐ)¨T°B¸°7¨O¸eÂZÐ=PÐ+QÓRñ-ó Sóó ð-ð: ‡�×ÑØ)à�ŠØØ˜S # r§v¡vÐ.Ò:JÑKØ’|Ð$Ø�#�r—v‘vÐØ%ñ	
ð 	�ŠØØ˜S # r§v¡vÐ.Ò:JÑKØ’yÐ!ØØ$ñ	
ð 	�ŠàÚ+Ò7GÑHØ’|Ð$ØØ$ñ	
ð 	�ŠàÚ+Ò7GÑHØ’|Ð$ØØ#ñ	
ð/ó"ñF,óG"ðF,ð( ‡�×Ñ˜¨°¨u°s¸C°jÐ(AÓBØ‡�×Ñ˜ 3 %¨#¨s¨Ð!4Ó5Ø‡�×Ñ˜ D¨% =Ó1ñ&ó 2ó 6ó Cð&ò64ò$,ð ‡�×ÑÐ)©5°«;Ó7Ø‡�×ÑØàØØØØØØØØØØØØØØ�ŠØØ—+‘+×$Ñ$Ø$Ð-Gð %ð ñ	
ð 	ØØð/óð8 ‡�×Ñ˜¨¨u¨Ó6ñ5&ó 7ó9ó 8ð<5&ðp ‡�×Ñ˜¨¨u¨Ó6Ø‡�×Ñ˜ 6¨4 .Ó1ñ0ó 2ó 7ð0ð" ‡�×Ñ˜Ò'CÓDñP&ó EðP&òf9&ðx ‡�×Ñ˜ F¨FÐ#3Ó4ñ,ó 5ð,ò2	,ó	,r?   