a
    é´«jôÔ  ã                   @   sz  d dl mZm Z  d dlZd dlZd dlm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/d0„ d1d0„ d2d0„ d3d0„ g¡d4d5„ ƒZd6d7„ Z d8d9„ Z!d:d;„ Z"d<d=„ Z#d>d?„ Z$d@dA„ Z%dBdC„ Z&dDdE„ Z'dFdG„ Z(dHdI„ Z)dJdK„ Z*ej dLdMdNg¡dOdP„ ƒZ+dQdR„ Z,dSdT„ Z-dUdV„ Z.dWdX„ Z/dYdZ„ Z0ej d[dMdNg¡d\d]„ ƒZ1d^d_„ Z2d`da„ Z3dbdc„ Z4ddde„ Z5dfdg„ Z6dhdi„ Z7djdk„ Z8dldm„ Z9dndo„ Z:dpdq„ Z;drds„ Z<dtdu„ Z=ej dve  >¡ e  >¡  ¡ e  >¡  ?¡ g¡dwdx„ ƒZ@dydz„ ZAej d{dNdMg¡d|d}„ ƒZBd~d„ ZCej d€e Ded�ƒ¡e Ed d‚¡ejFdƒd‚d„d…�e Gg d†¢¡g¡d‡dˆ„ ƒZHej d‰dŠd0„ d dgdd‚ggfd‹d0„ d dhdd‚hgfdŒd0„ d�dŽgfd�d0„ d dd�œdd‚d�œgfd�d0„ d d iddigd didd‚iggfg¡d‘d’„ ƒZId“d”„ ZJej d•d–d0„ d—d0„ g¡d˜d™„ ƒZKdšd›„ ZLej dœd�d0„ džd0„ g¡ej dLdMdNg¡dŸd „ ƒƒZMd¡d¢„ ZNd£d¤„ ZOd¥d¦„ ZPd§d¨„ ZQd©dª„ ZRej d«dMdNg¡d¬d­„ ƒZSej d®ejTdNe	g d¯¢g d°¢ge
g d±¢eUd²�d%�ejjVeƒ d³d´�dµ�dMeddgejGd¶d·gdd¸gd¹�dº�gg¡d»d¼„ ƒZWd½d¾„ ZXd¿dÀ„ ZYdÁdÂ„ ZZdÃdÄ„ Z[ej d«dMdNg¡dÅdÆ„ ƒZ\dÇdÈ„ Z]ej dÉg d¢g dÊ¢g¡dËdÌ„ ƒZ^ej dÍg d¢g dÎ¢gg d¢g dÏ¢gg dÐ¢g dÑ¢gg¡dÒdÓ„ ƒZ_ej dÔdMgi fg dÕdMifg¡dÖd×„ ƒZ`ej dØdÙdg¡dÚdÛ„ ƒZaej dÜdÝdÞd0„ fdÝdßd0„ fdàdádâg¡dãdä„ ƒZbej dådMdNg¡dædç„ ƒZcej dèedeeefg¡ej dédêdêdëgg¡dìdí„ ƒƒZgdS )îé    )ÚdateÚdatetimeN)Úusing_string_dtype)Ú	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 sh0    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© ú^/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/groupby/test_apply.pyÚstore   s    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ÚFutureWarningÚgroupbyÚapplyÚpdZ
RangeIndexÚassert_frame_equal)Údfr   ÚmsgZ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-   r.   r/   r0   r-   r.   r/   r0   Ú	date_time©Únamer   c                 S   s   |   ¡ S r   ©Úidxmax©Úxr   r   r   Ú<lambda>N   ó    z'test_apply_index_date.<locals>.<lambda>)r   r   r%   Úto_datetimer#   r   r   r5   r$   r    r&   )Úusing_infer_stringÚtsr'   ÚexpectedÚresultr   r   r   Útest_apply_index_date*   s    ÿïr?   c                  C   s¨   g d¢} t dd„ | D ƒddgd�}g d¢|d< tg d	¢dd
�}tg d¢|d�}d}tjt|d��( |jddd� dd„ ¡}W d   ƒ n1 sŽ0    Y  t ||¡ d S )Nr*   c                 S   s   g | ]}|  ¡ ‘qS r   )Úsplit)Ú.0Úrowr   r   r   Ú
<listcomp>c   r9   z0test_apply_index_date_object.<locals>.<listcomp>r   Útime©r   r,   r+   )z
2011-05-16z
2011-05-17z
2011-05-18r2   )z00:00ú02:00rF   r   r   r   F©Ú
group_keysc                 S   s   | d | d   ¡  S )NrD   r+   r4   r6   r   r   r   r8   w   r9   z.test_apply_index_date_object.<locals>.<lambda>)	r   r   r   r    r!   r"   r#   r$   Úassert_series_equal)r<   r'   Zexp_idxr=   r(   r>   r   r   r   Útest_apply_index_date_objectR   s    ÿ"rJ   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 s˜0    Y  | 	‡ fdd„¡}t 
||¡ d S )N©ÚarL   ÚbrM   rL   ©ç      ð?ç       @ç      @ç      @g      @©ÚkeyÚdatarT   rU   rE   ÚstrÚobjectr   Úfloat64©ÚaxisÚkeysú+DataFrame.groupby with axis=1 is deprecatedr   c                 S   s   g | ]}t |ƒ‘qS r   ©rV   ©rA   r7   r   r   r   rC   ˆ   r9   z&test_apply_trivial.<locals>.<listcomp>©rZ   c                    s   ˆ j dd … S ©Nr   ©Úilocr6   ©r'   r   r   r8   ‰   r9   z$test_apply_trivial.<locals>.<lambda>)r   r%   Úconcatrb   r    r!   r"   r#   Údtypesr$   r&   ©r;   Údtyper=   r(   Úgbr>   r   rc   r   Útest_apply_trivial|   s    þ,8ri   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 s†0    Y  | ‡ fdd„¡}t 	||¡ d S )NrK   rN   rS   rT   rU   rE   rV   rW   r   rX   rY   r\   r   c                 S   s   g | ]}t |ƒ‘qS r   r]   r^   r   r   r   rC   ˜   r9   z+test_apply_trivial_fail.<locals>.<listcomp>T)rZ   rH   c                    s   ˆ S r   r   r6   rc   r   r   r8   ™   r9   z)test_apply_trivial_fail.<locals>.<lambda>)
r   r%   rd   r    r!   r"   r#   re   r$   r&   rf   r   rc   r   Útest_apply_trivial_failŽ   s    þ:rj   zdf, group_names)r   r   r   é   é   )rL   rL   rL   rM   Úc©rL   rM   ©r   rk   rl   ©r   r   r   r   )r   r   r   r   r   rL   )r   r   r   rk   rk   r   r   rk   é   rk   ©r   rk   rl   r   rk   rl   )é   é   é   é   rq   é	   )rL   ÚtwoZ
aaabbbcccc)
rl   rs   rl   ru   rt   rk   r   rw   rt   rs   )
rs   r   rk   rk   rk   rv   rq   ru   rk   rq   )rL   ÚBÚC©rL   rM   rm   )rk   rk   rl   rE   )ZGH2936zGH7739 & GH10519ZGH10519ZGH2656ZGH12155ZGH20084ZGH21417)Úidsc           	   	      s´   g ‰ ‡ fdd„}‡ fdd„}‡ fdd„}‡ fdd„}‡ fd	d
„}|||||fD ]`}ˆ d d …= d}t jt|d��$ | jddd� |¡ W d   ƒ n1 s˜0    Y  ˆ |ksNJ ‚qNd S )Nc                    s   ˆ   | j¡ |  ¡ S r   )r   r3   Úcopyr   ©Únamesr   r   Úf_copyÉ   s    z/test_group_apply_once_per_group.<locals>.f_copyc                    s   ˆ   | j¡ | S r   ©r   r3   r   r~   r   r   Úf_nocopyÎ   s    z1test_group_apply_once_per_group.<locals>.f_nocopyc                    s   ˆ   | j¡ dS ©Nr   r�   r   r~   r   r   Úf_scalarÓ   s    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   rn   )r   r3   r   r   r~   r   r   Úf_constant_dfÜ   s    z6test_group_apply_once_per_group.<locals>.f_constant_dfr   r   rL   FrG   )r    r!   r"   r#   r$   )	r'   Zgroup_namesr€   r‚   r„   r…   r†   Úfuncr(   r   r~   r   Útest_group_apply_once_per_groupž   s    '
2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 sb0    Y  |  ¡ j d¡}||ksˆJ ‚d S )Nrk   )r   r   r   r   r   r   r   r   )Ú0Ú2Ú4Ú6Ú8Ú10Z12Z14)Úgroup_by_columnZtest_columnr   r   r   r�   FrG   c                 S   s   t dƒS )NÚfunction_called)Úprintrc   r   r   r   r8   û   r9   z2test_group_apply_once_per_group2.<locals>.<lambda>r�   )	r   r    r!   r"   r#   r$   Z
readouterrÚoutÚcount)Zcapsysr=   r'   r(   r>   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 sb0    Y  tjt|d	��$ | jd
dd� |¡}W d   ƒ n1 s¤0    Y  t ||¡ d S )N)r   r   r   rl   )ÚArM   c                 S   s   | S r   r   r   r   r   r   Úslow
  s    z,test_apply_fast_slow_identical.<locals>.slowc                 S   s   |   ¡ S r   ©r}   r   r   r   r   Úfast  s    z,test_apply_fast_slow_identical.<locals>.fastr   r   r•   FrG   )r   r   r    r!   r"   r#   r$   r&   )r'   r–   r˜   r(   Zfast_dfZslow_dfr   r   r   Útest_apply_fast_slow_identical  s    22r™   r‡   c                 C   s   | S r   r   r6   r   r   r   r8     r9   r8   c                 C   s   | d d … S r   r   r6   r   r   r   r8     r9   c                 C   s   | j dd�S )NF©Údeepr—   r6   r   r   r   r8     r9   c                 C   s   | j dd�S )NTrš   r—   r6   r   r   r   r8     r9   c                 C   sr   t g d¢g d¢g d¢dœƒ}d}tjt|d��$ |jddd	� | ¡}W d   ƒ n1 sX0    Y  t ||¡ d S )
