§
    tŠtj»X  ã                   ó�  — d dl Zd dlZd dlmZ d dlmc mZ d dl	m
Z
 d dlZd dlmZ d dlmZ ej                             ddddgddggd	d
gd	dgd	dgdœfdddgdej        gddggg d¢g d¢g d¢dœfg¦  «        d„ ¦   «         Zej                             ddddgddggdd
gddgddgdœfdddgdej        gddgej        dggg d¢g d¢g d¢dœfg¦  «        d„ ¦   «         Zej                             ddddgd
d	gdd	gdd	gdœfdddej        gg d¢g d¢g d¢dœfg¦  «        d„ ¦   «         Zej                             ddddd ej        g ej        d!d!gdd g¬"¦  «        fdddd ej        g ej        g d#¢dd ej        g¬"¦  «        fg¦  «        d$„ ¦   «         Zej                             d%d ej        d&d'gdd gd(¬)¦  «        fd ej        g d*¢dd ej        gd(¬)¦  «        fg¦  «        d+„ ¦   «         Zd,„ Zej                             d- ej        d d.¦  «         ed/¦  «        ej                             d0d1gd2d3g¬4¦  «        g¦  «        d5„ ¦   «         Z ej                             ddddgddggd	d
gddgddgdœfdddgdej        gddggg d¢g d6¢g d7¢dœfg¦  «        d8„ ¦   «         Z!ej        j"        ej                             d9 ej#        d:¦  «         ej#        d;¦  «        f ej$        d<¦  «         ej$        d=¦  «        f ej%        d:¦  «         ej%        d;¦  «        fg¦  «        ej                             d>dd?d!gfdg d@¢fg¦  «        dA„ ¦   «         ¦   «         ¦   «         Z&ej                             dB ej'        dddd ej        gg dC¢dDœdEg dF¢idd ej        gdG¬H¦  «         ej'        dddd ej        gg dC¢dDœdEg dI¢iddJ¬H¦  «         ej'        dg dK¢g dC¢dDœdEg dF¢iddL¬H¦  «         ej'        dg dK¢g dC¢dDœdEg dF¢iddM¬H¦  «        g¦  «        dN„ ¦   «         Z(ej                             dOddgdd gg¦  «        ej                             dPdgdd gg¦  «        ej                             dQddg¦  «        dR„ ¦   «         ¦   «         ¦   «         Z)dS„ Z*dT„ Z+ej                             dUg dV¢¦  «        ej                             dWddXdYdZd[d\d]d^d_d`dadbdc ej'        dd ej,        de¦  «        ¬f¦  «        dgdhdig¦  «        ej                             djddg¦  «        dk„ ¦   «         ¦   «         ¦   «         Z-ej                             djddg¦  «        ej                             dWe.dg¦  «        dl„ ¦   «         ¦   «         Z/ej                             dmg dn¢¦  «        do„ ¦   «         Z0dp„ Z1ej                             dqdrdsg¦  «        dt„ ¦   «         Z2du„ Z3dv„ Z4dS )wé    N)ÚPandas4Warning)Ú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                 ó¬  — g d¢d|dddgg d¢g d¢g}t          j        |g d¢¬	¦  «        }|                     d
dg| ¬¦  «                             ¦   «         }t           j                             |t          d¦  «        ¬¦  «        }| s$|                     ddt          j	        gd¬¦  «        }t          j        ||¬¦  «        }t          j        ||¦  «         d S )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	            úf/var/www/html/CA-Chatbot/venv/lib/python3.11/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Ñ	AÔ	A€BØ�jŠj˜#˜s˜¨FˆjÑ3Ô3×7Ò7Ñ9Ô9€Gå	Œ×	"Ò	" 6µ°d±´Ð	"Ñ	<Ô	<€Bð ð :Ø�]Š]˜C ¥b¤fÐ-°Sˆ]Ñ9Ô9ˆÝŒ|˜G¨2Ð.Ñ.Ô.€HåÔ˜' 8Ñ,Ô,Ð,Ð,Ð,ó    r   )r   gš™™™™™*@r	   r   )r   g     @m@r
   r   )r   r   r   r   c           	      óØ  — g d¢d|dddgg d¢|dddd	gd|ddd	gg}t          j        |g d
¢¬¦  «        }|                     ddg| ¬¦  «                             ¦   «         }t           j                             |t          d¦  «        ¬¦  «        }| s1|                     ddt          j	        gddt          j	        gg¦  «        }t          j        ||¬¦  «        }	t          j        ||	¦  «         d S )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   9   s	  € ð0 	ÐÐØ	ˆm˜T 5¨"Ð-Ø"Ð"Ð"Ø	˜˜a  CÐ(Ø	ˆn˜a  CÐ(ð€Gõ 
Œ�gÐ'@Ð'@Ð'@Ð	AÑ	AÔ	A€BØ�jŠj˜#˜s˜¨FˆjÑ3Ô3×7Ò7Ñ9Ô9€Gå	Œ×	"Ò	" 6µ°d±´Ð	"Ñ	<Ô	<€Bð ð EØ�]Š]˜S #¥r¤vÐ.°°c½2¼6Ð0BÐCÑDÔDˆÝŒ|˜G¨2Ð.Ñ.Ô.€HåÔ˜' 8Ñ,Ô,Ð,Ð,Ð,r?   zdropna, idx, outputs)r   r   r   )r	   r   r   )r
   r   r   )r   r   r   c                 ó"  — g d¢g d¢g d¢g d¢g}t          j        |g d¢¬¦  «        }|                     d| ¬¦  «                             ¦   «         }t          j        |t          j        |d¬	¦  «        ¬
