o
    �¨ÊhKÖ  ã                   @   sX  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 d dlmZ d dlmZ dd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zejjdeg d¢g d¢dœƒg d¢feg d¢g d¢dœƒd dgfeddgiƒdgfeg d¢edƒdœƒddgfeg d¢g d¢dœƒg d¢feedƒg d¢g d ¢d!œƒg d"¢feg d¢g d#¢gg d"¢d$�ddgfgg d%¢d&�d'd(„ ƒZd)d*„ Zd+d,„ Zej d-d.d/„ d0d/„ d1d/„ d2d/„ g¡d3d4„ ƒZd5d6„ Zd7d8„ Zd9d:„ Z d;d<„ Z!d=d>„ Z"d?d@„ Z#dAdB„ Z$dCdD„ Z%dEdF„ Z&dGdH„ Z'dIdJ„ Z(ej dKdLdMg¡dNdO„ ƒZ)dPdQ„ Z*dRdS„ Z+dTdU„ Z,dVdW„ Z-dXdY„ Z.ej dZdLdMg¡d[d\„ ƒZ/d]d^„ Z0d_d`„ Z1dadb„ Z2dcdd„ Z3dedf„ Z4dgdh„ Z5didj„ Z6dkdl„ Z7dmdn„ Z8dodp„ Z9dqdr„ Z:dsdt„ Z;ej due  <¡ e  <¡  ¡ e  <¡  =¡ g¡dvdw„ ƒZ>dxdy„ Z?ej dzdMdLg¡d{d|„ ƒZ@d}d~„ ZAej de Bed€ƒ¡e Cd d�¡ejDd‚d�dƒd„�e	 Eg d…¢¡g¡d†d‡„ ƒZFej dˆd‰d/„ d dgdd�ggfdŠd/„ d dhdd�hgfd‹d/„ dŒd�gfdŽd/„ d ddŒœdd�dŒœgfd�d/„ d d iddigd didd�iggfg¡d�d‘„ ƒZGd’d“„ ZHej d”d•d/„ d–d/„ g¡d—d˜„ ƒZId™dš„ ZJej d›dœd/„ d�d/„ g¡ej dKdLdMg¡dždŸ„ ƒƒZKd d¡„ ZLd¢d£„ ZMd¤d¥„ ZNd¦d§„ ZOd¨d©„ ZPej dªdLdMg¡d«d¬„ ƒZQej d­dMeg d®¢g d¯¢geg d°¢eRd±�d$�gdLe
ddge	jEd²d³gdd´gdµ�d¶�gg¡d·d¸„ ƒZSd¹dº„ ZTd»d¼„ ZUd½d¾„ ZVd¿dÀ„ ZWej dªdLdMg¡dÁdÂ„ ƒZXdÃdÄ„ ZYej dÅg d¢g dÆ¢g¡dÇdÈ„ ƒZZej dÉg d¢g dÊ¢gg d¢g dË¢gg dÌ¢g dÍ¢gg¡dÎdÏ„ ƒZ[ej dÐdLgi fg dÑdLifg¡dÒdÓ„ ƒZ\ej dÔdÕdg¡dÖd×„ ƒZ]ej dØdÙdÚd/„ fdÙdÛd/„ fdÜdÝdÞg¡dßdà„ ƒZ^ej dádLdMg¡dâdã„ ƒZ_ej däe`eaebg¡ej dådædædçgg¡dèdé„ ƒƒZcdS )êé    )ÚdateÚdatetimeN)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚbdate_range)Úget_groupby_method_argsc                     s®   t dttdƒƒd dgd� ¡ } g ‰ ‡ fdd„}d}tjt|d�� |  d	¡ |¡ W d   ƒ n1 s4w   Y  t dgd dgd d
œt	 
ddd¡d�}t ˆ d |¡ d S )Né   é
   r   )ÚindexÚcolumnsc                    s   ˆ   | ¡ d S ©N)Úappend©Úgroup©Úgroups© úQ/var/www/html/env/lib/python3.10/site-packages/pandas/tests/groupby/test_apply.pyÚstore   ó   zFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.storeú7DataFrameGroupBy.apply operated on the grouping columns©Úmatchr   )r   r   éd   ©r   )r   ÚlistÚrangeÚreset_indexÚtmÚassert_produces_warningÚDeprecationWarningÚgroupbyÚapplyÚpdÚ
RangeIndexÚassert_frame_equal)Údfr   ÚmsgÚexpected_valuer   r   r   Ú7test_apply_func_that_appends_group_to_list_without_copy   s    ÿ ÿr+   c                 C   sd   g d¢}t dg d¢itt |¡dd�d�}| |jj¡ ¡ }| |jj¡ dd„ ¡}t	 
||¡ d S )	N©z2011-05-16 00:00z2011-05-16 01:00z2011-05-16 02:00z2011-05-16 03:00z2011-05-17 02:00z2011-05-17 03:00z2011-05-17 04:00z2011-05-17 05:00z2011-05-18 02:00z2011-05-18 03:00z2011-05-18 04:00z2011-05-18 05:00Úvalue©ç	§/úŠö?çö—Ý“‡…ö?ç…ëQ¸…ö?ç©j‚¨û€ö?r/   r0   r1   r2   r/   r0   r1   r2   Ú	date_time©Únamer   c                 S   ó   |   ¡ S r   ©Úidxmax©Úxr   r   r   Ú<lambda>L   ó    z'test_apply_index_date.<locals>.<lambda>)r   r   r%   Úto_datetimer#   r   r   r8   r$   r    r'   )Úusing_infer_stringÚtsr(   ÚexpectedÚresultr   r   r   Útest_apply_index_date(   s   ÿïrB   c                 C   s¶   g d¢}t dd„ |D ƒddgd�}g d¢|d< | rd	nt}tg d
¢|dd�}tg d¢|d�}d}tjt|d�� |jddd� dd„ ¡}W d   ƒ n1 sNw   Y  t 	||¡ d S )Nr,   c                 S   s   g | ]}|  ¡ ‘qS r   )Úsplit)Ú.0Úrowr   r   r   Ú
<listcomp>a   ó    z0test_apply_index_date_object.<locals>.<listcomp>r   Útime©r   r.   r-   zstring[pyarrow_numpy])z
2011-05-16z
2011-05-17z
2011-05-18©Údtyper5   )z00:00ú02:00rL   r   r   r   F©Ú
group_keysc                 S   s   | d | d   ¡  S )NrH   r-   r7   r9   r   r   r   r;   x   rG   z.test_apply_index_date_object.<locals>.<lambda>)
r   Úobjectr   r   r    r!   r"   r#   r$   Úassert_series_equal)r>   r?   r(   rK   Úexp_idxr@   r)   rA   r   r   r   Útest_apply_index_date_objectP   s   
ÿÿÿrR   c                    sÄ   t g d¢g d¢dœddgd�‰ | rdnd}tjˆ jd	d … ˆ jd	d … gd	d
|gd�}d}tjt|d�� ˆ jdd„ ˆ jD ƒd	d�}W d   ƒ n1 sLw   Y  | 	‡ fdd„¡}t 
||¡ d S )N©ÚarT   ÚbrU   rT   ©ç      ð?ç       @ç      @ç      @g      @©ÚkeyÚdatar\   r]   rI   ÚstringrO   r
   Úfloat64©ÚaxisÚkeysú+DataFrame.groupby with axis=1 is deprecatedr   c                 S   ó   g | ]}t |ƒ‘qS r   ©Ústr©rD   r:   r   r   r   rF   ‰   rG   z&test_apply_trivial.<locals>.<listcomp>©ra   c                    s   ˆ j dd … S ©Nr
   ©Úilocr9   ©r(   r   r   r;   Š   ó    z$test_apply_trivial.<locals>.<lambda>)r   r%   Úconcatrk   r    r!   ÚFutureWarningr#   Údtypesr$   r'   ©r>   rK   r@   r)   ÚgbrA   r   rl   r   Útest_apply_trivial}   s   þ,ÿrs   c                    s²   t g d¢g d¢dœddgd�‰ | rdnd}tjˆ ˆ gd	d