N©r   rk   rk   rk   ©r   rk   rl   rs   )rt   ru   rv   rq   )ÚgrL   rM   r   r   rž   FrG   ©r   r    r!   r"   r#   r$   r&   )r‡   r'   r(   r>   r   r   r   Ú5test_groupby_apply_identity_maybecopy_index_identical  s
    2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 )Nrk   ru   ©Úonerx   rx   Úthreer¢   rx   ©Úfoo1Zfoo2c                 S   s   | S r   r   r6   r   r   r   r8   8  r9   z-test_apply_with_mixed_dtype.<locals>.<lambda>r   r_   Úc1)r   rk   ru   ru   rq   rP   Úc2F©Úas_index)r   ÚnpÚrandomÚdefault_rngÚstandard_normalr$   re   r    rI   r¦   r#   Úmeanr   r§   )r'   r>   r=   Úresult1Úresult2r   r   r   Útest_apply_with_mixed_dtype0  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 s¬0    Y  tjt	|d��  | 
dd„ ¡j}W d   ƒ n1 sê0    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°0    Y  t ||¡ d S )N)rM   rM   rL   rm   rL   rM   )r   rk   r   r   rl   r   ru   )Zitem_idÚuser_idrD   r²   Tr¨   Frk   )r   r   rk   rs   r   r   c                 S   s
   |   d¡S ©Nrk   ©Úheadr6   r   r   r   r8   Y  r9   z-test_groupby_as_index_apply.<locals>.<lambda>c                 S   s
   |   d¡S r³   r´   r6   r   r   r   r8   [  r9   ))r   r   )r   rk   ©r   r   ©rk   rs   )©r   r   ©r   rk   )rk   r   )rl   rs   r~   Úabcder   rl   rs   rt   r   r   )r©   rH   c                 S   s   | S r   r   r6   r   r   r   r8   j  r9   )r   r   r#   rµ   r   r   r    Úassert_index_equalr!   r"   r$   r   Úfrom_tuplesr   )r'   Zg_asZg_not_asZres_asZ