¦  «        }t          j        ||¦  «         d S )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   e   s©   € ð$ 	ÐÐØÐÐØÐÐØÐÐð	€Gõ 
Œ�gÐ';Ð';Ð';Ð	<Ñ	<Ô	<€BØ�jŠj˜ VˆjÑ,Ô,×0Ò0Ñ2Ô2€GåŒ|˜G­2¬8°C¸cÐ+BÑ+BÔ+BÐCÑCÔC€HåÔ˜' 8Ñ,Ô,Ð,Ð,Ð,r?   zdropna, idx, expectedr   r   é   r&   )rI   rI   rI   c                 ó²   — t          j        g d¢|¬¦  «        }|                     d| ¬¦  «                             ¦   «         }t	          j        ||¦  «         d S )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   „   sV   € õ Œ)�L�L�L¨Ð
,Ñ
,Ô
,€Cà�[Š[˜q¨ˆ[Ñ0Ô0×4Ò4Ñ6Ô6€FÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r?   zdropna, expectedç     @j@ç     àu@ú	Max Speed©r'   rE   )rQ   rR   ç      4@c                 óÔ   — t          j        g d¢g d¢d¬¦  «        }|                     dddt          j        g| ¬¦  «                             ¦   «         }t          j        ||¦  «         d S )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   –   sv   € õ Œ)Ø"Ð"Ð"Ø6Ð6Ð6Øðñ ô €Cð �[Š[˜#˜s C­¬Ð0¸ˆ[Ñ@Ô@×EÒEÑGÔG€FÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r?   c                 óŽ   — t          j        g d¢g d¢dœ¦  «        }|                     d| ¬¦  «        }|j        j        | k    sJ ‚d S )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   «   sR   € å	Œ˜O˜O˜O°/°/°/ÐBÐBÑ	CÔ	C€BØ	�Š�C ˆÑ	'Ô	'€BØŒ;Ô Ò'Ð'Ð'Ð'Ð'Ð'r?   r'   é   Úabcd)r   rK   )ÚRr   ÚnumÚcolr"   c                 ó`  — dddd| rt           j        ndgi}t          j        g d¢g d¢dœ|¬¦  «        }|                     d| ¬	¦  «        }|                     t          ¦  «        }t          j        ||¬¦  «        }t          j        ||¦  «         |dg                              t          ¦  «        }t          j        ||¬¦  «        }t          j        ||¦  «         |d                              t          ¦  «        }t          j	        |d         |d¬
¦  «        }t          j
        ||¦  «         d S )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˜O˜O°/°/°/ÐBÐBÈ%Ð	PÑ	PÔ	P€BØ	�Š�C ˆÑ	'Ô	'€Bà�\Š\�#ÑÔ€FÝŒ|˜M°Ð7Ñ7Ô7€HÝÔ˜& (Ñ+Ô+Ð+à��ŒY× Ò ¥Ñ%Ô%€FÝŒ|˜M°Ð7Ñ7Ô7€HÝÔ˜& (Ñ+Ô+Ð+à�ŒW×Ò�sÑ#Ô#€FÝŒy˜ sÔ+°5¸sÐCÑCÔC€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r?   )r   r   r
   )r   r   r   c                 ó´  — g d¢g d¢g d¢g d¢g}t          j        |g d¢¬¦  «        }ddd	d
œ}|                     ddg| ¬¦  «                             |¦  «        }t           j                             |t          d¦  «        ¬¦  «        }| s$|                     ddt          j	        gd¬¦  «        }t          j        ||¬¦  «        }t          j        ||¦  «         d S )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Ñ	AÔ	A€BØ ¨UÐ3Ð3€HØ�jŠj˜#˜s˜¨FˆjÑ3Ô3×7Ò7¸ÑAÔA€Gå	Œ×	"Ò	" 6µ°d±´Ð	"Ñ	<Ô	<€Bð ð :Ø�]Š]˜C ¥b¤fÐ-°Sˆ]Ñ9Ô9ˆÝŒ|˜G¨2Ð.Ñ.Ô.€HåÔ˜' 8Ñ,Ô,Ð,Ð,Ð,r?   zdatetime1, datetime2z
2020-01-01z
2020-02-01z-2 daysz-1 dayszdropna, valuesr   )r   rI   é   c           	      óJ  — t          j        g d¢||||||gdœ¦  «        }| r||g}n||t          j        g}|                     d| ¬¦  «                             ddi¦  «        }t          j        d|it          j        |d¬¦  «        ¬¦  «        }	t          j        ||	¦  «         d S )	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ð ð 1Ø˜iÐ(ˆˆà˜i­¬Ð0ˆà�jŠj˜ fˆjÑ-Ô-×1Ò1°8¸UÐ2CÑDÔD€GÝŒ|˜X vÐ.µb´h¸wÈTÐ6RÑ6RÔ6RÐSÑSÔS€HåÔ˜' 8Ñ,Ô,Ð,Ð,Ð,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                 ó°  — t          j        |¦  «        }|                     d| ¬¦  «        }|                     d„ ¦  «        }t	          t          |d         |d         d¬¦  «        ¦  «        }t           j                             |dd g¬¦  «        }| s|r|                     |d¬¦  «        }t          j        ||¬	¦  «        }	t          j
        ||	¦  «         d S )