|gd�}d}tjt|d�� ˆ jdd„ ˆ jD ƒd	dd�}W d   ƒ n1 sCw   Y  | ‡ fdd„¡}t 	||¡ d S )NrS   rV   r[   r\   r]   rI   r^   rO   r
   r_   r`   rc   r   c                 S   rd   r   re   rg   r   r   r   rF   ™   rG   z+test_apply_trivial_fail.<locals>.<listcomp>T)ra   rN   c                    s   ˆ S r   r   r9   rl   r   r   r;   š   ó    z)test_apply_trivial_fail.<locals>.<lambda>)
r   r%   rn   r    r!   ro   r#   rp   r$   r'   rq   r   rl   r   Útest_apply_trivial_fail�   s   þÿru   zdf, group_names)r
   r
   r
   é   é   )rT   rT   rT   rU   Úc©rT   rU   ©r
   rv   rw   ©r   r   r
   r
   )r   r
   r   r
   r
   rT   )r
   r
   r
   rv   rv   r
   r
   rv   é   rv   ©r
   rv   rw   r
   rv   rw   )é   é   é   é   r|   é	   )rT   ÚtwoÚ
aaabbbcccc)
rw   r~   rw   r€   r   rv   r
   r‚   r   r~   )
r~   r   rv   rv   rv   r�   r|   r€   rv   r|   )rT   ÚBÚC©rT   rU   rx   )rv   rv   rw   rI   )ÚGH2936zGH7739 & GH10519ÚGH10519ÚGH2656ÚGH12155ÚGH20084ÚGH21417)Úidsc           	   	      s´   g ‰ ‡ fdd„}‡ fdd„}‡ fdd„}‡ fdd„}‡ fd	d
„}|||||fD ]0}ˆ d d …= d}t jt|d�� | jddd� |¡ W d   ƒ n1 sLw   Y  ˆ |ksWJ ‚q'd S )Nc                    s   ˆ   | j¡ |  ¡ S r   )r   r5   Úcopyr   ©Únamesr   r   Úf_copyÊ   s   z/test_group_apply_once_per_group.<locals>.f_copyc                    s   ˆ   | j¡ | S r   ©r   r5   r   r�   r   r   Úf_nocopyÏ   ó   z1test_group_apply_once_per_group.<locals>.f_nocopyc                    s   ˆ   | j¡ dS ©Nr   r“   r   r�   r   r   Úf_scalarÔ   r•   z1test_group_apply_once_per_group.<locals>.f_scalarc                    s   ˆ   | j¡ d S r   r“   r   r�   r   r   Úf_noneÙ   s   z/test_group_apply_once_per_group.<locals>.f_nonec                    s   ˆ   | j¡ tdgdgdœƒS )Nr
   ry   )r   r5   r   r   r�   r   r   Úf_constant_dfÝ   s   z6test_group_apply_once_per_group.<locals>.f_constant_dfr   r   rT   FrM   )r    r!   r"   r#   r$   )	r(   Úgroup_namesr’   r”   r—   r˜   r™   Úfuncr)   r   r�   r   Útest_group_apply_once_per_groupŸ   s   '
ÿúrœ   c                 C   sŒ   d}t g d¢g d¢dœg d¢d�}d}tjt|d�� |jdd	d
� dd„ ¡ W d   ƒ n1 s1w   Y  |  ¡ j d¡}||ksDJ ‚d S )Nrv   )r   r   r   r   r
   r
   r
   r
   )Ú0Ú2Ú4Ú6Ú8Ú10Ú12Ú14)Úgroup_by_columnÚtest_columnr   r   r   r¥   FrM   c                 S   s   t dƒS )NÚfunction_called)Úprintrl   r   r   r   r;   ü   r<   z2test_group_apply_once_per_group2.<locals>.<lambda>r§   )	r   r    r!   r"   r#   r$   Ú
readouterrÚoutÚcount)Úcapsysr@   r(   r)   rA   r   r   r   Ú test_group_apply_once_per_group2ë   s   þûÿÿr­   c                  C   s¾   t g d¢tdƒdœƒ} dd„ }dd„ }d}tjt|d	�� | jd
dd� |¡}W d   ƒ n1 s1w   Y  tjt|d	�� | jd
dd� |¡}W d   ƒ n1 sRw   Y  t ||¡ d S )N)r   r   r
   rw   )ÚArU   c                 S   ó   | S r   r   r   r   r   r   Úslow  ó   z,test_apply_fast_slow_identical.<locals>.slowc                 S   r6   r   ©r�   r   r   r   r   Úfast  s   z,test_apply_fast_slow_identical.<locals>.fastr   r   r®   FrM   )r   r   r    r!   r"   r#   r$   r'   )r(   r°   r³   r)   Úfast_dfÚslow_dfr   r   r   Útest_apply_fast_slow_identical  s   ÿÿr¶   r›   c                 C   r¯   r   r   r9   r   r   r   r;     rt   r;   c                 C   s   | d d … S r   r   r9   r   r   r   r;     ó    c                 C   ó   | j dd�S )NF©Údeepr²   r9   r   r   r   r;     r·   c                 C   r¸   )NTr¹   r²   r9   r   r   r   r;      r·   c                 C   sr   t g d¢g d¢g d¢dœƒ}d}tjt|d�� |jddd	� | ¡}W d   ƒ n1 s,w   Y  t ||¡ d S )
N©r
   rv   rv   rv   ©r
   rv   rw   r~   )r   r€   r�   r|   )ÚgrT   rU   r   r   r½   FrM   ©r   r    r!   r"   r#   r$   r'   )r›   r(   r)   rA   r   r   r   Ú5test_groupby_apply_identity_maybecopy_index_identical  s   ÿr¿   c                  C   sœ   t tj d¡ d¡g d¢dœƒ} | jdd„ dd�j}| j}t ||¡ t d	g d
¢iƒ} | j	d | d< |  
d¡ ¡  ¡ j}| j
ddd� ¡ j}t ||¡ d S )Nrv   r€   ©Úonerƒ   rƒ   ÚthreerÁ   rƒ   ©Úfoo1Úfoo2c                 S   r¯   r   r   r9   r   r   r   r;   9  rt   z-test_apply_with_mixed_dtype.<locals>.<lambda>r
   rh   Úc1)r
   rv   r€   r€   r|   rX   Úc2F©Úas_index)r   ÚnpÚrandomÚdefault_rngÚstandard_normalr$   rp   r    rP   rÆ   r#   Úmeanr   rÇ   )r(   rA   r@   Úresult1Úresult2r   r   r   Útest_apply_with_mixed_dtype1  s   þÿrÑ   c                  C   sÈ  t g d¢g d¢tdƒdœƒ} | jddd�}| jddd�}| d	¡j}| d	¡j}tg d
¢ƒ}t ||¡ t ||¡ d}tjt	|d�� | 
dd„ ¡j}W d   ƒ n1 sVw   Y  tjt	|d�� | 
dd„ ¡j}W d   ƒ n1 suw   Y  t g d¢¡}	g d¢}
tj|
dd gd�}t ||¡ t ||	¡ ttdƒƒ}t dd	gd	dgddgddgd	dgg|d�} d}tjt	|d�� | jdddd� 
dd„ ¡j}W d   ƒ n1 s×w   Y  t ||¡ d S )N)rU   rU   rT   rx   rT   rU   )r
   rv   r
   r
   rw   r
   r€   )Úitem_idÚuser_idrH   rÓ   TrÈ   Frv   )r   r
   rv   r~   r   r   c                 S   ó
   |   d¡S ©Nrv   ©Úheadr9   r   r   r   r;   Z  ó   
 z-test_groupby_as_index_apply.<locals>.<lambda>c                 S   rÔ   rÕ   rÖ   r9   r   r   r   r;   \  rØ   ))r   r   )r   rv   ©r
   r
   ©rv   r~   )©r
   r   ©r
   rv   )rv   r
   )rw   r~   r�   Úabcder
   rw   r~   r   r   r   )rÉ   rN   c                 S   r¯   r   r   r9   r   r   r   r;   k  rt   )r   r   r#   r×   r   r   r    Úassert_index_equalr!   r"   r$   r   Úfrom_tuplesr   )r(   Úg_asÚg_not_asÚres_asÚ
res_not_asÚexpr)   Úres_as_applyÚres_not_as_applyÚexp_not_as_applyÚtpÚexp_as_applyÚindÚresr   r   r   Útest_groupby_as_index_applyE  s@   ýÿÿÿ*ÿrì   c           	      C   s  |   ddg¡}dd„ }dd„ }dd„ }d	}tjt|d
�� | |¡}W d   ƒ n1 s,w   Y  |jjdks9J ‚d	}tjt|d
�� | |¡}W d   ƒ n1 sRw   Y  |jjdks_J ‚d	}tjt|d
�� | |¡}W d   ƒ n1 sxw   Y  |jjdks…J ‚d S )Nr®   r…   c                 S   s   |   ¡ }d|j_|S ©NÚstat)Údescriber   r5   ©r   rA   r   r   r   Údescr  s   z.test_apply_concat_preserve_names.<locals>.descc                 S   s$   |   ¡ }d|j_|d t| ƒ… }|S rí   )rï   r   r5   Úlenrð   r   r   r   Údesc2w  s   z/test_apply_concat_preserve_names.<locals>.desc2c                 S   s0   |   ¡ }dt| ƒd›�|j_|d t| ƒ… }|S )NÚstat_Úd)rï   rò   r   r5   rð   r   r   r   Údesc3~  s   z/test_apply_concat_preserve_names.<locals>.desc3r   r   )r®   r…   rî   )r®   r…   N)r#   r    r!   r"   r$   r   r‘   )	Úthree_groupÚgroupedrñ   ró   rö   r)   rA   rÐ   Úresult3r   r   r   Ú test_apply_concat_preserve_nameso  s&   
ÿÿÿrú   c                  C   sz   dd„ } t ddd�}ttj d¡ d¡|d�}|jdd	„ d
d�}| | ¡}t|t	ƒs,J ‚t
|dƒr3J ‚t |j|j¡ d S )Nc                 S   sN   t jdd�� t  | ¡}W d   ƒ n1 sw   Y  t| | |  ¡  |dœƒS )NÚignore)Úinvalid)r-   ÚdemeanedÚlogged)rÊ   ÚerrstateÚlogr   rÎ   )Úpiecerþ   r   r   r   Úf™  s   ÿÿz%test_apply_series_to_frame.<locals>.fz1/1/2000r   )Úperiodsrv   r   c                 S   ó   | j S r   ©Úmonthr9   r   r   r   r;   £  ó    z,test_apply_series_to_frame.<locals>.<lambda>FrM   r5   )r   r   rÊ   rË   rÌ   rÍ   r#   r$   Ú
isinstancer   Úhasattrr    rÞ   r   )r  Údrr?   rø   rA   r   r   r   Útest_apply_series_to_frame˜  s   
r  c                 C   s4   |   ddg¡d  t¡}|jjd d… dksJ ‚d S )Nr®   r…   r†   rv   ©r®   r…   )r#   r$   rò   r   r‘   )r(   rA   r   r   r   Ú test_apply_series_yield_constant«  s   r  c                 C   sž   d}t jt|d�� |  ddg¡ t¡}W d   ƒ n1 sw   Y  t|tƒs*J ‚|jd u s1J ‚|  ddg¡ddg  t¡}t|tƒsFJ ‚|jd u sMJ ‚d S )Nr   r   r®   r…   r†   ÚD)	r    r!   r"   r#   r$   rò   r  r   r5   )r(   r)   rA   r   r   r   Útest_apply_frame_yield_constant°  s   ÿr  c                 C   sz   |   ddg¡}d}tjt|d�� | t¡}W d   ƒ n1 s w   Y  | ¡ d }t |j|j¡ t 	|j
|j
¡ d S )Nr®   r…   r   r   r†   )r#   r    r!   r"   r$   rò   r«   rÞ   r   Úassert_numpy_array_equalÚvalues©r(   rø   r)   rA   r@   r   r   r   Útest_apply_frame_to_series½  s   ÿr  c                 C   s�   | j ddgdd�}d}tjt|d�� | t¡}W d   ƒ n1 s"w   Y  | ¡ jdtj	id�j
d	d�}t |j|j¡ t |j|j¡ d S )
Nr®   r…   FrÈ   r   r   r†   rI   r  )r#   r    r!   r"   r$   rò   r«   ÚrenamerÊ   ÚnanÚdroprÞ   r   r  r  r  r   r   r   Ú)test_apply_frame_not_as_index_column_nameÇ  s   ÿr  c                     sÎ   dd„ } ‡ fdd„}t tj d¡ ddd¡tj d¡ ddd¡tj d¡ d¡d	œƒ‰ d
}tjt|d�� ˆ  	d¡ 
| ¡}W d   ƒ n1 sGw   Y  ˆ  	d¡d  
|¡}tj||dd� |jdkseJ ‚d S )Nc                 S   s    |   d¡d  ¡  ¡ jd d… S )Nr…   r†   rv   )r#   ÚsumÚsort_valuesrk   r   r   r   r   ÚtransÔ  s    z-test_apply_frame_concat_series.<locals>.transc                    s,   |   ˆ  | j¡d ¡}| ¡  ¡ jd d… S )Nr…   rv   )r#   Úreindexr   r  r  rk   )r   rø   rl   r   r   Útrans2×  s   z.test_apply_frame_concat_series.<locals>.trans2rv   r   r   éè  ©r®   r…   r†   r   r   r®   r†   F)Úcheck_names)r   rÊ   rË   rÌ   ÚintegersrÍ   r    r!   r"   r#   r$   rP   r5   )r  r  r)   rA   rä   r   rl   r   Útest_apply_frame_concat_seriesÓ  s   ýÿÿr!  c                 C   s>   | j dd„ dd�}| dd„ ¡}| dd„ ¡}t ||¡ d S )Nc                 S   r  r   r  r9   r   r   r   r;   ì  r  z&test_apply_transform.<locals>.<lambda>FrM   c                 S   ó   | d S rÕ   r   r9   r   r   r   r;   í  r<   c                 S   r"  rÕ   r   r9   r   r   r   r;   î  r<   )r#   r$   Ú	transformr    rP   )r?   rø   rA   r@   r   r   r   Útest_apply_transformë  s   r$  c                 C   sP   |   dd„ dd„ g¡}dd„ }| |¡}|D ]\}}t |j| ||ƒ¡ qd S )Nc                 S   r  r   ©Úyearr9   r   r   r   r;   ó  r  z,test_apply_multikey_corner.<locals>.<lambda>c                 S   r  r   r  r9   r   r   r   r;   ó  r  c                 S   s   |   d¡dd … S )Nr®   éûÿÿÿ©r  r   r   r   r   r  õ  s   z%test_apply_multikey_corner.<locals>.f)r#   r$   r    r'   Úloc)Útsframerø   r  rA   r\   r   r   r   r   Útest_apply_multikey_cornerò  s   
ÿr+  rN   TFc                 C   s    t g d¢tdƒdœƒ}d}tjt|d�� |jd| d� dd	„ ¡}W d   ƒ n1 s+w   Y  | g d
¢¡}| rHtj	g d¢|j
gdd gd�|_
t ||¡ d S )N)	r
   r
   r
   rv   rv   rv   rw   rw   rw   r‚   )r\   r-   r   r   r\   rM   c                 S   s   | j d d… S rÕ   rj   r9   r   r   r   r;     rm   z'test_apply_chunk_view.<locals>.<lambda>)r   r
   rw   r~   r€   r�   )r
   r
   rv   rv   rw   rw   r�   )r   r   r    r!   r"   r#   r$   Útaker   Úfrom_arraysr   r'   )rN   r(   r)   rA   r@   r   r   r   Útest_apply_chunk_viewý  s   ÿÿr.  c                  C   st   t g d¢g d¢tdddƒdœƒ} |  ddg¡}d}tjt|d	�� | d
d„ ¡ W d   ƒ d S 1 s3w   Y  d S )N)
r
   r
   r
   r
   r
   r
   rv   rv   rv   rv   )
r   r   r   r
   r
   r
   r   r   r
   r
   r‚   éÿÿÿÿ)r5   Úname2r-   r5   r0  r   r   c                 S   ó   | j ddd�S )Nr-   T©Úinplacer(  r9   r   r   r   r;     rm   z4test_apply_no_name_column_conflict.<locals>.<lambda>)r   r   r#   r    r!   r"   r$   )r(   rø   r)   r   r   r   Ú"test_apply_no_name_column_conflict  s   
ýÿ	"ÿr4  c                  C   s¢   t g d¢t g d¢d¡t dd¡dœƒ} dd„ }d	}tjt|d
�� | jddd� |¡}W d   ƒ n1 s6w   Y  |  	¡ }t g d¢d¡|d< t 
||¡ d S )N©rW   rW   rW   rX   rX   rX   r‡   rv   rW   ç      @©rõ   rx   Úvc                 S   ó,   | d }||  ¡  | ¡ |  ¡   | d< | S ©Nr8  Úv2©ÚminÚmax©r   r8  r   r   r   r  '  ó    z#test_apply_typecast_fail.<locals>.fr   r   rõ   FrM   ©ç        g      à?r
   r;  )r   rÊ   ÚtileÚaranger    r!   r"   r#   r$   r�   r'   )r(   r  r)   rA   r@   r   r   r   Útest_apply_typecast_fail  s   
ýÿÿrE  c                  C   s¼   t  g d¢g d¢g¡} tg d¢t g d¢d¡t dd¡dœ| d	�}d
d„ }d}tjt|d�� |j	ddd� 
|¡}W d   ƒ n1 sCw   Y  | ¡ }t g d¢d¡|d< t ||¡ d S )N)r   r   r   r
   r
   r
   r}   r5  r‡   rv   rW   r6  r7  r   c                 S   r9  r:  r<  r?  r   r   r   r  A  r@  z%test_apply_multiindex_fail.<locals>.fr   r   rõ   FrM   rA  r;  )r   r-  r   rÊ   rC  rD  r    r!   r"   r#   r$   r�   r'   )r   r(   r  r)   rA   r@   r   r   r   Útest_apply_multiindex_fail6  s    
ýú	ÿrF  c                 C   s4   | j dd„ dd� dd„ ¡}| d }t ||¡ d S )Nc                 S   r  r   r%  r9   r   r   r   r;   Q  r  z#test_apply_corner.<locals>.<lambda>FrM   c                 S   r"  rÕ   r   r9   r   r   r   r;   Q  r<   rv   )r#   r$   r    r'   )r*  rA   r@   r   r   r   Útest_apply_cornerP  s   rG  c                  C   s¼   t g d¢g d¢g d¢dœƒ} dd„ }dd„ }d	}tjt|d
�� |  d¡ |¡}W d   ƒ n1 s2w   Y  tjt|d
�� |  d¡ |¡}W d   ƒ n1 sQw   Y  t ||¡ d S )N)r   r   éÈ   i,  )rT   rU   rx   rx   r¼   )Úid_fieldÚcategoryr-   c                 S   s$   | j d dkr|  ¡ S | | jdk S ©Nr   r
   rx   )Úshaper�   rJ  r9   r   r   r   Úfilt1b  s   z&test_apply_without_copy.<locals>.filt1c                 S   s    | j d dkr	| S | | jdk S rK  )rL  rJ  r9   r   r   r   Úfilt2h  s   z&test_apply_without_copy.<locals>.filt2r   r   rI  r¾   )r]   rM  rN  r)   r@   rA   r   r   r   Útest_apply_without_copyV  s    ýÿÿÿrO  Útest_seriesc                 C   sà   t ddgddgddggddgg d¢d�}| r9| d¡d }|jdd	d
� dd„ ¡}| ¡ }| ¡ }t ||¡ d S d}tjt|d�� |jdd	d� dd„ ¡}W d   ƒ n1 sYw   Y  | 	d¡}| 	d¡}t 
||¡ d S )Nr:   ÚpÚoÚXÚY)r
   rv   rv   ©r   r   r   F)ÚlevelrN   c                 S   r¯   r   r   r9   r   r   r   r;   ~  rt   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>r   r   rM   c                 S   r¯   r   r   r9   r   r   r   r;   ‡  rt   )r   Ú	set_indexr#   r$   Ú
sort_indexr    rP   r!   r"   r  r'   )rP  r(   ÚserrA   r@   r)   r   r   r   Ú*test_apply_with_duplicated_non_sorted_axisv  s     ÿÿ

rZ  c                  C   sf   g d¢} g d¢}t ddgd | dœ|d�}t| |dd	�}d
d„ }|jddd�j |¡}t ||¡ d S )Nr¼   ©r
   r
   rv   rv   ÚGroup1ÚGroup2rv   ©r   r-   r   r-   ©r   r5   c                 S   s"   |   t | j ¡ | j ¡ d ¡¡S ri   )r  rÊ   rD  r   r=  r>  r9   r   r   r   Úreindex_helper™  s   "z1test_apply_reindex_values.<locals>.reindex_helperr   FrM   )r   r   r#   r-   r$   r    rP   )r  Úindicesr(   r@   r`  rA   r   r   r   Útest_apply_reindex_values�  s   rb  c                  C   s¨   d} t j d¡jdd| d�}t|t j d¡ | ¡g d¢| d  dœƒ}|jd	d