res_not_asÚexpr(   Zres_as_applyZres_not_as_applyZexp_not_as_applyÚtpZexp_as_applyÚindÚresr   r   r   Útest_groupby_as_index_applyD  s:    ýÿ..*<rÁ   c           	      C   s  |   ddg¡}dd„ }dd„ }dd„ }d	}tjt|d
�� | |¡}W d   ƒ n1 sX0    Y  |jjdksrJ ‚d	}tjt|d
�� | |¡}W d   ƒ n1 s¤0    Y  |jjdks¾J ‚d	}tjt|d
�� | |¡}W d   ƒ n1 sð0    Y  |jjdk�sJ ‚d S )Nr•   ry   c                 S   s   |   ¡ }d|j_|S ©NÚstat)Údescriber   r3   ©r   r>   r   r   r   Údescq  s    z.test_apply_concat_preserve_names.<locals>.descc                 S   s$   |   ¡ }d|j_|d t| ƒ… }|S rÂ   )rÄ   r   r3   ÚlenrÅ   r   r   r   Údesc2v  s    z/test_apply_concat_preserve_names.<locals>.desc2c                 S   s0   |   ¡ }dt| ƒd›�|j_|d t| ƒ… }|S )NZstat_Úd)rÄ   rÇ   r   r3   rÅ   r   r   r   Údesc3}  s    z/test_apply_concat_preserve_names.<locals>.desc3r   r   )r•   ry   rÃ   )r•   ry   N)r#   r    r!   r"   r$   r   r   )	Zthree_groupÚgroupedrÆ   rÈ   rÊ   r(   r>   r°   Zresult3r   r   r   Ú test_apply_concat_preserve_namesn  s     
(((rÌ   c                  C   sz   dd„ } t ddd�}ttj d¡ d¡|d�}|jdd	„ d
d�}| | ¡}t|t	ƒsXJ ‚t
|dƒrfJ ‚t |j|j¡ d S )Nc                 S   sN   t jdd�� t  | ¡}W d   ƒ n1 s,0    Y  t| | |  ¡  |dœƒS )NÚignore)Úinvalid)r+   ZdemeanedÚlogged)rª   ZerrstateÚlogr   r®   )ZpiecerÏ   r   r   r   Úf˜  s
    (ÿz%test_apply_series_to_frame.<locals>.fz1/1/2000r   )Úperiodsrk   r   c                 S   s   | j S r   ©Úmonthr6   r   r   r   r8   ¢  r9   z,test_apply_series_to_frame.<locals>.<lambda>FrG   r3   )r	   r   rª   r«   r¬   r­   r#   r$   Ú
isinstancer   Úhasattrr    r»   r   )rÑ   Zdrr<   rË   r>   r   r   r   Útest_apply_series_to_frame—  s    
r×   c                 C   s4   |   ddg¡d  t¡}|jjd d… dks0J ‚d S )Nr•   ry   rz   rk   ©r•   ry   )r#   r$   rÇ   r   r   )r'   r>   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<0    Y  t|tƒsTJ ‚|jd u sbJ ‚|  ddg¡ddg  t¡}t|tƒsŒJ ‚|jd u sšJ ‚d S )Nr   r   r•   ry   rz   ÚD)	r    r!   r"   r#   r$   rÇ   rÕ   r   r3   )r'   r(   r>   r   r   r   Útest_apply_frame_yield_constant¯  s    2rÛ   c                 C   sz   |   ddg¡}d}tjt|d�� | t¡}W d   ƒ n1 s@0    Y  | ¡ d }t |j|j¡ t 	|j
|j
¡ d S )Nr•   ry   r   r   rz   )r#   r    r!   r"   r$   rÇ   r“   r»   r   Úassert_numpy_array_equalÚvalues©r'   rË   r(   r>   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 sD0    Y  | ¡ jdtj	id�j
d	d�}t |j|j¡ t |j|j¡ d S )
Nr•   ry   Fr¨   r   r   rz   rE   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 sŽ0    Y  ˆ  	d¡d  
|¡}tj||dd� |jdksÊJ ‚d S )Nc                 S   s    |   d¡d  ¡  ¡ jd d… S )Nry   rz   rk   )r#   ÚsumÚsort_valuesrb   r   r   r   r   ÚtransÓ  s    z-test_apply_frame_concat_series.<locals>.transc                    s,   |   ˆ  | j¡d ¡}| ¡  ¡ jd d… S )Nry   rk   )r#   Úreindexr   rä   rå   rb   )r   rË   rc   r   r   Útrans2Ö  s    z.test_apply_frame_concat_series.<locals>.trans2rk   r   rt   éè  ©r•   ry   rz   r   r   r•   rz   F)Zcheck_names)r   rª   r«   r¬   Úintegersr­   r    r!   r"   r#   r$   rI   r3   )ræ   rè   r(   r>   r½   r   rc   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   s   | j S r   rÓ   r6   r   r   r   r8   ë  r9   z&test_apply_transform.<locals>.<lambda>FrG   c                 S   s   | d S r³   r   r6   r   r   r   r8   ì  r9   c                 S   s   | d S r³   r   r6   r   r   r   r8   í  r9   )r#   r$   Ú	transformr    rI   )r<   rË   r>   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   s   | j S r   ©Úyearr6   r   r   r   r8   ò  r9   z,test_apply_multikey_corner.<locals>.<lambda>c                 S   s   | j S r   rÓ   r6   r   r   r   r8   ò  r9   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Ñ   r>   rT   r   r   r   r   Útest_apply_multikey_cornerñ  s
    
rõ   rH   TFc                 C   s    t g d¢tdƒdœƒ}d}tjt|d��( |jd| d� dd	„ ¡}W d   ƒ n1 sV0    Y  | g d
¢¡}| r�tj	g d¢|j
gdd gd�|_
t ||¡ d S )N)	r   r   r   rk   rk   rk   rl   rl   rl   rw   )rT   r+   r   r   rT   rG   c                 S   s   | j d d… S r³   ra   r6   r   r   r   r8     r9   z'test_apply_chunk_view.<locals>.<lambda>)r   r   rl   rs   ru   rv   )r   r   rk   rk   rl   rl   r~   )r   r   r    r!   r"   r#   r$   Ztaker   Úfrom_arraysr   r&   )rH   r'   r(   r>   r=   r   r   r   Útest_apply_chunk_viewü  s    6ÿr÷   c                  C   sr   t g d¢g d¢tdddƒdœƒ} |  ddg¡}d}tjt|d	�� | d
d„ ¡ W d   ƒ n1 sd0    Y  d S )N)
r   r   r   r   r   r   rk   rk   rk   rk   )
r   r   r   r   r   r   r   r   r   r   rw   éÿÿÿÿ)r3   Úname2r+   r3   rù   r   r   c                 S   s   | j ddd�S )Nr+   T©Úinplacerò   r6   r   r   r   r8     r9   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    
ýÿ	rü   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 sl0    Y  |  	¡ }t g d¢d¡|d< t 
||¡ d S )N©rO   rO   rO   rP   rP   rP   r{   rk   rO   ç      @©rÉ   rm   Úvc                 S   s,   | d }||  ¡  | ¡ |  ¡   | d< | S ©Nr   Úv2©ÚminÚmax©r   r   r   r   r   rÑ   &  s     z#test_apply_typecast_fail.<locals>.fr   r   rÉ   FrG   ©ç        g      à?r   r  )r   rª   ÚtileÚaranger    r!   r"   r#   r$   r}   r&   )r'   rÑ   r(   r>   r=   r   r   r   Útest_apply_typecast_fail  s    
ýÿ2r  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 s†0    Y  | ¡ }t g d¢d¡|d< t ||¡ d S )N)r   r   r   r   r   r   rr   rý   r{   rk   rO   rþ   rÿ   r   c                 S   s,   | d }||  ¡  | ¡ |  ¡   | d< | S r  r  r  r   r   r   rÑ   @  s     z%test_apply_multiindex_fail.<locals>.fr   r   rÉ   FrG   r  r  )r   rö   r   rª   r	  r
  r    r!   r"   r#   r$   r}   r&   )r   r'   rÑ   r(   r>   r=   r   r   r   Útest_apply_multiindex_fail5  s    