Nr€   r   c                 ób   — t          j        dt          t          | ¦  «        ¦  «        i¦  «        S )Nru   )r)   r*   Úrangeri   )Úgrps    r=   ú<lambda>z@test_groupby_apply_with_dropna_for_multi_index.<locals>.<lambda>G  s!   € ¥"¤,°½%ÅÀCÁÄ¹/¼/Ð/JÑ"KÔ"K€ r?   ru   F©Ústrictr"   r$   r&   )r)   r*   r+   ÚapplyÚtupleÚzipr-   r.   r0   r3   r4   )
r    ÚdataÚselected_dataÚlevelsr9   r`   rO   Ú	mi_tuplesr;   r<   s
             r=   Ú.test_groupby_apply_with_dropna_for_multi_indexr”     sÕ   € õL 
Œ�dÑ	Ô	€BØ	�Š�H VˆÑ	,Ô	,€BØ�XŠXÐKÐKÑLÔL€Få•c˜$˜xœ.¨-¸Ô*AÈ%ÐPÑPÔPÑQÔQ€IÝ	Œ×	"Ò	" 9°X¸tÐ4DÐ	"Ñ	EÔ	E€Bð ð 3�fð 3Ø�]Š]˜6¨ˆ]Ñ2Ô2ˆåŒ|˜M°Ð4Ñ4Ô4€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r?   Úinput_indexÚkeysÚseriesc                 óˆ  — t          j        dt          j        gddgddgdœ¦  «        }|                     |¦  «        }|r	|d         }n| ddgk    r|dgk    r	|dg         }| �|                     | ¦  «        }|                     |d¬	¦  «        }|r|d         }|                     ¦   «         }t          j        ||¦  «         d S )
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�   T  sâ   € õ
 Œ,à•R”V�Ø�Q�Ø�Q�ð	
ð 	
ñô €Cð �}Š}˜TÑ"Ô"€HØð #Ø˜C”=ˆˆØ	˜˜c˜
Ò	"Ð	" t°¨u¢} }à˜S˜E”?ˆàÐØ�mŠm˜KÑ(Ô(ˆØ	�Š�T %ˆÑ	(Ô	(€BØð Ø�ŒWˆØ�VŠV‰XŒX€Få„O�F˜HÑ%Ô%Ð%Ð%Ð%r?   c            	      óâ  — dt           j        ddt           j        gg d¢dœ} t          j        | ¦  «        }|                     dd¬¦  «        }|j        }t           j        }dt          j        dd	g|¬
¦  «        dt          j        dg|¬
¦  «        t           j        t          j        ddg|¬
¦  «        i}t          | 	                    ¦   «         | 	                    ¦   «         d¬¦  «        D ]\  }}t          j        ||¦  «         Œt          j        t          |                     ¦   «         ¦  «        d	         ¦  «        sJ ‚t          |                     ¦   «         ¦  «        dd	…         ddgk    sJ ‚d S )NÚg1Úg2)r   r   rK   rI   rb   )Úgroupr   r¡   Fr   r   rK   ©ÚdtyperI   r   rb   Tr‹   )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«   r  sZ  € à�BœF D¨$µ´Ð7¸o¸o¸oÐNÐN€DÝ	Œ�dÑ	Ô	€BØ�jŠj˜¨ˆjÑ/Ô/€GØŒ_€FÝŒG€Eà�bŒh˜˜1�v UÐ+Ñ+Ô+Ø�bŒh˜�s %Ð(Ñ(Ô(Ý
Œ•”˜!˜Q˜ uÐ-Ñ-Ô-ð€Hõ
 +.Ø�Š‰Œ˜ŸšÑ*Ô*°4ð+ñ +ô +ð Dð DÑ&ˆ�õ 	Ô# M°?ÑCÔCÐCÐCÝŒ8•D˜Ÿš™œÑ'Ô'¨Ô*Ñ+Ô+Ð+Ð+Ð+Ý�—’‘”ÑÔ˜q ˜sÔ#¨¨d |Ò3Ð3Ð3Ð3Ð3Ð3r?   c                  ó  — t          j        t          j        ddggg d¢¬¦  «        } |                      ddg¦  «        } |                      ddgd¬¦  «                             ¦   «         }| }t          j        ||¦  «         d S )	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®   †  s}   € å	Œ�œ  1�~Ð&°°°Ð	@Ñ	@Ô	@€BØ	�Š�s˜C�jÑ	!Ô	!€BØ�ZŠZ˜˜c˜
¨5ˆZÑ1Ô1×7Ò7Ñ9Ô9€FØ€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r?   Úsequence)ÚxyzyÚxxyzÚyzxzÚzzzzÚzyzxÚyyyyÚzzxyÚxyxyr£   ÚUInt8ÚInt8ÚUInt16ÚInt16ÚUInt32ÚInt32ÚUInt64ÚInt64ÚFloat32ÚFloat64ÚcategoryÚstringústring[pyarrow]Úpyarrow)Úmarksúdatetime64[ns]ú	period[D]zSparse[float]Útest_seriesc                 óÐ  ‡— |dv rddt           j        dœŠnM|dv rddt           j        dœŠn8|�&|                     d¦  «        rd	d
t           j        dœŠnd	d
t          j        dœŠt          j        t          j        ˆfd„| D ¦   «         |¬¦  «        g d¢dœ¦  «        }|                     ddd|d¬¦  «        }|r|d         }|                     ¦   «         }i }t          | ¦  «        D ]!\  }}	| 
                    |	d¦  «        |z   ||	<   Œ"|dk    r4t          j        ˆfd„|D ¦   «         |d         j        j        d¬¦  «        }
n„t          |t          ¦  «        rL|                     d¦  «        r7t          j        t          j        ˆfd„|D ¦   «         |¬¦  «        d¬¦  «        }
n#t          j        ˆfd„|D ¦   «         |d¬¦  «        }
t          j        |                     ¦   «         |
dd ¬¦  «        }|s|                     ¦   «         }|sI|                     ¦   «         }|�3|                     d¦  «        r|d                              |¦  «        |d<   t-          j        ||¦  «         d S )N)rÃ   rÄ   ÚxÚy)rË   rÌ   Úz)rÇ   rÈ   z
2016-01-01z
2017-01-01)ÚIÚUÚFr   rK   c                 ó    •— g | ]
}‰|         ‘ŒS © rÒ   ©Ú.0ÚlabelÚuniquess     €r=   ú
<listcomp>z(test_no_sort_keep_na.<locals>.<listcomp>Ã  s   ø€ ÐCÐCÐC°˜g eœnÐCÐCÐCr?   r¢   )r   r   rK   rI   )Úkeyr   rØ   F)r    ÚsortÚas_indexÚobservedr   r   rÂ   c                 ó    •— g | ]
}‰|         ‘ŒS rÒ   rÒ   )rÔ   r   rÖ   s     €r=   r×   z(test_no_sort_keep_na.<locals>.<listcomp>Ó  s   ø€ Ð(Ð(Ð(˜AˆW�QŒZÐ(Ð(Ð(r?   rD   ÚSparsec                 ó    •— g | ]
}‰|         ‘ŒS rÒ   rÒ   rÓ   s     €r=   r×   z(test_no_sort_keep_na.<locals>.<listcomp>Ù  s   ø€ Ð9Ð9Ð9¨�g˜e”nÐ9Ð9Ð9r?   c                 ó    •— g | ]
}‰|         ‘ŒS rÒ   rÒ   rÓ   s     €r=   r×   z(test_no_sort_keep_na.<locals>.<listcomp>Ü  s   ø€ Ð=Ð=Ð=¨U˜' %œ.Ð=Ð=Ð=r?   )r£   rE   )r'   rE   r£   )r)   ÚNAÚ
startswithr1   r2   r*   rL   r+   r,   Ú	enumerateÚgetÚCategoricalIndexÚcatÚ
categoriesÚ
isinstanceÚstrrF   r¦   ru   Úto_frameÚreset_indexÚastyper3   r›   )r¯   r£   rÉ   rÚ   r9   r`   rO   ÚsummedrG   rÕ   r'   r<   rÖ   s               @r=   Útest_no_sort_keep_narí   �  sÈ  ø€ ðP Ð-Ð-Ð-Ø #­B¬EÐ2Ð2ˆˆØ	Ð1Ð	1Ð	1Ø$¨<½b¼eÐDÐDˆˆØ	Ð	˜u×/Ò/°Ñ@Ô@Ð	Ø ­¬Ð.Ð.ˆˆà ­¬Ð/Ð/ˆå	Œå”9ÐCÐCÐCÐC¸(ÐCÑCÔCÈ5ÐQÑQÔQØ��ð	
ð 	
ñ
ô 
€Bð 
�Š�E %¨e¸hÐQVˆÑ	WÔ	W€BØð Ø�ŒWˆØ�VŠV‰XŒX€Fð €FÝ Ñ)Ô)ð 3ð 3‰
ˆˆUØŸ
š
 5¨!Ñ,Ô,¨sÑ2ˆˆu‰ˆØ�
ÒÐÝÔ#Ø(Ð(Ð(Ð( Ð(Ñ(Ô(ØˆuŒIŒMÔ$Øð
ñ 
ô 
ˆˆõ
 
�E�3Ñ	Ô	ð X E×$4Ò$4°XÑ$>Ô$>ð XÝ”ÝŒHÐ9Ð9Ð9Ð9°&Ð9Ñ9Ô9ÀÐGÑGÔGÈeð
ñ 
ô 
ˆˆõ ”Ð=Ð=Ð=Ð=°fÐ=Ñ=Ô=ÀUÐQVÐWÑWÔWˆÝŒy˜Ÿš™œ°¸CÀtÐLÑLÔL€HØð 'Ø×$Ò$Ñ&Ô&ˆØð <Ø×'Ò'Ñ)Ô)ˆØÐ ×!1Ò!1°(Ñ!;Ô!;ÐØ& uœo×4Ò4°UÑ;Ô;ˆH�U‰Oå„O�F˜HÑ%Ô%Ð%Ð%Ð%r?   c                 ó¾  — t          j        dddgi¦  «        }t          j        ||g|¬¦  «        }|r|d         n|}|                     |d| ¬¦  «        }|                     ¦   «         }	t          j        t          |j        ¦  «        g¦  «        }
t          j        ddgi|
¬¦  «        }|rt          j	        |	|d         ¦  «         d S t          j
        |	|¦  «         d S )	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˜ ~Ð6¸eÐDÑDÔD€FØ Ð