d�}dd„ }d}tjt	|d�� | 
|¡}W d   ƒ n1 sGw   Y  d|v sRJ ‚d S )Nr  rv   r   r   )Úsize)ÚfooÚbarÚbazÚquxr~   )r\   Úvalue1Úvalue2r\   FrM   c                 S   s   | d d | d< | S )Nrh  rv   Úvalue3r   ©r½   r   r   r   r  °  s   z"test_apply_corner_cases.<locals>.fr   r   rj  )rÊ   rË   rÌ   r   r   rÍ   r#   r    r!   r"   r$   )ÚNÚlabelsr(   rø   r  r)   rA   r   r   r   Útest_apply_corner_cases¡  s   ýÿÿrn  c                  C   s2  t ddgdgd ddgdœƒ} d}tjt|d�� |  d	g¡ d
d„ ¡}W d   ƒ n1 s.w   Y  t | j¡| _d}tjt|d�� |  d	g¡ dd„ ¡}W d   ƒ n1 sYw   Y  t 	|d |d ¡ t g d¢g d¢t 
d¡gd dœƒ} dd„ }d}tjt|d�� |  d¡ |¡d }W d   ƒ n1 sœw   Y  | j}| j|_t 	||¡ dd„ }t g d¢g d¢g d¢g d¢dœƒ}| ¡ }t |j¡|_d}tjt|d�� | d¡ |¡j}W d   ƒ n1 sëw   Y  tjt|d�� | d¡ |¡j}W d   ƒ n	1 �sw   Y  t 	||¡ d S )Nr
   rv   z