ýú	2r  c                 C   s4   | j dd„ dd� dd„ ¡}| d }t ||¡ d S )Nc                 S   s   | j S r   rï   r6   r   r   r   r8   P  r9   z#test_apply_corner.<locals>.<lambda>FrG   c                 S   s   | d S r³   r   r6   r   r   r   r8   P  r9   rk   )r#   r$   r    r&   )rô   r>   r=   r   r   r   Útest_apply_cornerO  s    r  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 sd0    Y  tjt|d
��  |  d¡ |¡}W d   ƒ n1 s¢0    Y  t ||¡ d S )N)r   r   éÈ   i,  )rL   rM   rm   rm   r�   )Úid_fieldÚcategoryr+   c                 S   s(   | j d dkr|  ¡ S | | jdk S d S ©Nr   r   rm   )Úshaper}   r  r6   r   r   r   Úfilt1a  s    z&test_apply_without_copy.<locals>.filt1c                 S   s$   | j d dkr| S | | jdk S d S r  )r  r  r6   r   r   r   Úfilt2g  s    z&test_apply_without_copy.<locals>.filt2r   r   r  rŸ   )rU   r  r  r(   r=   r>   r   r   r   Útest_apply_without_copyU  s    ýÿ..r  Útest_seriesc                 C   sÞ   t ddgddgddggddgg d¢d�}| rp| d¡d }|jdd	d
� dd„ ¡}| ¡ }| ¡ }t ||¡ njd}tjt|d��( |jdd	d� dd„ ¡}W d   ƒ n1 s°0    Y  | 	d¡}| 	d¡}t 
||¡ d S )Nr7   ÚpÚoÚXÚY)r   rk   rk   ©r   r   r   F)ÚlevelrH   c                 S   s   | S r   r   r6   r   r   r   r8   }  r9   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>r   r   rG   c                 S   s   | S r   r   r6   r   r   r   r8   †  r9   )r   Ú	set_indexr#   r$   Ú
sort_indexr    rI   r!   r"   rå   r&   )r  r'   Úserr>   r=   r(   r   r   r   Ú*test_apply_with_duplicated_non_sorted_axisu  s     ÿ6

r   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   rk   rk   ZGroup1ZGroup2rk   ©r   r+   r   r+   ©r   r3   c                 S   s"   |   t | j ¡ | j ¡ d ¡¡S r`   )rç   rª   r
  r   r  r  r6   r   r   r   Úreindex_helper˜  s    z1test_apply_reindex_values.<locals>.reindex_helperr   FrG   )r   r   r#   r+   r$   r    rI   )rÝ   Úindicesr'   r=   r$  r>   r   r   r   Útest_apply_reindex_valuesŽ  s    r&  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 sŽ0    Y  d|v s¤J ‚d S )Nré   rk   r   r   )Úsize)ÚfooÚbarZbazZquxrs   )rT   Úvalue1Zvalue2rT   FrG   c                 S   s   | d d | d< | S )Nr*  rk   Úvalue3r   ©rž   r   r   r   rÑ   ¯  s    z"test_apply_corner_cases.<locals>.fr   r   r+  )rª   r«   r¬   rë   r   r­   r#   r    r!   r"   r$   )ÚNÚlabelsr'   rË   rÑ   r(   r>   r   r   r   Útest_apply_corner_cases   s    ýÿ(r/  c                  C   s6  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\0    Y  t | j¡| _d}tjt|d��& |  d	g¡ dd„ ¡}W d   ƒ n1 s²0    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:0    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Ú0    Y  tjt|d��" | d¡ |¡j}W d   ƒ n1 �s0    Y  t 	||¡ d S )Nr   rk   z
2017-03-02r(  Úinf)ÚNumberÚDateÚStrr   r   r1  c                 S   s
   | j d S rƒ   ra   r6   r   r   r   r8   Å  r9   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>c                 S   s
   | j d S rƒ   ra   r6   r   r   r   r8   É  r9   r3  )r   é   é   )r(  Ú3r‹   z12:31:22rl   )r•   ry   ÚTc                 S   s   | j d dg S )Nr   ry   ra   r,  r   r   r   Úget_BÑ  s    z8test_apply_numeric_coercion_when_datetime.<locals>.get_Br•   ry   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 r†t| | jdk jjd ƒ|d< t| | jdk jjd ƒ|d< |S )	N)Úp1Úp2ÚuseTime)r   rg   Ústep1r   r9  Ústep2r:  r;  )r   rW   r   ÚStaterV   ÚMachinerÝ   ÚoTime)Ztoolr’   r   r   r   ÚpredictionsÜ  s    z>test_apply_numeric_coercion_when_datetime.<locals>.predictions)ry   ry   r•   r•   )r<  r=  r<  r=  )Ú z2016-09-19 05:24:33rB  z2016-09-19 23:59:04)Z23Z36LÚ36RrC  )ÚKeyr>  r@  r?  rD  )r   r    r!   r"   r#   r$   r%   r:   r2  rI   Ú	Timestampry   r•   r   r}   r@  r9  )r'   r(   r=   r>   r8  rA  Údf1Údf2r   r   r   Ú)test_apply_numeric_coercion_when_datetime¹  sJ    ÿ44ÿ4	üÿ22rH  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 sj0    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:00rl   )Úclientidr   Útime_delta_zeror   r   rI  c                 S   s   t | j ¡ | j ¡ dœƒS )N)Úclientid_ager   )r   rJ  r  r   )Zddfr   r   r   r8     s   ÿz?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>r   rÚ   )rI  rK  r   )r   rª   Z