(ˆ"ˆSŒ'ˆ' b€CØ	�Š�V E°ˆÑ	5Ô	5€BØ�VŠV‰XŒX€FÝŒHÕ(¨¬Ñ6Ô6Ð7Ñ8Ô8€EÝŒ|˜S 1 #˜J¨eÐ4Ñ4Ô4€HØð 0Ý
Ô˜v x°¤}Ñ5Ô5Ð5Ð5Ð5å
Ô˜f hÑ/Ô/Ð/Ð/Ð/r?   Ú
index_kind)rˆ   ÚsingleÚmultic                 óX  — t          j        t           j                             d¦  «                             g d¢d¬¦  «        d ¦  «        }t          j        t          j        |g d¢¬¦  «        t          d¦  «        dœ¦  «        }| 	                    ¦   «         }t          j        |g d	¢¬¦  «         
                    d
¦  «        |d<   |dk    rdg}n||dk    r.dg}|                     d¦  «        }|                     d¦  «        }nHddg}|d         |d<   |                     ddg¦  «        }|d         |d<   |                     ddg¦  «        }t          | |¦  «        }	t          | |¦  «        }
| dk    r@|dk    r:|	d                              |¬¦  «        f}	|
d                              |¬¦  «        f}
|                     |d|||¬¦  «        }|sL| dv rHt          j        t"          d¬¦  «        5   t%          || ¦  «        |	Ž  d d d ¦  «         n# 1 swxY w Y   d S |                     |||d¬¦  «        }| dk    r
t&          }d}nd }d}t)          j        ||¬¦  «        5   t%          || ¦  «        |
Ž                      ¦   «         }d d d ¦  «         n# 1 swxY w Y   |d         j                             d
g¦  «        |d<   |dk    r$|d         j                             d
g¦  «        |d<   |r3|dk    r|                     ddg¦  «        }n|                     d¦  «        }| dv rd|dk    r^|d         j                             ¦   «         }|dk    r(d„ |D ¦   «         }t          j        |g d¢¬¦  «        |d<   nd„ |D ¦   «         }||d<   | d k    r5|                     dd i¬¦  «        }|r|d                               d ¦  «        }| dk    r
t&          }d}nd }d}t)          j        ||¬¦  «        5   t%          || ¦  «        |	Ž }d d d ¦  «         n# 1 swxY w Y   t)          j        ||¦  «         d S )!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 categories)ÚmatchT)rÛ   rÙ   rÚ   z'DataFrameGroupBy.corrwith is deprecatedÚ rò   )rÿ   rþ   rÌ   c                 ó6   — g | ]}|d k    rt           j        n|‘ŒS )rb   ©r1   r2   ©rÔ   r   s     r=   r×   z-test_categorical_reducers.<locals>.<listcomp>:  s&   € Ð>Ð>Ð>°!  Q¢ •b”f�f¨AÐ>Ð>Ð>r?   c                 óN   — g | ]"}|d k    rt           j        t           j        fn|‘Œ#S ))rb   rb   r  r  s     r=   r×   z-test_categorical_reducers.<locals>.<listcomp>=  s.   € ÐMÐMÐMÀ¨!¨vª+¨+•r”v�rœvÐ&Ð&¸1ÐMÐMÐMr?   r÷   )r1   ÚappendÚrandomÚdefault_rngÚchoicer)   r*   ÚCategoricalrˆ   ÚcopyÚfillnarš   r   Údropr+   ÚpytestÚraisesÚ
ValueErrorÚgetattrr   r3   Úassert_produces_warningrê   rå   Úremove_categoriesru   ÚtolistÚrenamer›   )Úreduction_funcrÛ   rÙ   rÚ   rð   ru   r9   Ú	df_filledr–   ÚargsÚargs_filledÚ	gb_keepnaÚ	gb_filledÚwarnÚmsgr<   rO   s                    r=   Útest_categorical_reducersr  û  sb  € õ ŒY•r”y×,Ò,¨QÑ/Ô/×6Ò6°|°|°|È"Ð6ÑMÔMÈtÑTÔT€FÝ	ŒÝŒn˜V°	°	°	Ð:Ñ:Ô:ÅÀrÁÄÐKÐKñ
ô 
€Bð
 —’‘	”	€IÝ”^ F°|°|°|ÐDÑDÔD×KÒKÈAÑNÔN€Iˆc�Nà�WÒÐØˆuˆˆØ	�xÒ	Ð	ØˆuˆØ�\Š\˜#ÑÔˆØ×'Ò'¨Ñ,Ô,ˆ	ˆ	à�Tˆ{ˆØ�c”7ˆˆ4‰Ø�\Š\˜3 ˜+Ñ&Ô&ˆØ# Cœ.ˆ	�$‰Ø×'Ò'¨¨d¨Ñ4Ô4ˆ	Ý" >°2Ñ6Ô6€DÝ)¨.¸)ÑDÔD€KØ˜Ò#Ð#¨