2017-03-02rd  Úinf)ÚNumberÚDateÚStrr   r   rp  c                 S   ó
   | j d S r–   rj   r9   r   r   r   r;   Æ  rØ   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>c                 S   rs  r–   rj   r9   r   r   r   r;   Ê  rØ   rr  )r   é   é   )rd  Ú3rŸ   z12:31:22rw   )r®   r…   ÚTc                 S   s   | j d dg S )Nr   r…   rj   rk  r   r   r   Úget_BÒ  s   z8test_apply_numeric_coercion_when_datetime.<locals>.get_Br®   r…   c                 S   sŠ   t g d¢td�}dt| jƒv rt| | jdk jjd ƒ|d< dt| jƒv rCt| | jdk jjd ƒ|d< t| | jdk jjd ƒ|d< |S )	N)Úp1Úp2ÚuseTime)r   rK   Ústep1r   ry  Ústep2rz  r{  )r   rO   r   ÚStaterf   ÚMachiner  ÚoTime)Útoolrª   r   r   r   ÚpredictionsÝ  s   z>test_apply_numeric_coercion_when_datetime.<locals>.predictions)r…   r…   r®   r®   )r|  r}  r|  r}  )Ú z2016-09-19 05:24:33rƒ  z2016-09-19 23:59:04)Ú23Ú36LÚ36Rr†  )ÚKeyr~  r€  r  r‡  )r   r    r!   r"   r#   r$   r%   r=   rq  rP   Ú	Timestampr…   r®   r   r�   r€  ry  )r(   r)   r@   rA   rx  r‚  Údf1Údf2r   r   r   Ú)test_apply_numeric_coercion_when_datetimeº  sT   ÿÿÿÿÿ	üÿÿÿr‹  c                  C   s¸   t g d¢t d¡gd dœƒ} | j| j | d< d}tjt|d�� |  d¡ d	d