datetime64r   r    r!   r"   r#   r$   Ztimedelta64r  r&   ©r'   r(   r>   r=   r   r   r   Ú-test_apply_aggregating_timedelta_and_datetime÷  s(    þÿ
ÿ"ýÿúrM  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   ry   r4  r5  rz   é(   é2   ÚNameÚValuez
2020-09-01z
2020-09-05r  rê   )r   rO  éZ   )rP  rQ  Trú   )r   r%   Ú
date_ranger#   rä   r  r    r&   )rU   r'   r>   r=   r   r   r   Ú test_apply_groupby_datetimeindex  s    "ÿrT  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 sh0    Y  t ddidgd�}d|j_d
}tjt|d��$ | jdgd� |¡}W d   ƒ n1 sÈ0    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)rA   Únnr   r   r   rC   +  r9   z'test_time_field_bug.<locals>.<listcomp>r   rn   c                 S   s   t ddiƒS )Nrm   rk   ©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   rk   ©rM   rm   )r   r   rX  r   r   r   Úfunc_with_date0  s    z+test_time_field_bug.<locals>.func_with_dater   r   rL   ©Zbyrm   rk   r   r[  Únsr\  )r   r   r    r!   r"   r#   r$   r   r3   r%   rE  Zas_unitr&   )r'   rZ  r]  r(   Zdfg_no_conversionZdfg_no_conversion_expectedZdfg_conversionZdfg_conversion_expectedr   r   r   Útest_time_field_bug%  s"    22ÿ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)rL   rL   rL   rM   rM   rM   rL   rL   rL   rM   rM   rM   )rm   rm   rÉ   rÉ   rÉ   Úerm   rm   rÉ   rÉ   rÉ   ra  )gš™™™™™ñ?rk   rl   rs   rt   ru   rk   rs   ru   rq   r   rk   )gffffff@rq   rw   r   é   é   rq   rv   ru   rt   rs   rl   )Úgroup1Úgroup2Úweightr+   rd  re  T)r  Úsortc                 S   s   t  | | ¡ d¡}|S )Nrl   )rª   ÚarrayÚrepeat)r+   rf  r’   r   r   r   ÚnoddyR  s    z7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyc                    s   ˆ | j | jƒS r   )r+   rf  r6   ©rj  r   r   r8   \  r9   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>)r   r  r#   r$   )r'   Z
df_groupedr   rk  r   Ú(test_gb_apply_list_of_unequal_len_arraysE  s    üÿ
rl  c                  C   sv   t g d¢g d¢dœƒ} dd„ }d}tjt|d��  |  d¡ |¡}W d   ƒ n1 sV0    Y  t ƒ }t ||¡ d S )	Nrp   )rq   rv   rs   rt   )r   Zrandom_varsc                 S   s   d S r   r   r6   r   r   r   Ú	test_funcd  s    z.test_groupby_apply_all_none.<locals>.test_funcr   r   r   rŸ   )Ztest_dfrm  r(   r>   r=   r   r   r   Útest_groupby_apply_all_none_  s    .rn  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 sl0    Y  tjt|d��  | d	¡ |¡}W d   ƒ n1 sª0    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   rk   )r   r   rk   rl   )r   Úvarsrœ   c                 S   s    | j d dk rd S | jddg S )Nr   rk   rø   )r  rb   r6   r   r   r   rm  s  s    z0test_groupby_apply_none_first.<locals>.test_funcr   r   r   r   r   rk   r~   rl   r   )	r   r    r!   r"   r#   r$   r   rö   r&   )
Ztest_df1Ztest_df2rm  r(   r¯   r°   Zindex1Úindex2Z	expected1Ú	expected2r   r   r   Útest_groupby_apply_none_firstn  s    ..rr  c                  C   sž   t ddgddgdœƒ} |  d¡}d}tjt|d�� | d	d
„ ¡}W d   ƒ n1 sV0    Y  tdgdtjddgdggdd gd� 	d¡d�}t 
||¡ d S )Nr   r   ZfilledÚempty)r+   r   r   r   r   c                 S   s   | | j dk d S )Nr   r+   )r+   r   r   r   r   r8   ‹  r9   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>r+   r~   )r3   r   )r   r#   r    r!   r"   r$   r   r   Úfrom_productrâ   rI   )r'   r   r(   r>   r=   r   r   r   Ú%test_groupby_apply_return_empty_chunk…  s    
,ÿþýru  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 bro   ©rs   ru   rt   rê   r•   FrG   c                 S   s   | |   ¡  S r   ©rä   r6   r   r   r   r8   ›  r9   z-test_apply_with_mixed_types.<locals>.<lambda>)gUUUUUUÕ?gUUUUUUå?r   )çš™™™™™Ù?g333333ã?rO   ©ry   rz   c                 S   s   | |   ¡  S r   rw  r6   r   r   r   r8   Ÿ  r9   )r   r@   r#   rí   r    r&   r$   )r'   rž   r>   r=   r   r   r   Útest_apply_with_mixed_types–  s    rz  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 sX0    Y  ttdgƒtdgƒgtddgdd	�d�}t ||¡ d S )
NrL   r   rk   r   r   r   c                 S   s   | j S r   r   r,  r   r   r   r8   ¨  r9   z*test_func_returns_object.<locals>.<lambda>r2   )	r   r   r    r!   r"   r#   r$   r   rI   rL  r   r   r   Útest_func_returns_object£  s    2(r{  Úgroup_column_dtlikec                 C   s†   t dg| gdœƒ}d}tjt|d��$ | d¡ dd„ ¡}W d   ƒ n1 sN0    Y  t dgtdgd	dd
�dgd�}t ||¡ d S )Nr(  rn   r   r   rL   c                 S   s   t dgdgd�S )NÚspamé*   r   rW  r6   r   r   r   r8   »  r9   z+test_apply_datetime_issue.<locals>.<lambda>r}  rV   ©rg   r3   r~  rE   )r   r    r!   r"   r#   r$   r   r&   )r|  r'   r(   r>   r=   r   r   r   Útest_apply_datetime_issue®  s    
2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 s–0    Y  tdgtj	dgdd�dd�}t 
||¡ d S )Nz2015-02-24 00:00:00)r   r   rk   rl   rs   zsome UA stringzanother UA stringZ17661101)ÚdayZ	userAgentÚuserIdc                 S   s   t dd„ |  ¡ D ƒƒS )Nc                 S   s    i | ]\}}||  ¡ jd  “qS )r   )Úvalue_countsr   )rA   rm   Úsr   r   r   Ú
<dictcomp>Þ  r9   zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>)r   Úitemsrc   r   r   r   Úmost_common_valuesÝ  s    zEtest_apply_series_return_dataframe_groups.<locals>.most_common_valuesr   r   r�  r‚  z
2015-02-24r2   r#  )r   r%   rE  r    r!   r"   r#   r$   r   ÚDatetimeIndexrI   )Ztdfr‡  r(   r>   r=   r   r   r   Ú)test_apply_series_return_dataframe_groupsÁ  s:    ûûûñÿ2ÿr‰  r  c                 C   sÜ   ddgd }| rDt 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sØJ ‚d S )Nr   rk   rt   ro   )Ú
categoriesry   )rŠ  r3   )r4  é   r   r2   r4  r‹  )rz   rÚ   r   r   )r•   ry   rz   rÚ   r•   F)Zobservedc                 S   s   |   ¡ S r   rw  r6   r   r   r   r8   û  r9   z-test_apply_multi_level_name.<locals>.<lambda>)r%   ZCategoricalÚCategoricalIndexr   r   rª   r
  r   r   r  r#   r$   r    r&   r   r   )r  rM   Zexpected_indexÚexpected_valuesr=   r'   r>   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 s¨0    Y  | rÄtj