°gÒ(=Ð(=à�Q”—’ T�Ñ*Ô*Ð,ˆØ" 1”~×*Ò*°4Ð*Ñ8Ô8Ð:ˆà—
’
Ø�U X°DÀ8ð ñ ô €Ið ð ˜Ð*>Ð>Ð>ÝŒ]ÝÐHð
ñ 
ô 
ð 	6ð 	6ð /�G�I˜~Ñ.Ô.°Ð5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	ˆà×!Ò! $°ÀÈtÐ!ÑTÔT€IØ˜Ò#Ð#ÝˆØ7ˆˆàˆØˆÝ	Ô	# D°Ð	4Ñ	4Ô	4ð Rð RØ5•7˜9 nÑ5Ô5°{ÐC×OÒOÑQÔQˆðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rà˜S”MÔ%×7Ò7¸¸Ñ<Ô<€HˆS�MØ�WÒÐØ! $œÔ+×=Ò=¸q¸cÑBÔBˆ�‰Øð /Ø˜Ò Ð Ø×)Ò)¨3°¨+Ñ6Ô6ˆHˆHà×)Ò)¨#Ñ.Ô.ˆHØÐ-Ð-Ð-°*ÀÒ2GÐ2Gà˜#”Ô%×,Ò,Ñ.Ô.ˆØ˜Ò!Ð!Ø>Ð>°vÐ>Ñ>Ô>ˆFÝœN¨6¸i¸i¸iÐHÑHÔHˆH�S‰MˆMàMÐMÀfÐMÑMÔMˆFØ"ˆH�S‰MØ˜ÒÐà—?’?¨A¨v¨;�?Ñ7Ô7ˆØð 	5Ø Ô'×.Ò.¨tÑ4Ô4ˆHà˜Ò#Ð#ÝˆØ7ˆˆàˆØˆÝ	Ô	# D°Ð	4Ñ	4Ô	4ð ;ð ;Ø3•˜ NÑ3Ô3°TÐ:ˆð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;õ „O�F˜HÑ%Ô%Ð%Ð%Ð%s6   Ç-HÈHÈHÉ&JÊJÊJÏ*P
Ð
PÐPc                 óì  — t          j        t           j                             d¦  «                             g d¢d¬¦  «        d ¦  «        }t          j        t          j        |g d¢¬¦  «        t          d¦  «        dœ¦  «        }t          | |¦  «        }||d	          
                    ¦   «                  d
         }| dk    r*t          t          t          |¦  «        ¦  «        ¦  «        }n£| dk    rŠ|rB|r |d	                              d¬¦  «        dz
  }	nR|d	                              d¬¦  «        dz
  }	n2|j        d |j        d         …         d	                              ¦   «         }	t          |¦  «        |	gz  }n t!          || ¦  «        |Ž }t          j        d
|i¦  «        }
|                     d	d|||¬¦  «        }|                     d	d||¬¦  «        } t!          || ¦  «        |Ž } t!          || ¦  «        |Ž }t%          ||d	          
                    ¦   «                  j                             ¦   «         |
j                             ¦   «         d¬¦  «        D ]'\  }}|j        dk    r||j        |<   Œ||j        |df<   Œ(| dk    r>||d	                              ¦   «         |                     |	¦  «        z  xx         dz  cc<   | dvr|                     d¦  «        }t5          j        ||¦  «         d S )NrK   rô   rõ   rö   rø   rù   r~   rú   rË   rÌ   ÚcumcountÚngroupFr   r   r   rý   T)r    rÛ   rÙ   r‹   )ÚrankÚdiffÚ
pct_changeÚshiftÚint64)r1   r  r  r  r	  r)   r*   r
  rˆ   r   Úisnullr/   ri   ÚnuniqueÚilocr'   r  r+   r�   r  ru   ÚravelÚndimÚnotnullÚgerë   r3   r›   )Útransformation_funcrÛ   rÙ   rÚ   ru   r9   r  Únull_group_valuesÚnull_group_dataÚna_groupÚnull_group_resultr  Ú	gb_dropnarO   r<   r)  Úvalues                    r=   Útest_categorical_transformersr5  R  s
  € åŒY•r”y×,Ò,¨QÑ/Ô/×6Ò6°|°|°|È"Ð6ÑMÔMÈtÑTÔT€FÝ	ŒÝŒn˜V°	°	°	Ð:Ñ:Ô:ÅÀrÁÄÐKÐKñ
ô 
€Bõ #Ð#6¸Ñ;Ô;€Dð ˜2˜cœ7Ÿ>š>Ñ+Ô+Ô,¨SÔ1ÐØ˜jÒ(Ð(Ý�u¥SÐ):Ñ%;Ô%;Ñ<Ô<Ñ=Ô=ˆˆØ	 Ò	(Ð	(Øð 	LØð =Ø˜cœ7Ÿ?š?°%˜?Ñ8Ô8¸1Ñ<��ð ˜cœ7Ÿ?š?°%˜?Ñ8Ô8¸1Ñ<��à”wÐ;Ð!2Ô!8¸Ô!;Ð;Ô<¸SÔA×IÒIÑKÔKˆHÝÐ/Ñ0Ô0°H°:Ñ=ˆˆàI�'Ð"3Ð5HÑIÔIÈ4ÐPˆÝœ c¨?Ð%;Ñ<Ô<Ðà—
’
Ø�E H°4À(ð ñ ô €Ið —
’
˜3 t°hÀT�
ÑJÔJ€Ià4�W�YÐ 3Ñ4Ô4°dÐ;€FØ6�w�yÐ"5Ñ6Ô6¸Ð=€HåØ
ˆ2ˆcŒ7�>Š>ÑÔÔÔ"×)Ò)Ñ+Ô+ØÔ ×&Ò&Ñ(Ô(Øðñ ô ð +ð +‰ˆˆeð
 Œ=˜AÒÐØ"'ˆHŒM˜$ÑÐà%*ˆHŒM˜$ ˜'Ñ"Ð"Ø˜hÒ&Ð&Ø��C”—’Ñ"Ô" X§[¢[°Ñ%:Ô%:Ñ:Ð;Ð;Ô;¸qÑ@Ð;Ð;Ñ;ØÐ"IÐIÐIØ—?’? 7Ñ+Ô+ˆå„O�F˜HÑ%Ô%Ð%Ð%Ð%r?   ÚmethodÚheadÚtailc                 ó¶  — t           j                             d¦  «                             g d¢d¦  «        }t	          j        t	          j        |g d¢¬¦  «        t          t          |¦  «        ¦  «        dœ¦  «        }| 	                    dd|||¬	¦  «        } t          || ¦  «        ¦   «         }| d