„ ¡}W d   ƒ n1 s5w   Y  t g d¢t 	dd¡gd t d¡gd dœƒ 
d¡}t ||¡ d S )Nr  z2017-02-01 00:00:00rw   )Úclientidr   Útime_delta_zeror   r   rŒ  c                 S   s   t | j ¡ | j ¡ dœƒS )N)Úclientid_ager   )r   r�  r=  r   )Úddfr   r   r   r;     s    ÿz?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>r   r  )rŒ  rŽ  r   )r   rÊ   Ú
datetime64r   r    r!   r"   r#   r$   Útimedelta64rW  r'   ©r(   r)   rA   r@   r   r   r   Ú-test_apply_aggregating_timedelta_and_datetimeø  s*   þÿ
ÿÿýÿúr“  c                  C   s~   ddgddgddgddgddgg} t | d	d
gt dd¡d�}| d	¡ ¡ }t g d¢g d¢dœƒ}|jd	dd� t ||¡ d S )Nr®   r   r…   rt  ru  r†   é(   é2   ÚNameÚValuez
2020-09-01z
2020-09-05rU  r  )r   r•  éZ   )r–  r—  Tr2  )r   r%   Ú
date_ranger#   r  rW  r    r'   )r]   r(   rA   r@   r   r   r   Ú test_apply_groupby_datetimeindex  s   "ÿrš  c                  C   s  t ddd„ tdƒD ƒdœƒ} dd„ }dd	„ }d
}tjt|d�� | jdgd� |¡}W d   ƒ n1 s4w   Y  t ddidgd�}d|j_d
}tjt|d�� | jdgd� |¡}W d   ƒ n1 sdw   Y  t t	 
ddd¡ d¡ddœdgd�}d|j_t ||¡ t ||¡ d S )Nr
   c                 S   s   g | ]}t  ¡ ‘qS r   )r   Únow)rD   Únnr   r   r   rF   ,  rG   z'test_time_field_bug.<locals>.<listcomp>r   ry   c                 S   s   t ddiƒS )Nrx   rv   ©r   ©Úbatchr   r   r   Úfunc_with_no_date.  s   z.test_time_field_bug.<locals>.func_with_no_datec                 S   s   t tdddƒddœƒS )Néß  r
   rv   ©rU   rx   )r   r   rž  r   r   r   Úfunc_with_date1  ó   z+test_time_field_bug.<locals>.func_with_dater   r   rT   ©Úbyrx   rv   r   r¡  Únsr¢  )r   r   r    r!   r"   r#   r$   r   r5   r%   rˆ  Úas_unitr'   )r(   r   r£  r)   Údfg_no_conversionÚdfg_no_conversion_expectedÚdfg_conversionÚdfg_conversion_expectedr   r   r   Útest_time_field_bug&  s&   ÿÿÿr­  c                     s`   t g d¢g d¢g d¢g d¢dœƒ} |  ddg¡} | jddgdd	�}d
d„ ‰ | ‡ fdd„¡ d S )N)rT   rT   rT   rU   rU   rU   rT   rT   rT   rU   rU   rU   )rx   rx   rõ   rõ   rõ   Úerx   rx   rõ   rõ   rõ   r®  )gš™™™™™ñ?rv   rw   r~   r   r€   rv   r~   r€   r|   r
   rv   )gffffff@r|   r‚   r   é   é   r|   r�   r€   r   r~   rw   )Úgroup1Úgroup2Úweightr-   r±  r²  T)rV  Úsortc                 S   s   t  | | ¡ d¡}|S )Nrw   )rÊ   ÚarrayÚrepeat)r-   r³  rª   r   r   r   ÚnoddyS  s   z7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyc                    s   ˆ | j | jƒS r   )r-   r³  r9   ©r·  r   r   r;   ]  rm   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>)r   rW  r#   r$   )r(   Ú