tjd�nt}tt d¡||tj|gg d¢d�}t ||¡ d S )Nià  r   ÚredZdarkr�   r[  ÚgreenZstormyrk   Ú9iÞ  ÚblueÚbrightrl   rŽ   iÝ  Zcalmrs   Úpotato)ZobservationÚcolorZmoodZ	intensityZscorerE   r   r   r•  c                 S   s
   | j d S rƒ   ra   r,  r   r   r   r8     r9   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>)Zna_valuezdatetime64[ns]r   )r   Zfrom_recordsr%   rE  r    r!   r"   r#   r$   re   ZStringDtyperª   rá   rW   r   rg   Zint64rI   )r;   rU   r(   r>   rg   r=   r   r   r   Ú)test_groupby_apply_datetime_result_dtypes   s"    üù	4þr–  r   Úabcrl   Z2020rÚ   )rÒ   Úfreq))rL   r   )rL   r   )rM   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 sZ0    Y  t ||¡ d S )N©r   r   rk   )r   r   r   r"  r   r   r   r   FrG   c                 S   s   | S r   r   r6   r   r   r   r8   $  r9   z8test_apply_index_has_complex_internals.<locals>.<lambda>rŸ   )r   r'   r(   r>   r   r   r   Ú&test_apply_index_has_complex_internals  s
    6rš  zfunction, expected_valuesc                 C   s
   | j  ¡ S r   )r   Úto_listr6   r   r   r   r8   +  r9   c                 C   s   t | j ¡ ƒS r   )Úsetr   r›  r6   r   r   r   r8   ,  r9   c                 C   s   t | j ¡ ƒS r   )Útupler   r›  r6   r   r   r   r8   -  r9   )r   r   ©rk   rl   c                 C   s   t t| j ¡ ƒƒS r   )ÚdictÚ	enumerater   r›  r6   r   r   r   r8   /  r9   c                 C   s   dd„ t | j ¡ ƒD ƒS )Nc                 S   s   g | ]\}}||i‘qS r   r   )rA   ÚnÚir   r   r   rC   3  r9   z<lambda>.<locals>.<listcomp>)r   r   r›  r6   r   r   r   r8   3  r9   c                 C   s|   t g d¢dgd�}d}tjt|d��  | d¡ | ¡}W d   ƒ n1 sJ0    Y  t|tddgdd�d	�}t ||¡ d S )
N)r•   r•   ry   ry   r   rE   r   r   r•   ry   r2   r   ©	r   r    r!   r"   r#   r$   r   r   rI   )Úfunctionr�  r'   r(   r>   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\0    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 )Nry   )rÝ   Úflattenr   r   r   r   ÚfctD  s    z4test_apply_function_returns_numpy_array.<locals>.fct)rL   rL   rM   Únoner   rk   rl   rØ   r   r   r•   rO   rP   rQ   )rL   rM   r¨  r2   r   )r   rª   rá   r    r!   r"   r#   r$   r   r   rI   )r§  r'   r(   r>   r=   r   r   r   Ú'test_apply_function_returns_numpy_arrayB  s    . ÿr©  r¤  c                 C   s   | j S r   r   ©Úgrr   r   r   r8   R  r9   c                 C   s   | j d d S r`   r   rª  r   r   r   r8   R  r9   c                 C   sš   t g d¢dgd�}d}tjt|d��  | d¡ | ¡}W d   ƒ n1 sJ0    Y  ttg d¢ƒtg d¢ƒtdd	gƒgtg d
¢dd�d�}t ||¡ d S )N)
r   rk   rk   rk   r   rk   rl   r   rl   r   ÚidrE   r   r   )r   rs   rv   rw   )r   rk   rl   rt   ru   rq   ro   r2   r   r£  )r¤  r'   r(   r>   r=   r   r   r   Ú test_apply_function_index_returnR  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   rk   rs   rs   rt   ru   r¤   r¥   Fr¨   c                 S   s   |   ¡ S r   )r®   r6   r   r   r   r8   h  r9   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>)r¢   r£   rx   )rQ   rR   rR   )r   r#   r$   r    r&   )r'   r>   r=   r   r   r   Ú/test_apply_function_with_indexing_return_column`  s    þÿþÿr®  Úudfc                 C   s   |   ¡ S r   r—   r6   r   r   r   r8   t  r9   c                 C   s   |   ¡  dd„ ¡S )Nc                 S   s   | d S r`   r   )Úyr   r   r   r8   t  r9   z<lambda>.<locals>.<lambda>)r}   rà   r6   r   r   r   r8   t  r9   c                 C   s¾   t ddgddgdœƒ}d}tjt|d��$ |jd| d	� |¡}W d   ƒ n1 sR0    Y  |jj|j| d	� |¡}| rš|jj	dksˆJ ‚|jj	dksºJ ‚n |jj	dksªJ ‚|jj	dksºJ ‚d S )
NrL   rM   r   rk   rØ   r   r   r•   rG   )
r   r    r!   r"   r#   r$   ry   r•   r   Znlevels)rH   r¯  r'   r(   Z	df_resultZseries_resultr   r   r   Útest_apply_result_typer  s    	2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 sV0    Y  tjt|d��( | jddd� dd
„ ¡}W d   ƒ n1 sœ0    Y  t ||¡ d S )N)rk   r   rk   ro   rØ   r   r   r•   FrG   c                 S   s   | S r   r   r6   r   r   r   r8   �  r9   z4test_result_order_group_keys_false.<locals>.<lambda>c                 S   s   |   ¡ S r   r—   r6   r   r   r   r8   ‘  r9   rŸ   rL  r   r   r   Ú"test_result_order_group_keys_false‰  s    66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¶0    Y  tjt|d��( |jddd� 	dd„ ¡}W d   ƒ n1 sü0    Y  t 
||¡ d S )Nz
2001-01-01rk   z
2001-01-02z
2001-01-03ÚUTC)Útzrl   ru   )r7   r°  Útr   r   r7   FrG   c                 S   s   | ddg   ¡ S ©Nr7   r°  r—   rc   r   r   r   r8      r9   z1test_apply_with_timezones_aware.<locals>.<lambda>c                 S   s   | ddg   ¡ S r¶  r—   rc   r   r   r   r8   ¤  r9   )r%   rˆ  r   r   r   r    r!   r"   r#   r$   r&   )ÚdatesZindex_no_tzZindex_tzrF  rG  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 s†0    Y  t ||¡ |jdd�}t	| |ƒ}t
|| ƒ|Ž }tjt|dd�� |jtdd�}W d   ƒ n1 sô0    Y  t ||¡ d S )N)éc   r¹  r¹  éX   rº  rº  )r   rk   rl   rs   rt   ru   )r   r4  r5  rN  rO  é<   r{   é   ru   é–   r»  r\  rº  r¹  rL   r2   r   r^  ú:The behavior of DataFrame.sum with axis=None is deprecatedF)r   Úcheck_stacklevel©Úinclude_groups)r   r   r#   r    r!   r"   r$   rä   r&   r
   Úgetattr)Zreduction_funcr'   r=   Úgrpr(   r>   ÚargsÚ_r   r   r   Ú;test_apply_is_unchanged_when_other_methods_are_called_firstª  s*    ýÿþ,