k    r|d d d…         }|dk    |dk                         ¦   «         dk    z  |dk    |dk                         ¦   «         dk    z  z  |d k    |d k                         ¦   «         dk    z  z  }| d
k    r|d d d…         }||         }	t          j        ||	¦  «         d S )NrK   rô   r   rø   rù   rú   rË   Frý   r8  éÿÿÿÿr   rt   )r1   r  r  r	  r)   r*   r
  rˆ   ri   r+   r  Úcumsumr3   r4   )
r6  rÛ   rÙ   rÚ   ru   r9   r`   rO   Úmaskr<   s
             r=   Útest_categorical_head_tailr=  …  sm  € õ ŒY×"Ò" 1Ñ%Ô%×,Ò,¨\¨\¨\¸2Ñ>Ô>€FÝ	ŒÝŒn˜V°	°	°	Ð:Ñ:Ô:ÅÅsÈ6Á{Ä{ÑASÔASÐTÐTñ
ô 
€Bð 
�Š�C °¸tÈhˆÑ	WÔ	W€BØ �W�R˜Ñ Ô Ñ"Ô"€Fà�ÒÐØ˜˜˜"˜”ˆð �AŠ+˜6 Qš;×.Ò.Ñ0Ô0°AÒ5Ñ	6Ø�aŠK˜V qš[×0Ò0Ñ2Ô2°aÒ7Ñ8ñ	:ð �dŠN ¨$¢×6Ò6Ñ8Ô8¸AÒ=Ñ>ñ	@ð 	ð �ÒÐØ�D�D�b�DŒzˆØ�$Œx€HåÔ˜& (Ñ+Ô+Ð+Ð+Ð+r?   c                  ó¬  — t           j                             d¦  «                             g d¢d¦  «        } t	          j        t	          j        | g d¢¬¦  «        t          t          | ¦  «        ¦  «        dœ¦  «        }| 	                    ddd¬	¦  «        }| 
                    d
„ ¦  «        }|                     ¦   «         }t          j        ||¦  «         d S )NrK   rô   r   rø   rù   rú   rË   F©r    rÛ   c                 ó*   — |                       ¦   «         S ©N©r,   ©rË   s    r=   rŠ   z&test_categorical_agg.<locals>.<lambda>¦  s   € ˜aŸeše™gœg€ r?   )r1   r  r  r	  r)   r*   r
  rˆ   ri   r+   ro   r,   r3   r4   ©ru   r9   r`   rO   r<   s        r=   Útest_categorical_aggrE  Ÿ  s¼   € åŒY×"Ò" 1Ñ%Ô%×,Ò,¨\¨\¨\¸2Ñ>Ô>€FÝ	ŒÝŒn˜V°	°	°	Ð:Ñ:Ô:ÅÅsÈ6Á{Ä{ÑASÔASÐTÐTñ
ô 
€Bð 
�Š�C °ˆÑ	6Ô	6€BØ�VŠVÐ%Ð%Ñ&Ô&€FØ�vŠv‰xŒx€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r?   c                  ó®  — t           j                             d¦  «                             g d¢d¦  «        } t	          j        t	          j        | g d¢¬¦  «        t          t          | ¦  «        ¦  «        dœ¦  «        }| 	                    ddd¬	¦  «        }| 
                    d