df_groupedr   r¸  r   Ú(test_gb_apply_list_of_unequal_len_arraysF  s   üÿ
rº  c                  C   sv   t g d¢g d¢dœƒ} dd„ }d}tjt|d�� |  d¡ |¡}W d   ƒ n1 s+w   Y  t ƒ }t ||¡ d S )	Nr{   )r|   r�   r~   r   )r   Úrandom_varsc                 S   s   d S r   r   r9   r   r   r   Ú	test_funce  r±   z.test_groupby_apply_all_none.<locals>.test_funcr   r   r   r¾   )Útest_dfr¼  r)   rA   r@   r   r   r   Útest_groupby_apply_all_none`  s   ÿr¾  c            
      C   s@  t g d¢g d¢dœƒ} t g d¢g d¢dœƒ}dd„ }d}tjt|d�� |  d	¡ |¡}W d   ƒ n1 s6w   Y  tjt|d�� | d	¡ |¡}W d   ƒ n1 sUw   Y  tjd
d
gddggd	d gd�}tjddgd
dggd	d gd�}t d
d
gddgdœ|d�}t ddgd
dgdœ|d�}	t ||¡ t ||	¡ d S )N)r
   r
   r
   rv   )r   r
   rv   rw   )r   Úvarsr»   c                 S   s    | j d dk r	d S | jddg S )Nr   rv   r/  )rL  rk   r9   r   r   r   r¼  t  s   z0test_groupby_apply_none_first.<locals>.test_funcr   r   r   r
   r   rv   r�   rw   r   )	r   r    r!   r"   r#   r$   r   r-  r'   )
Útest_df1Útest_df2r¼  r)   rÏ   rÐ   Úindex1Úindex2Ú	expected1Ú	expected2r   r   r   Útest_groupby_apply_none_firsto  s    ÿÿrÆ  c                  C   sž   t ddgddgdœƒ} |  d¡}d}tjt|d�� | d	d
„ ¡}W d   ƒ n1 s+w   Y  tdgdtjddgdggdd gd� 	d¡d�}t 
||¡ d S )Nr   r
   ÚfilledÚempty)r-   r   r   r   r   c                 S   s   | | j dk d S )Nr
   r-   )r-   r   r   r   r   r;   Œ  ó    z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>r-   r�   )r5   r   )r   r#   r    r!   r"   r$   r   r   Úfrom_productr  rP   )r(   r   r)   rA   r@   r   r   r   Ú%test_groupby_apply_return_empty_chunk†  s   
ÿÿûrË  c                  C   sx   t d ¡ g d¢g d¢dœƒ} | jddd�}| dd	„ ¡}t g d
¢g d¢dœƒ}t ||¡ | dd	„ ¡}t ||¡ d S )Nza a brz   ©r~   r€   r   r  r®   FrM   c                 S   ó   | |   ¡  S r   ©r  r9   r   r   r   r;   œ  r·   z-test_apply_with_mixed_types.<locals>.<lambda>)gUUUUUUÕ?gUUUUUUå?r
   )çš™™™™™Ù?g333333ã?rW   ©r…   r†   c                 S   rÍ  r   rÎ  r9   r   r   r   r;      r·   )r   rC   r#   r#  r    r'   r$   )r(   r½   rA   r@   r   r   r   Útest_apply_with_mixed_types—  s   rÑ  c                  C   sš   t dddgitddgƒd�} d}tjt|d�� |  d¡ dd„ ¡}W d   ƒ n1 s,w   Y  ttdgƒtdgƒgtddgdd	�d�}t ||¡ d S )
NrT   r
   rv   r   r   r   c                 S   r  r   r   rk  r   r   r   r;   ©  r  z*test_func_returns_object.<locals>.<lambda>r4   )	r   r   r    r!   r"   r#   r$   r   rP   r’  r   r   r   Útest_func_returns_object¤  s   ÿ(rÒ  Úgroup_column_dtlikec                 C   s’   t dg| gdœƒ}d}tjt|d�� | d¡ dd„ ¡}W d   ƒ n1 s'w   Y  |r0dnd	}t d
gtdg|dd�dgd�}t ||¡ d S )Nrd  ry   r   r   rT   c                 S   s   t dgdgd�S )NÚspamé*   r   r�  r9   r   r   r   r;   ¼  ó    z+test_apply_datetime_issue.<locals>.<lambda>r^   rO   rÔ  rJ   rÕ  rI   )r   r    r!   r"   r#   r$   r   r'   )rÓ  r>   r(   r)   rA   rK   r@   r   r   r   Útest_apply_datetime_issue¯  s   
ÿr×  c               	   C   sÌ   t t d¡t d¡t d¡t d¡t d¡dœddddddœddddddœdœƒ} dd„ }d	}tjt|d
�� |  d¡ |¡d }W d   ƒ n1 sKw   Y  tdgtj	dgdd�dd�}t 
||¡ d S )Nz2015-02-24 00:00:00)r   r
   rv   rw   r~   zsome UA stringzanother UA stringÚ17661101)ÚdayÚ	userAgentÚuserIdc                 S   s   t dd„ |  ¡ D ƒƒS )Nc                 S   s    i | ]\}}||  ¡ jd  “qS )r   )Úvalue_countsr   )rD   rx   Úsr   r   r   Ú
<dictcomp>à  s     zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>)r   Úitemsrl   r   r   r   Úmost_common_valuesß  r¤  zEtest_apply_series_return_dataframe_groups.<locals>.most_common_valuesr   r   rÙ  rÛ  z
2015-02-24r4   r_  )r   r%   rˆ  r    r!   r"   r#   r$   r   ÚDatetimeIndexrP   )Útdfrà  r)   rA   r@   r   r   r   Ú)test_apply_series_return_dataframe_groupsÃ  s<   ûûûñÿÿÿrã  rJ  c                 C   sÜ   ddgd }| r"t j|g d¢d�}t jg d¢g d¢dd�}g d¢}ntddgdd	�}d
dg}t||dœ|d�}tt d¡|ttdƒƒttdƒƒdœƒ 	ddg¡}|j
ddd� dd„ ¡}t ||¡ |jjddgkslJ ‚d S )Nr
   rv   r   rz   )Ú
categoriesr…   )rä  r5   )rt  é   r   r4   rt  rå  )r†   r  r   r   )r®   r…   r†   r  r®   F)Úobservedc                 S   r6   r   rÎ  r9   r   r   r   r;   ý  r<   z-test_apply_multi_level_name.<locals>.<lambda>)r%   ÚCategoricalÚCategoricalIndexr   r   rÊ   rD  r   r   rW  r#   r$   r    r'   r   r‘   )rJ  rU   Úexpected_indexÚexpected_valuesr@   r(   rA   r   r   r   Útest_apply_multi_level_nameë  s$   

ÿ"ÿ
þrë  c              	   C   sð   t jt ddd¡ddddft ddd¡ddd	d
ft ddd¡ddddft ddd¡ddddfgg d¢d�}d}tjt|d�� | d¡ dd„ ¡j	}W d   ƒ n1 sTw   Y  | r]dnt
}tt d¡||tj|gg d¢d�}t ||¡ d S )Nià  r
   ÚredÚdarkr¡   r¡  ÚgreenÚstormyrv   Ú9iÞ  ÚblueÚbrightrw   r¢   iÝ  Úcalmr~   Úpotato)ÚobservationÚcolorÚmoodÚ	intensityÚscorerI   r   r   rö  c                 S   rs  r–   rj   rk  r   r   r   r;     rØ   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>r^   zdatetime64[ns]r   )r   Úfrom_recordsr%   rˆ  r    r!   r"   r#   r$   rp   rO   r   rÊ   rK   Úint64rP   )r>   r]   r)   rA   rK   r@   r   r   r   Ú)test_groupby_apply_datetime_result_dtypes  s$   üù	ÿþrü  r   Úabcrw   Ú2020r  )r  Úfreq))rT   r   )rT   r
   )rU   r   c                 C   st   t g d¢g d¢dœ| d�}d}tjt|d�� |jddd	� d
d„ ¡}W d   ƒ n1 s-w   Y  t ||¡ d S )N©r
   r
   rv   )r   r
   r   r^  r   r   r   r   FrM   c                 S   r¯   r   r   r9   r   r   r   r;   &  rt   z8test_apply_index_has_complex_internals.<locals>.<lambda>r¾   )r   r(   r)   rA   r   r   r   Ú&test_apply_index_has_complex_internals  s   ÿr  zfunction, expected_valuesc                 C   ó
   | j  ¡ S r   )r   Úto_listr9   r   r   r   r;   -  rØ   c                 C   ó   t | j ¡ ƒS r   )Úsetr   r  r9   r   r   r   r;   .  rm   c                 C   r  r   )Útupler   r  r9   r   r   r   r;   /  rm   )r   r
   ©rv   rw   c                 C   s   t t| j ¡ ƒƒS r   )ÚdictÚ	enumerater   r  r9   r   r   r   r;   1  rÉ  c                 C   s   dd„ t | j ¡ ƒD ƒS )Nc                 S   s   g | ]\}}||i‘qS r   r   )rD   ÚnÚir   r   r   rF   5  ó    z<lambda>.<locals>.<listcomp>)r	  r   r  r9   r   r   r   r;   5  r  c                 C   s|   t g d¢dgd�}d}tjt|d�� | d¡ | ¡}W d   ƒ n1 s%w   Y  t|tddgdd�d	�}t ||¡ d S )
N)r®   r®   r…   r…   r   rI   r   r   r®   r…   r4   r   ©	r   r    r!   r"   r#   r$   r   r   rP   )Úfunctionrê  r(   r)   rA   r@   r   r   r   Ú1test_apply_function_returns_non_pandas_non_scalar*  s   ÿr  c                  C   sž   dd„ } t g d¢dddtjgdœƒ}d}tjt|d	�� | d
¡ | ¡}W d   ƒ n1 s.w   Y  tddgdgtjggt	g d¢d
d�d�}t 
||¡ d S )Nc                 S   s   | d j  ¡ S )Nr…   )r  Úflattenr   r   r   r   ÚfctF  r   z4test_apply_function_returns_numpy_array.<locals>.fct)rT   rT   rU   Únoner
   rv   rw   r  r   r   r®   rW   rX   rY   )rT   rU   r  r4   r   )r   rÊ   r  r    r!   r"   r#   r$   r   r   rP   )r  r(   r)   rA   r@   r   r   r   Ú'test_apply_function_returns_numpy_arrayD  s   ÿ ÿr  r  c                 C   r  r   r   ©Úgrr   r   r   r;   T  r  c                 C   s   | j d d S ri   r   r  r   r   r   r;   T  rm   c                 C   sš   t g d¢dgd�}d}tjt|d�� | d¡ | ¡}W d   ƒ n1 s%w   Y  ttg d¢ƒtg d¢ƒtdd	gƒgtg d
¢dd�d�}t ||¡ d S )N)
r
   rv   rv   rv   r
   rv   rw   r
   rw   r
   ÚidrI   r   r   )r   r~   r�   r‚   )r
   rv   rw   r   r€   r|   rz   r4   r   r  )r  r(   r)   rA   r@   r   r   r   Ú test_apply_function_index_returnT  s   ÿ þr  c                  C   sT   t g d¢g d¢dœƒ} | jddd� dd„ ¡}t g d	¢g d
¢dœƒ}t ||¡ d S )NrÀ   )r
   rv   r~   r~   r   r€   rÃ   rÄ   FrÈ   c                 S   r6   r   )rÎ   r9   r   r   r   r;   j  r<   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>)rÁ   rÂ   rƒ   )rY   rZ   rZ   )r   r#   r$   r    r'   )r(   rA   r@   r   r   r   Ú/test_apply_function_with_indexing_return_columnb  s   þÿþÿr  Úudfc                 C   r6   r   r²   r9   r   r   r   r;   v  r<   c                 C   s   |   ¡  dd„ ¡S )Nc                 S   s   | d S ri   r   )Úyr   r   r   r;   v  r<   z<lambda>.<locals>.<lambda>)r�   r  r9   r   r   r   r;   v  rÉ  c                 C   sÀ   t ddgddgdœƒ}d}tjt|d�� |jd| d	� |¡}W d   ƒ n1 s)w   Y  |jj|j| d	� |¡}| rN|jj	dksDJ ‚|jj	dksLJ ‚d S |jj	dksVJ ‚|jj	dks^J ‚d S )
NrT   rU   r
   rv   r  r   r   r®   rM   )
r   r    r!   r"   r#   r$   r…   r®   r   Únlevels)rN   r  r(   r)   Ú	df_resultÚseries_resultr   r   r   Útest_apply_result_typet  s   	ÿr  c                  C   s¶   t g d¢g d¢dœƒ} d}tjt|d�� | jddd� d	d
„ ¡}W d   ƒ n1 s+w   Y  tjt|d�� | jddd� dd
„ ¡}W d   ƒ n1 sNw   Y  t ||¡ d S )N)rv   r
   rv   rz   r  r   r   r®   FrM   c                 S   r¯   r   r   r9   r   r   r   r;   ‘  rt   z4test_result_order_group_keys_false.<locals>.<lambda>c                 S   r6   r   r²   r9   r   r   r   r;   “  r<   r¾   r’  r   r   r   Ú"test_result_order_group_keys_false‹  s   ÿÿr  c                  C   s  dgd dgd  dgd  } t  | ¡}t j| dd�}tttdƒƒd tdƒ|d	œƒ}tttdƒƒd tdƒ|d	œƒ}d
}tjt|d�� |jddd� 	dd„ ¡}W d   ƒ n1 s[w   Y  tjt|d�� |jddd� 	dd„ ¡}W d   ƒ n1 s~w   Y  t 
||¡ d S )Nz
2001-01-01rv   z
2001-01-02z
2001-01-03ÚUTC)Útzrw   r€   )r:   r  Útr   r   r:   FrM   c                 S   ó   | ddg   ¡ S ©Nr:   r  r²   rl   r   r   r   r;   ¢  rÖ  z1test_apply_with_timezones_aware.<locals>.<lambda>c                 S   r#  r$  r²   rl   r   r   r   r;   ¦  rÖ  )r%   rá  r   r   r   r    r!   r"   r#   r$   r'   )ÚdatesÚindex_no_tzÚindex_tzr‰  rŠ  r)   rÏ   rÐ   r   r   r   Útest_apply_with_timezones_aware—  s"   
  ÿÿÿÿr(  c                 C   s  t g d¢g d¢g d¢dœƒ}t ddgddgd	œtd
dgdd�d�}|jdd�}d}tjt|dd�� |jtdd�}W d   ƒ n1 sCw   Y  t ||¡ |jdd�}t	| |ƒ}t
|| ƒ|Ž }tjt|dd�� |jtdd�}W d   ƒ n1 szw   Y  t ||¡ d S )N)éc   r)  r)  éX   r*  r*  )r
   rv   rw   r~   r   r€   )r   rt  ru  r”  r•  é<   r‡   é   r€   é–   r+  r¢  r*  r)  rT   r4   r   r¥  ú:The behavior of DataFrame.sum with axis=None is deprecatedF)r   Úcheck_stacklevel©Úinclude_groups)r   r   r#   r    r!   ro   r$   r  r'   r	   Úgetattr)Úreduction_funcr(   r@   Úgrpr)   rA   ÚargsÚ_r   r   r   Ú;test_apply_is_unchanged_when_other_methods_are_called_first¬  s.   ýÿþÿ
ÿr7  c               	   C   s  t g d¢tdddƒtdddƒtdddƒtdddƒgg d¢dœtg d¢d	d
�d�} |  ddg¡}d}tjt|d�� | dd„ ¡}W d   ƒ n1 sJw   Y  | jg d¢ }| 	¡ }t
 |g d¢ ¡|_|jd	d�}t ||¡ |jjd D ]
}t|ƒtu s€J ‚qvd S )N)rT   rT   rT   rU   iä  r
   r   rv   r¼   r  )r   ée   éf   ég   Úidxr4   r   r®   r…   r   r   c                 S   rÔ   ri   rÖ   r9   r   r   r   r;   à  rØ   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>)r   rv   rw   )r®   r…   r;  rI   )r   r   r   r#   r    r!   r"   r$   rk   r   r   Ú
from_framer   r  r'   ÚlevelsÚtype)r(   r4  r)   rA   r@   Úvalr   r   r   Ú@test_apply_with_date_in_multiindex_does_not_convert_to_timestampÌ  s0   



üø
õÿÿr@  c                  C   sì   t tj d¡ ddg¡t ddgddgg¡d�} d}tjt|d	�� | j	j
d
d
d�}W d   ƒ n1 s4w   Y  | dd„ ¡}d}tjt|d	�� | j
dd
d�}W d   ƒ n1 s[w   Y  | dd„ ¡}t ||j	¡ t || ¡ d S )Nrv   r€   r~   r®   r…   r
   rI   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   ©ra   rV  c                 S   s   | j ddd�S )Nr   rA  ©Ú	droplevelr9   r   r   r   r;   ú  rm   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>rc   c                 S   r1  )Nr
   r   rA  rB  r9   r   r   r   r;   ÿ  rm   )r   rÊ   rË   rÌ   r   rÊ  r    r!   ro   rw  r#   r$   r'   )r(   r)   rr   Úby_rowsÚgb2Úby_colsr   r   r   Ú2test_apply_by_cols_equals_apply_by_rows_transposedì  s    þÿÿrG  Údropnac                 C   sž   t g d¢dtjtjddgdœtdƒd�}d}tjt|d�� |jd	| d
d� dd„ ¡}W d   ƒ n1 s5w   Y  | r@| 	¡ n|j
g d¢ }t ||¡ d S )N©r
   rv   rw   r~   r   rT   rU   )Úcolr   Úxxyxzr   r   r   r   F)rH  rN   c                 S   r¯   r   r   r9   r   r   r   r;     rt   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>)r   rw   r
   rv   r~   )r   rÊ   r  r   r    r!   r"   r#   r$   rH  rk   r'   )rH  r(   r)   rA   r@   r   r   r   Ú#test_apply_dropna_with_indexed_same  s   þûÿrL  zas_index, expected)r
   r
   r
   )rv   rv   r
   )rT   rU   N)rK   rÙ   )rv   rv   rU   r�   r   c                 C   sz   t g d¢g d¢g d¢dœƒ}d}tjt|d�� |jddg| d� d	d
„ ¡}W d   ƒ n1 s0w   Y  t ||¡ d S )Nr[  )r
   r
   r
   r
   r‡   r   r   rT   rU   rÈ   c                 S   s   dS ri   r   r9   r   r   r   r;   -  rt   z5test_apply_as_index_constant_lambda.<locals>.<lambda>)r   r    r!   r"   r#   r$   Úassert_equal)rÉ   r@   r(   r)   rA   r   r   r   Ú#test_apply_as_index_constant_lambda  s   ÿrN  c                  C   s    t g d¢g d¢g d¢dœtdƒd�} d}tjt|d�� |  d	¡ d
d„ ¡}W d   ƒ n1 s0w   Y  ttddƒtj	g d¢d	d gd�dd�}t 
||¡ d S )NrI  )r€   r�   r|   r‚   r   )r
   r
   r
   rv   rv   r  r   r   r   r   r†   c                 S   r  r   )r®   rX  r9   r   r   r   r;   9  rØ   z(test_sort_index_groups.<locals>.<lambda>r
   r€   )rÛ   rÙ   rÜ   r  rÚ   r�   r®   r_  )r   r   r    r!   r"   r#   r$   r   r   rß   rP   r’  r   r   r   Útest_sort_index_groups1  s    þÿÿûrO  c                  C   sŠ   t tjdddd�tdƒtdƒdœƒ} d}tjt|d�� | j| j	| j
jj
gd	d
� dd„ ¡}W d   ƒ n1 s8w   Y  t || ¡ d S )Nz
2010-01-01Ú12hr   )rÿ  r  rÝ   )r   ÚvalsÚletr   r   FrM   c                 S   s   | j dd … S r–   rj   r9   r   r   r   r;   Q  rm   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>)r   r%   r™  r   r   r    r!   r"   r#   rR  r   Údtr$   r'   )r@   r)   rA   r   r   r   Ú)test_positional_slice_groups_datetimelikeD  s   ýÿÿ
þÿrT  c                  C   sr   t g d¢g d¢g d¢dœƒ} |  d¡}|ddg  dd	„ ¡}t d
dgddgdœtddgdd�d�}t ||¡ d S )N)rT   rT   rU   rz   rÌ  r  r®   r…   r†   c                 S   s   |   t¡ ¡ |  ¡  S r   )ÚastypeÚfloatr>  r=  r9   r   r   r   r;   Y  s    z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>rW   rB  rX   rÐ  rT   rU   r4   r   )r   r#   r$   r   r    r'   )r(   rr   rA   r@   r   r   r   Ú%test_groupby_apply_shape_cache_safetyU  s   
ÿrW  c                  C   s~   t  g d¢g d¢g d¢dœ¡} |  d¡ddg }| dd	„ ¡}tjg d
¢g d¢gdd gd�}tg d¢|dd�}t ||¡ d S )N)rT   rU   rT   rU   )ÚaaÚacrY  Úad)rX  rX  rX  rY  )rT   Úb1Úb2rT   r[  r\  c                 S   s   |   ¡  ¡ S r   )ÚunstackrÜ  r9   r   r   r   r;   k  r·   z3test_groupby_apply_to_series_name.<locals>.<lambda>)rT   rT   rU   rU   rU   )rX  rY  rY  rZ  rX  )Úarraysr‘   )rw   r
   rv   r
   r
   r«   r_  )	r   Ú	from_dictr#   r$   r   r-  r   r    rP   )r(   r4  rA   Úexpected_idxr@   r   r   r   Ú!test_groupby_apply_to_series_namea  s   ýÿþra  c                 C   s¾   t g d¢g d¢ddtjtjgdœƒ}|jd| d�}d}tjt|d	�� | d
d„ ¡}W d   ƒ n1 s4w   Y  tjt|d	�� | dd„ ¡}W d   ƒ n1 sRw   Y  t ||¡ d S )Nr[  )r
   r   rv   r   r
   rv   )r4  r  Úzr4  )rH  r   r   c                 S   s   |   dd¡S )Nr
   rb  )Únlargest)Úgrp_dfr   r   r   r;   ~  r·   ztest_apply_na.<locals>.<lambda>c                 S   s   | j ddd� d¡S )Nrb  F)Ú	ascendingr
   )r  r×   r9   r   r   r   r;   €  rG   )	r   rÊ   r  r#   r    r!   r"   r$   r'   )rH  r(   Údfgrpr)   rA   r@   r   r   r   Útest_apply_nau  s   ÿÿÿrg  c                  C   sÄ   d} t jt| d��% tg d¢g d¢tjg d¢dd�dœƒ d	d
g¡ dd„ ¡}W d   ƒ n1 s1w   Y  tddtjddd�gddtjddd�ggg d¢tj	ddgd	d
gd�d�}t  
||¡ d S )Nr   r   r[  )rƒ  rƒ  rƒ  rƒ  r¼   rÝ  )Úunitr‡   rT   rU   c                 S   rs  ©Nr/  rj   rl   r   r   r   r;   ‘  rØ   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>r
   rƒ  rv   r~   )r
   rƒ  )rv   rƒ  r�   rU  )r    r!   r"   r   r%   r=   r#   r$   r   rß   r'   )r)   rA   r@   r   r   r   Ú&test_apply_empty_string_nan_coerce_bug„  s$   ýÿ

÷ÿ&ýrj  Úindex_values)rW   rX   rY   c                 C   s”   t g d¢g d¢dœt| ƒd�}t dg d¢itg d¢dd	�d�}d
}tjt|d�� | d¡ dd„ ¡}W d   ƒ n1 s=w   Y  t ||¡ d S )N)rX  Úa2Úa3rz   ry   r   Úb_mean)rX   rY   rW   )rl  rm  rX  rT   r4   r   r   c                 S   s   t | d  ¡ gdgd�S )NrU   rn  r   )r   rÎ   rl   r   r   r   r;   ®  r  z0test_apply_index_key_error_bug.<locals>.<lambda>)r   r   r    r!   r"   r#   r$   r'   )rk  rA   r@   r)   r   r   r   Útest_apply_index_key_error_bug›  s$   þûÿü
ÿÿro  zarg,idx)çš™™™™™¹?ç333333Ó?çš™™™™™É?)rp  rr  rq  )r
   r~   rw   )rp  rÏ  rr  c                 C   sj   t d| i|d�}d}tjt|d�� |jddd� dd„ ¡}W d   ƒ n1 s(w   Y  t ||¡ d S )	NrJ  r   r   r   FrM   c                 S   r¯   r   r   r9   r   r   r   r;   á  rt   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>r¾   )Úargr;  r@   r)   rA   r   r   r   Ú#test_apply_nonmonotonic_float_index³  s   +ÿrt  zargs, kwargsÚnumeric_onlyc                 C   s>   |   d¡}|jdg|¢R i |¤Ž}|jdd�}t ||¡ d S )Nr®   r  T)ru  )r#   r$   r  r    r'   )r(   r5  Úkwargsrr   rA   r@   r   r   r   Útest_apply_str_with_argså  s   
rw  r5   Ú	some_namec                 C   sL   t ddg| d�}|jddgdd� dd„ ¡}t ddg| d�}t ||¡ d S )	Nr
   rv   r4   rT   FrM   c                 S   r¯   r   r   r9   r   r   r   r;   ò  rt   z1test_result_name_when_one_group.<locals>.<lambda>)r   r#   r$   r    rP   )r5   rY  rA   r@   r   r   r   Útest_result_name_when_one_groupî  s   ry  z
method, opr$   c                 C   rs  ri  )r  ©rr   r   r   r   r;   û  rØ   c                 C   s   | d j d S )NrU   r   rj   rz  r   r   r   r;   ü  rm   )ÚaggÚskew)r{  Úprod)r{  r  c              	   C   s^   t g g dœƒ}|jddd�}t|dƒ}t|| ƒ|ƒ}tg ddtg ddd�d�}t ||¡ d S )	Nry   rT   TrM   rU   r_   rJ   )r5   rK   r   )r   r#   r2  r   r   r    rP   )ÚmethodÚopÚempty_dfrr   r   rA   r@   r   r   r   Útest_empty_dfø  s   
ÿr�  r1  c                 C   s´   t g d¢g d¢dœƒ}| d¡}| rtnd }d}tj||d�� |jdd„ | d	�}W d   ƒ n1 s3w   Y  t d
d
gddgdœtdd
gdd�d�}| sR|dg }t ||¡ d S )Nr   )rw   r~   r   ry   rT   r   r   c                 S   r6   r   rÎ  r9   r   r   r   r;     r<   z%test_include_groups.<locals>.<lambda>r0  rv   r�   r   r
   r4   r   rU   )r   r#   r"   r    r!   r$   r   r'   )r1  r(   rr   Úwarnr)   rA   r@   r   r   r   Útest_include_groups  s   
ÿ&
rƒ  r  rb   ÚjimÚjoec                    sÌ  t j d¡}t| ddd¡ddgd�}| d¡|d	< | | ¡}|j‰ |tur(d nt	}d
}t
j||ddd�� | |¡}W d   ƒ n1 sEw   Y  t|j| d�ƒ}d|j› d|› d�}	|j|dfksgJ |	ƒ‚‡ fdd„‰d}t
jt|d�� | ˆ¡}
W d   ƒ n1 s†w   Y  t
 ||
¡ t
jt|d�� | ‡fdd„¡}W d   ƒ n1 s¬w   Y  t
 ||¡ |tkrÒ| ˆ ¡ ¡ }
|
j| ddd� t
j||
dd� t
 t|ˆ ƒdd�t|ˆ ƒdd�¡ d S )Nrv   r
   r�   )r   rv   r„  r…  rI   r   Újolier.  F)r   r/  Úraise_on_extra_warnings)Úsubsetzinvalid frame shape: z (expected (z, 3))rw   c                    s   t tˆ ƒ| dd�S )Nr   rh   )r2  rÊ   r9   )Úfnamer   r   r;   7  rÉ  z%test_builtins_apply.<locals>.<lambda>r   r   c                    s   ˆ | ƒS r   r   r9   )Únpfuncr   r   r;   >  r<   T)r3  r  )Úcheck_dtyper   rh   )rÊ   rË   rÌ   r   r   rÍ   r#   Ú__name__r  ro   r    r!   r$   rò   Údrop_duplicatesrL  r"   r'   r{  r   rW  rP   r2  )rb   r  Úrsr(   rr   r‚  r)   rA   ÚngroupsÚ
assert_msgr@   rÅ  r   )r‰  rŠ  r   Útest_builtins_apply  s<   
ÿüÿÿ(r‘  )dr   r   ÚnumpyrÊ   ÚpytestÚpandasr%   r   r   r   r   r   Úpandas._testingÚ_testingr    Úpandas.tests.groupbyr	   r+   rB   rR   rs   ru   ÚmarkÚparametrizer   r   rœ   r­   r¶   r¿   rÑ   rì   rú   r  r  r  r  r  r!  r$  r+  r.  r4  rE  rF  rG  rO  rZ  rb  rn  r‹  r“  rš  r­  rº  r¾  rÆ  rË  rÑ  rÒ  ÚtodayrH   r×  rã  rë  rü  rè  Úinterval_rangeÚperiod_rangerß   r  r  r  r  r  r  r  r(  r7  r@  rG  rL  rO   rN  rO  rT  rW  ra  rg  rj  ro  rt  rw  ry  r�  rƒ  r>  r=  r  r‘  r   r   r   r   Ú<module>   sj   (-ýÿø"
ðì
.üþ
	*)

 
> þ
(

üþ
		þþøþ


þ  
ÿþÿþùþ
	

úúúçþ
)	

	

ûþ