,rÆ  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 s”0    Y  | jg d¢ }| 	¡ }t
 |g d¢ ¡|_|jd	d�}t ||¡ |jjd D ]}t|ƒtu sìJ ‚qìd S )N)rL   rL   rL   rM   iä  r   r   rk   r�   rê   )r   ée   éf   ég   Úidxr2   r   r•   ry   r   r   c                 S   s
   |   d¡S r`   r´   r6   r   r   r   r8   Þ  r9   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>)r   rk   rl   )r•   ry   rÊ  rE   )r   r   r   r#   r    r!   r"   r$   rb   r   r   Z
from_framer   râ   r&   ZlevelsÚtype)r'   rÃ  r(   r>   r=   Úvalr   r   r   Ú@test_apply_with_date_in_multiindex_does_not_convert_to_timestampÊ  s,    



üø
õ,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 sh0    Y  | dd„ ¡}d}tjt|d	�� | j
dd
d�}W d   ƒ n1 s¶0    Y  | dd„ ¡}t ||j	¡ t || ¡ d S )Nrk   ru   rs   r•   ry   r   rE   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   ©rZ   r  c                 S   s   | j ddd�S )Nr   rÎ  ©Z	droplevelr6   r   r   r   r8   ø  r9   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>r\   c                 S   s   | j ddd�S )Nr   r   rÎ  rÏ  r6   r   r   r   r8   ý  r9   )r   rª   r«   r¬   r   rt  r    r!   r"   r7  r#   r$   r&   )r'   r(   rh   Zby_rowsZgb2Zby_colsr   r   r   Ú2test_apply_by_cols_equals_apply_by_rows_transposedê  s    þ.,rÐ  Ú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 sj0    Y  | r€| 	¡ n|j
g d¢ }t ||¡ d S )N©r   rk   rl   rs   rt   rL   rM   )Úcolr   Zxxyxzr   r   r   r   F)rÑ  rH   c                 S   s   | S r   r   r6   r   r   r   r8     r9   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>)r   rl   r   rk   rs   )r   rª   rá   r   r    r!   r"   r#   r$   rÑ  rb   r&   )rÑ  r'   r(   r>   r=   r   r   r   Ú#test_apply_dropna_with_indexed_same  s    þû8rÔ  zas_index, expected)r   r   r   )rk   rk   r   )rL   rM   N)rg   zTODO(infer_string))Úreason)Zmarksr¶   )rk   rk   rM   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 s`0    Y  t ||¡ d S )Nr!  )r   r   r   r   r{   r   r   rL   rM   r¨   c                 S   s   dS r`   r   r6   r   r   r   r8   ,  r9   z5test_apply_as_index_constant_lambda.<locals>.<lambda>)r   r    r!   r"   r#   r$   Zassert_equal)r©   r=   r'   r(   r>   r   r   r   Ú#test_apply_as_index_constant_lambda  s
    :rÖ  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 s`0    Y  ttddƒtj	g d¢d	d gd�dd�}t 
||¡ d S )NrÒ  )ru   rv   rq   rw   r   )r   r   r   rk   rk   rê   rt   r   r   r   rz   c                 S   s
   | j  ¡ S r   )r•   r  r6   r   r   r   r8   8  r9   z(test_sort_index_groups.<locals>.<lambda>r   ru   )r¸   r¶   r¹   rž  r·   r~   r•   r#  )r   r   r    r!   r"   r#   r$   r   r   r¼   rI   rL  r   r   r   Útest_sort_index_groups0  s    þ2ÿûr×  c                  C   sŠ   t tjdddd�tdƒtdƒdœƒ} d}tjt|d��4 | j| j	| j
jj
gd	d
� dd„ ¡}W d   ƒ n1 sp0    Y  t || ¡ d S )Nz
2010-01-01Z12hrt   )r˜  rÒ   rº   )r   ÚvalsÚletr   r   FrG   c                 S   s   | j dd … S rƒ   ra   r6   r   r   r   r8   P  r9   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>)r   r%   rS  r   r   r    r!   r"   r#   rÙ  r   Údtr$   r&   )r=   r(   r>   r   r   r   Ú)test_positional_slice_groups_datetimelikeC  s    ýÿÿþ"rÛ  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)rL   rL   rM   ro   rv  rê   r•   ry   rz   c                 S   s   |   t¡ ¡ |  ¡  S r   )ZastypeÚfloatr  r  r6   r   r   r   r8   X  r9   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>rO   r  rP   ry  rL   rM   r2   r   )r   r#   r$   r   r    r&   )r'   rh   r>   r=   r   r   r   Ú%test_groupby_apply_shape_cache_safetyT  s    
ÿrÝ  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)rL   rM   rL   rM   )ÚaaÚacrß  Úad)rÞ  rÞ  rÞ  rß  )rL   Úb1Úb2rL   rá  râ  c                 S   s   |   ¡  ¡ S r   )Zunstackrƒ  r6   r   r   r   r8   j  r9   z3test_groupby_apply_to_series_name.<locals>.<lambda>)rL   rL   rM   rM   rM   )rÞ  rß  rß  rà  rÞ  )Zarraysr   )rl   r   rk   r   r   r“   r#  )	r   Ú	from_dictr#   r$   r   rö   r   r    rI   )r'   rÃ  r>   Zexpected_idxr=   r   r   r   Ú!test_groupby_apply_to_series_name`  s    ýÿþrä  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 sh0    Y  tjt|d	�� | dd„ ¡}W d   ƒ n1 s¤0    Y  t ||¡ d S )Nr!  )r   r   rk   rt   r   rk   )rÃ  r°  ÚzrÃ  )rÑ  r   r   c                 S   s   |   dd¡S )Nr   rå  )Únlargest)Zgrp_dfr   r   r   r8   }  r9   ztest_apply_na.<locals>.<lambda>c                 S   s   | j ddd� d¡S )Nrå  F)Z	ascendingr   )rå   rµ   r6   r   r   r   r8     r9   )	r   rª   rá   r#   r    r!   r"   r$   r&   )rÑ  r'   Zdfgrpr(   r>   r=   r   r   r   Útest_apply_nat  s    ÿ,,rç  c                  C   sÄ   d} t jt| d��J tg d¢g d¢tjg d¢dd�dœƒ d	d
g¡ dd„ ¡}W d   ƒ n1 sb0    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!  )rB  rB  rB  rB  r�   r„  )Úunitr{   rL   rM   c                 S   s
   | j d S ©Nrø   ra   rc   r   r   r   r8   �  r9   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>r   rB  rk   rs   )r   rB  )rk   rB  r~   r  )r    r!   r"   r   r%   r:   r#   r$   r   r¼   r&   )r(   r>   r=   r   r   r   Ú&test_apply_empty_string_nan_coerce_bugƒ  s&    ýÿùøÿ &ýrê  Úindex_values)rO   rP   rQ   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 sz0    Y  t ||¡ d S )N)rÞ  Úa2Úa3ro   rn   r   Úb_mean)rP   rQ   rO   )rì  rí  rÞ  rL   r2   r   r   c                 S   s   t | d  ¡ gdgd�S )NrM   rî  r   )r   r®   rc   r   r   r   r8   ­  r9   z0test_apply_index_key_error_bug.<locals>.<lambda>)r   r   r    r!   r"   r#   r$   r&   )rë  r>   r=   r(   r   r   r   Útest_apply_index_key_error_bugš  s"    þûÿü