„ ¦  «        }| 
                    d¦  «        }t          j        ||¦  «         d S )NrK   rô   r   rø   rù   rú   rË   Fr?  c                 ó*   — |                       ¦   «         S rA  rB  rC  s    r=   rŠ   z,test_categorical_transform.<locals>.<lambda>²  s   €  A§E¢E¡G¤G€ r?   r,   )r1   r  r  r	  r)   r*   r
  rˆ   ri   r+   rh   r3   r4   rD  s        r=   Útest_categorical_transformrH  «  sÀ   € åŒY×"Ò" 1Ñ%Ô%×,Ò,¨\¨\¨\¸2Ñ>Ô>€FÝ	ŒÝŒn˜V°	°	°	Ð:Ñ:Ô:ÅÅsÈ6Á{Ä{ÑASÔASÐTÐTñ
ô 
€Bð 
�Š�C °ˆÑ	6Ô	6€BØ�\Š\Ð+Ð+Ñ,Ô,€FØ�|Š|˜EÑ"Ô"€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r?   )5Únumpyr1   r  Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandas.core.dtypes.missingr   Úpandasr)   Úpandas._testingÚ_testingr3   Úpandas.tests.groupbyr   ÚmarkÚparametrizer2   r>   rB   rH   rL   rP   rZ   ra   Ú
RangeIndexr/   r-   Úfrom_productrk   rq   Úarm_slowÚ	TimestampÚ	TimedeltaÚPeriodr|   Úparamr”   r�   r«   r®   Ú
skip_if_norí   Úobjectrï   r  r5  r=  rE  rH  rÒ   r?   r=   ú<module>r_     s¢	  ðØ Ð Ð Ð Ø €€€à (Ð (Ð (Ð (Ð (Ð (Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à 9Ð 9Ð 9Ð 9Ð 9Ð 9à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8ð „×ÒØð Ø�3ˆZ˜#˜s˜Ð$Ø˜�.¨¨e }¸DÀ#¸;ÐGÐGð	
ð Ø�3ˆZ˜#˜rœv˜¨¨c¨
Ð3à)Ð)Ð)Ø)Ð)Ð)Ø&Ð&Ð&ðð ð	
ðñô ð&-ð -ñ'ô ð&-ð0 „×ÒØð Ø�3ˆZ˜#˜s˜Ð$Ø˜�.¨¨e }¸DÀ#¸;ÐGÐGð	
ð Ø�3ˆZ˜#˜rœv˜¨¨c¨
°R´V¸S°MÐBà.Ð.Ð.Ø.Ð.Ð.Ø+Ð+Ð+ðð ð	
ðñô ð&-ð -ñ'ô ð&-ð2 „×ÒØà	��Sˆz &¨$ °u¸d°mÈ3ÐPTÈ+ÐVÐVÐWàØ�#�r”vÐà)Ð)Ð)Ø)Ð)Ð)Ø&Ð&Ð&ðð ð	
ðñô ð-ð -ñô ð-ð  „×ÒØà	��S˜#˜rœvÐ&¨	¨¬	°1°a°&ÀÀcÀ
Ð(KÑ(KÔ(KÐLàØ�#�s˜BœFÐ#ØˆBŒI�i�i�i¨¨S°"´&Ð'9Ð:Ñ:Ô:ð	
ðñ
ô 
ð-ð -ñ
ô 
ð-ð „×ÒØà	ˆyˆrŒy˜% ˜°°S¨zÀÐLÑLÔLÐMàØˆBŒIÐ*Ð*Ð*°3¸¸R¼VÐ2DÈ;ÐWÑWÔWð	
ðñ	ô 	ð-ð -ñ	ô 	ð-ð(ð (ð (ð „×ÒØàˆŒ�a˜ÑÔØˆˆV‰ŒØ
Œ×"Ò" F¨JÐ#7ÀÀu¸~Ð"ÑNÔNðñô ð-ð -ñô ð-ð( „×ÒØð Ø�3ˆZ˜#˜s˜Ð$Ø˜�.¨¨e }¸CÀ¸:ÐFÐFð	
ð Ø�3ˆZ˜#˜rœv˜¨¨c¨
Ð3à)Ð)Ð)Ø)Ð)Ð)Ø%Ð%Ð%ðð ð	
ðñô ð&-ð -ñ'ô ð&-ð. „ÔØ„×ÒØà	ˆŒ�lÑ	#Ô	# \ R¤\°,Ñ%?Ô%?Ð@Ø	ˆŒ�iÑ	 Ô	  , "¤,¨yÑ"9Ô"9Ð:Ø	ˆŒ�<Ñ	 Ô	  ) "¤)¨LÑ"9Ô"9Ð:ðñô ð „×ÒÐ)¨T°B¸°7¨O¸eÀZÀZÀZÐ=PÐ+QÑRÔRð-ð -ñ SÔRñô ñ Ôð-ð: „×ÒØ)àˆŒØØ˜S # r¤vÐ.Ð:JÐ:JÐ:JÐKÐKØ�|�|�|Ð$Ø�#�r”vÐØ%ð	
ñ 	
ô 	
ð 	ˆŒØØ˜S # r¤vÐ.Ð:JÐ:JÐ:JÐKÐKØ�y�y�yÐ!ØØ$ð	
ñ 	
ô 	
ð 	ˆŒàØ+Ð+Ð+Ð7GÐ7GÐ7GÐHÐHØ�|�|�|Ð$ØØ$ð	
ñ 	
ô 	
ð 	ˆŒàØ+Ð+Ð+Ð7GÐ7GÐ7GÐHÐHØ�|�|�|Ð$ØØ#ð	
ñ 	
ô 	
ð/ñ"ô "ðF,ð ,ñG"ô "ðF,ð$ „×Ò˜¨°¨u°s¸C°jÐ(AÑBÔBØ„×Ò˜ 3 %¨#¨s¨Ð!4Ñ5Ô5Ø„×Ò˜ D¨% =Ñ1Ô1ð&ð &ñ 2Ô1ñ 6Ô5ñ CÔBð&ð64ð 4ð 4ð(,ð ,ð ,ð „×ÒØð	ð 	ð 	ñô ð „×ÒØàØØØØØØØØØØØØØˆŒÐ&¨m¨b¬m¸IÑ.FÔ.FÐGÑGÔGØØØð#ñô ð, „×Ò˜¨¨u¨Ñ6Ô6ð1&ð 1&ñ 7Ô6ñ-ô ñô ðH1&ðh „×Ò˜¨¨u¨Ñ6Ô6Ø„×Ò˜ 6¨4 .Ñ1Ô1ð0ð 0ñ 2Ô1ñ 7Ô6ð0ð" „×Ò˜Ð'CÐ'CÐ'CÑDÔDðS&ð S&ñ EÔDðS&ðl0&ð 0&ð 0&ðf „×Ò˜ F¨FÐ#3Ñ4Ô4ð,ð ,ñ 5Ô4ð,ð2	,ð 	,ð 	,ð	,ð 	,ð 	,ð 	,ð 	,r?   