ÿ"rï  zarg,idx)çš™™™™™¹?ç333333Ó?çš™™™™™É?)rð  rò  rñ  )r   rs   rl   )rð  rx  rò  c                 C   sj   t d| i|d�}d}tjt|d��( |jddd� dd„ ¡}W d   ƒ n1 sP0    Y  t ||¡ d S )	NrÓ  r   r   r   FrG   c                 S   s   | S r   r   r6   r   r   r   r8   à  r9   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>rŸ   )ÚargrÊ  r=   r(   r>   r   r   r   Ú#test_apply_nonmonotonic_float_index²  s
    +6rô  zargs, kwargsÚnumeric_onlyc                 C   s>   |   d¡}|jdg|¢R i |¤Ž}|jdd�}t ||¡ d S )Nr•   rä   T)rõ  )r#   r$   rä   r    r&   )r'   rÄ  Úkwargsrh   r>   r=   r   r   r   Útest_apply_str_with_argsä  s    
r÷  r3   Z	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   rk   r2   rL   FrG   c                 S   s   | S r   r   r6   r   r   r   r8   ñ  r9   z1test_result_name_when_one_group.<locals>.<lambda>)r   r#   r$   r    rI   )r3   r  r>   r=   r   r   r   Útest_result_name_when_one_groupí  s    rø  z
method, opr$   c                 C   s
   | j d S ré  )rÝ   ©rh   r   r   r   r8   ú  r9   c                 C   s   | d j d S )NrM   r   ra   rù  r   r   r   r8   û  r9   )ÚaggZ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 )	Nrn   rL   TrG   rM   rX   r  )r3   rg   r   )r   r#   rÂ  r   r   r    rI   )ÚmethodÚopZempty_dfrh   r   r>   r=   r   r   r   Útest_empty_df÷  s    
ÿrþ  rÁ  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 sf0    Y  t d
d
gddgdœtdd
gdd�d�}| s¤|dg }t ||¡ d S )Nr™  )rl   rs   rt   rn   rL   r   r   c                 S   s   |   ¡ S r   rw  r6   r   r   r   r8     r9   z%test_include_groups.<locals>.<lambda>rÀ  rk   rv   rt   r   r2   r   rM   )r   r#   r"   r    r!   r$   r   r&   )rÁ  r'   rh   Úwarnr(   r>   r=   r   r   r   Útest_include_groups  s    
0&
r   rÑ   r[   ÚjimÚjoec                    sÒ  t j d¡}t| ddd¡ddgd�}| d¡|d	< | | ¡}|j‰ |turPd nt	}d
}t
j||ddd�� | |¡}W d   ƒ n1 sŠ0    Y  t|j| d�ƒ}d|j› d|› d�}	|j|dfksÎJ |	ƒ‚‡ fdd„‰d}t
jt	|d�� | ˆ¡}
W d   ƒ n1 �s0    Y  t
 ||
¡ t
jt	|d��" | ‡fdd„¡}W d   ƒ n1 �s\0    Y  t
 ||¡ |tk�rª| ˆ ¡ ¡ }
|
j| ddd� t
j||
dd� t
 t|ˆ ƒdd�t|ˆ ƒdd�¡ d S )Nrk   r   rv   )r   rk   r  r  rE   r   Zjolier¾  F)r   r¿  Zraise_on_extra_warnings)Zsubsetzinvalid frame shape: z (expected (z, 3))rl   c                    s   t tˆ ƒ| dd�S )Nr   r_   )rÂ  rª   r6   )Úfnamer   r   r8   6  r9   z%test_builtins_apply.<locals>.<lambda>r   r   c                    s   ˆ | ƒS r   r   r6   )Únpfuncr   r   r8   =  r9   T)rû   râ   )Zcheck_dtyper   r_   )rª   r«   r¬   r   rë   r­   r#   Ú__name__rä   r"   r    r!   r$   rÇ   Zdrop_duplicatesr  r&   rú  r   r  rI   rÂ  )r[   rÑ   Úrsr'   rh   rÿ  r(   r>   ZngroupsZ
assert_msgr=   rq  r   )r  r  r   Útest_builtins_apply  s6    
ÿ(*2
r  )hr   r   Únumpyrª   ZpytestZpandas._configr   Zpandasr%   r   r   r   r   r	   Zpandas._testingZ_testingr    Zpandas.tests.groupbyr
   r)   r?   rJ   ri   rj   ÚmarkZparametrizer   r   rˆ   r”   r™   r    r±   rÁ   rÌ   r×   rÙ   rÛ   rß   rã   rì   rî   rõ   r÷   rü   r  r  r  r  r   r&  r/  rH  rM  rT  r`  rl  rn  rr  ru  rz  r{  ÚtodayrD   r€  r‰  rŽ  r–  rŒ  Zinterval_rangeZperiod_ranger¼   rš  r¥  r©  r­  r®  r±  r²  r¸  rÆ  rÍ  rÐ  rÔ  ÚparamrW   ZxfailrÖ  r×  rÛ  rÝ  rä  rç  rê  rï  rô  r÷  rø  rþ  r   r  r  rä   r  r   r   r   r   Ú<module>   sn  (*ýÿø
"ðì
.üþ	
*)

 
> þ
(

üþ	
	þþøþ


þ  
ÿûÿþøþ
	

úúúçþ)
	

	

ûþ


