U
    ÎZjK¤  ã                   @   s”  d dl mZm Z  d dl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lmZ dd„ Zd	d
„ Zdd„ Zejjde	dddddgdddddgdœƒdddgfe	d d ddgd dd dgdœƒd dgfe	ddgiƒdgfe	ddddddddgedƒdœƒddgfe	ddddddgddddddgdœƒdddgfe	edƒddddddddddg
dd ddddddddg
dœƒdddgfe	dddgdddggdddgd�ddgfgdd d!d"d#d$d%g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„ Z0ej dZdLdMg¡d[d\„ ƒZ1d]d^„ Z2d_d`„ Z3dadb„ Z4dcdd„ Z5dedf„ Z6dgdh„ Z7didj„ Z8dkdl„ Z9dmdn„ Z:dodp„ Z;dqdr„ Z<dsdt„ Z=ej due  >¡ e  >¡  ¡ e  >¡  ?¡ g¡dvdw„ ƒZ@dxdy„ ZAej dzdMdLg¡d{d|„ ƒZBd}d~„ ZCej de Ded€ƒ¡e Ed d¡ejFd�dd‚dƒ�e Gd„d…d†g¡g¡d‡dˆ„ ƒZHe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’„ ƒZId“d”„ ZJej d•d–d/„ d—d/„ g¡d˜d™„ ƒZKdšd›„ ZLej dœd�d/„ džd/„ g¡ej dKdLdMg¡dŸd „ ƒƒZMd¡d¢„ ZNd£d¤„ ZOd¥d¦„ ZPd§d¨„ ZQd©dª„ ZRd«d¬„ ZSej d­dLdMg¡d®d¯„ ƒZTej d°dMe	dddgdddgge
dddgeUd±�d�gdLeddgejGd²d³gddgd´�dµ�gg¡d¶d·„ ƒZVd¸d¹„ ZWdºd»„ ZXd¼d½„ ZYej d­dLdMg¡d¾d¿„ ƒZZdÀdÁ„ Z[ej dÂdddgdÃdÄdÅgg¡dÆdÇ„ ƒZ\ej dÈdddgdÉdÊdËggdddgdÉdËdÊggdddgdÉdÌdËg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ÝdÞg¡dßdà„ ƒZ`dS )áé    )ÚdateÚdatetime)ÚStringION)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚbdate_range)Ú
Int64Index)Úget_groupby_method_argsc                  C   sÎ   d} t jt| ƒd dddgddggd�}| d¡}| |jj¡ ¡ }| |jj¡ dd„ ¡}t	 
||¡ t jt| ƒd dddgd	�}td
ddgtdd�}tdddg|d�}|jddd� dd„ ¡}t	 ||¡ d S )Na+  2011.05.16,00:00,1.40893
2011.05.16,01:00,1.40760
2011.05.16,02:00,1.40750
2011.05.16,03:00,1.40649
2011.05.17,02:00,1.40893
2011.05.17,03:00,1.40760
2011.05.17,04:00,1.40750
2011.05.17,05:00,1.40649
2011.05.18,02:00,1.40893
2011.05.18,03:00,1.40760
2011.05.18,04:00,1.40750
2011.05.18,05:00,1.40649r   ÚtimeÚvalue)ÚheaderÚnamesZparse_datesÚ	date_timec                 S   s   |   ¡ S ©N©Úidxmax©Úx© r   úb/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/groupby/test_apply.pyÚ<lambda>0   ó    z#test_apply_issues.<locals>.<lambda>)r   r   z
2011.05.16z
2011.05.17z
2011.05.18©ÚdtypeÚnamez00:00z02:00©ÚindexF©Ú
group_keysc                 S   s   | d | d   ¡  S )Nr   r   r   r   r   r   r   r   ;   r   )ÚpdZread_csvr   Ú	set_indexÚgroupbyr   r   r   ÚapplyÚtmÚassert_frame_equalr   Úobjectr   Úassert_series_equal)ÚsÚdfÚexpectedÚresultZexp_idxr   r   r   Útest_apply_issues   s,    ü
  ÿÿr-   c                     sŽ   t dddddgdddddgdœd	d
gd�‰ tjˆ jdd … ˆ jdd … gdddgd�} ˆ jdd„ ˆ jD ƒdd� ‡ fdd„¡}t || ¡ d S )NÚaÚbç      ð?ç       @ç      @ç      @ç      @©ÚkeyÚdatar6   r7   ©Úcolumnsé   Úfloat64r'   ©ÚaxisÚkeysc                 S   s   g | ]}t |ƒ‘qS r   ©Ústr©Ú.0r   r   r   r   Ú
<listcomp>H   s     z&test_apply_trivial.<locals>.<listcomp>©r=   c                    s   ˆ j dd … S ©Nr:   ©Úilocr   ©r*   r   r   r   I   r   z$test_apply_trivial.<locals>.<lambda>)	r   r!   ÚconcatrG   r#   Údtypesr$   r%   r&   ©r+   r,   r   rH   r   Útest_apply_trivial@   s    þ,
ÿrL   c                     s|   t dddddgdddddgdœd	d
gd�‰ tjˆ ˆ gdddgd�} ˆ jdd„ ˆ jD ƒddd� ‡ fdd„¡}t || ¡ d S )Nr.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r:   r;   r'   r<   c                 S   s   g | ]}t |ƒ‘qS r   r?   rA   r   r   r   rC   V   s     z+test_apply_trivial_fail.<locals>.<listcomp>T)r=   r    c                    s   ˆ S r   r   r   rH   r   r   r   W   r   z)test_apply_trivial_fail.<locals>.<lambda>)r   r!   rI   r#   rJ   r$   r%   r&   rK   r   rH   r   Útest_apply_trivial_failO   s    þ
ÿrM   zdf, group_namesr:   é   é   r.   r/   Úc©r.   r/   é   é   é   é   é   é	   )r.   ÚtwoZ
aaabbbcccc)r.   ÚBÚCr8   ZGH2936zGH7739 & GH10519ZGH10519ZGH2656ZGH12155ZGH20084ZGH21417)Zidsc                    s‚   g ‰ ‡ fdd„}‡ fdd„}‡ fdd„}‡ fdd„}‡ fd	d
„}|||||fD ].}ˆ d d …= | j ddd� |¡ ˆ |ksNt‚qNd S )Nc                    s   ˆ   | j¡ |  ¡ S r   )Úappendr   Úcopy©Úgroup©r   r   r   Úf_copyˆ   s    z/test_group_apply_once_per_group.<locals>.f_copyc                    s   ˆ   | j¡ | S r   ©r[   r   r]   r_   r   r   Úf_nocopy�   s    z1test_group_apply_once_per_group.<locals>.f_nocopyc                    s   ˆ   | j¡ dS ©Nr   ra   r]   r_   r   r   Úf_scalar’   s    z1test_group_apply_once_per_group.<locals>.f_scalarc                    s   ˆ   | j¡ d S r   ra   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:   rQ   )r[   r   r   r]   r_   r   r   Úf_constant_dfœ   s    z6test_group_apply_once_per_group.<locals>.f_constant_dfr.   Fr   )r#   r$   ÚAssertionError)r*   Zgroup_namesr`   rb   rd   re   rf   Úfuncr   r_   r   Útest_group_apply_once_per_group]   s    '
ri   c              
   C   s~   d}t ddddddddgdddddd	d
dgdœdddddd	d
dgd�}|jddd� dd„ ¡ |  ¡ j d¡}||kszt‚d S )NrN   r   r:   Ú0Ú2Ú4Ú6Ú8Ú10Z12Z14)Úgroup_by_columnZtest_columnr   rp   Fr   c                 S   s   t dƒS )NÚfunction_called)ÚprintrH   r   r   r   r   ·   r   z2test_group_apply_once_per_group2.<locals>.<lambda>rq   )r   r#   r$   Z
readouterrÚoutÚcountrg   )Zcapsysr+   r*   r,   r   r   r   Ú test_group_apply_once_per_group2¨   s    þûÿru   c                  C   s`   t dddgtdƒdœƒ} dd„ }dd„ }| jd	d
d� |¡}| jd	d
d� |¡}t ||¡ d S )Nr   r:   rO   )ÚAr/   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>.fastrv   Fr   )r   Úranger#   r$   r%   r&   )r*   rw   ry   Zfast_dfZslow_dfr   r   r   Útest_apply_fast_slow_identical¿   s    r{   rh   c                 C   s   | S r   r   r   r   r   r   r   Õ   r   r   c                 C   s   | d d … S r   r   r   r   r   r   r   Ö   r   c                 C   s   | j dd�S )NF©Údeeprx   r   r   r   r   r   ×   r   c                 C   s   | j dd�S )NTr|   rx   r   r   r   r   r   Ø   r   c                 C   sL   t ddddgddddgddddgd	œƒ}|jd
dd� | ¡}t ||¡ d S )Nr:   rN   rO   rS   rT   rU   rV   rR   )Úgr.   r/   r~   Fr   ©r   r#   r$   r%   r&   )rh   r*   r,   r   r   r   Ú5test_groupby_apply_identity_maybecopy_index_identicalÒ   s    (r€   c                  C   s¤   t tj d¡ddddddgdœƒ} | jdd„ dd	�j}| j}t ||¡ t d
dddddgiƒ} | jd | d< |  	d¡ 
¡  ¡ j}| j	ddd� 
¡ j}t ||¡ d S )NrU   ÚonerX   Úthree©Úfoo1Zfoo2c                 S   s   | S r   r   r   r   r   r   r   ï   r   z-test_apply_with_mixed_dtype.<locals>.<lambda>r:   rD   Úc1rN   rR   r1   Úc2F©Úas_index)r   ÚnpÚrandomÚrandnr$   rJ   r%   r(   r…   r#   ÚmeanÚreset_indexr†   )r*   r,   r+   Úresult1Úresult2r   r   r   Útest_apply_with_mixed_dtypeç   s    
þÿr�   c                  C   sR  t ddddddgddddddgtdƒdœƒ} | jd	d
d�}| jd	dd�}| d¡j}| d¡j}tddddgƒ}t ||¡ t ||¡ | dd„ ¡j}| dd„ ¡j}t	 
ddddg¡}ddddg}	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�} | jdddd� dd„ ¡j}t ||¡ d S ) Nr/   r.   rP   r:   rN   rO   rU   )Zitem_idÚuser_idr   r‘   Tr‡   Fr   rS   c                 S   s
   |   d¡S ©NrN   ©Úheadr   r   r   r   r     r   z-test_groupby_as_index_apply.<locals>.<lambda>c                 S   s
   |   d¡S r’   r“   r   r   r   r   r     r   )r   r   )r   rN   ©r:   r:   ©rN   rS   ©r:   r   ©r:   rN   )rN   r:   )rO   rS   r_   ÚabcderT   r   )rˆ   r    c                 S   s   | S r   r   r   r   r   r   r     r   )r   rz   r#   r”   r   r   r%   Úassert_index_equalr$   r   Úfrom_tuplesÚlist)r*   Zg_asZg_not_asZres_asZ
res_not_asÚexpZres_as_applyZres_not_as_applyZexp_not_as_applyÚtpZexp_as_applyÚindÚresr   r   r   Útest_groupby_as_index_applyû   s0    ýÿ*r¡   c                 C   sx   |   ddg¡}dd„ }dd„ }dd„ }| |¡}|jjd	ks@t‚| |¡}|jjd	ksZt‚| |¡}|jjd
kstt‚d S )Nrv   rY   c                 S   s   |   ¡ }d|j_|S ©NÚstat)Údescriber   r   ©r^   r,   r   r   r   Údesc#  s    z.test_apply_concat_preserve_names.<locals>.descc                 S   s$   |   ¡ }d|j_|d t| ƒ… }|S r¢   )r¤   r   r   Úlenr¥   r   r   r   Údesc2(  s    z/test_apply_concat_preserve_names.<locals>.desc2c                 S   s0   |   ¡ }dt| ƒd›�|j_|d t| ƒ… }|S )NZstat_Úd)r¤   r§   r   r   r¥   r   r   r   Údesc3/  s    z/test_apply_concat_preserve_names.<locals>.desc3)rv   rY   r£   )rv   rY   N)r#   r$   r   r   rg   )Zthree_groupÚgroupedr¦   r¨   rª   r,   r�   Zresult3r   r   r   Ú test_apply_concat_preserve_names   s    



r¬   c                  C   sf   dd„ } t ddd�}ttj d¡|d�}|jdd„ d	d
�}| | ¡}t|tƒsRt	‚t
 |j|j¡ d S )Nc              	   S   s:   t jdd�� t  | ¡}W 5 Q R X t| | |  ¡  |dœƒS )NÚignore)Úinvalid)r   ZdemeanedÚlogged)r‰   ZerrstateÚlogr   rŒ   )Zpiecer¯   r   r   r   ÚfD  s
    ÿz%test_apply_series_to_frame.<locals>.fz1/1/2000éd   )Úperiodsr   c                 S   s   | j S r   ©Úmonthr   r   r   r   r   N  r   z,test_apply_series_to_frame.<locals>.<lambda>Fr   )r	   r   r‰   rŠ   r‹   r#   r$   Ú
isinstancer   rg   r%   rš   r   )r±   ZdrÚtsr«   r,   r   r   r   Útest_apply_series_to_frameC  s    
r¸   c                 C   s4   |   ddg¡d  t¡}|jjd d… dks0t‚d S )Nrv   rY   rZ   rN   ©rv   rY   )r#   r$   r§   r   r   rg   ©r*   r,   r   r   r   Ú test_apply_series_yield_constantU  s    r»   c                 C   sl   |   ddg¡ t¡}t|tƒs"t‚|jd ks0t‚|   ddg¡ddg  t¡}t|tƒsZt‚|jd ksht‚d S )Nrv   rY   rZ   ÚD)r#   r$   r§   r¶   r   rg   r   rº   r   r   r   Útest_apply_frame_yield_constantZ  s    r½   c                 C   sH   |   ddg¡}| t¡}| ¡ d }t |j|j¡ t |j|j¡ d S )Nrv   rY   rZ   )	r#   r$   r§   rt   r%   rš   r   Úassert_numpy_array_equalÚvalues©r*   r«   r,   r+   r   r   r   Útest_apply_frame_to_seriese  s
    
rÁ   c                 C   s^   | j ddgdd�}| t¡}| ¡ jdtjid�jdd�}t 	|j
|j
¡ t |j|j¡ d S )Nrv   rY   Fr‡   rZ   r8   r¼   )r#   r$   r§   rt   Úrenamer‰   ÚnanÚdropr%   rš   r   r¾   r¿   rÀ   r   r   r   Ú)test_apply_frame_not_as_index_column_namem  s
    
rÅ   c                     sŠ   dd„ } ‡ fdd„}t tj ddd¡tj ddd¡tj d¡dœƒ‰ ˆ  d	¡ | ¡}ˆ  d	¡d
  |¡}tj||dd� |j	d
ks†t
‚d S )Nc                 S   s    |   d¡d  ¡  ¡ jd d… S )NrY   rZ   rN   )r#   ÚsumÚsort_valuesrG   r]   r   r   r   Útransx  s    z-test_apply_frame_concat_series.<locals>.transc                    s,   |   ˆ  | j¡d ¡}| ¡  ¡ jd d… S )NrY   rN   )r#   Úreindexr   rÆ   rÇ   rG   )r^   r«   rH   r   r   Útrans2{  s    z.test_apply_frame_concat_series.<locals>.trans2r   rT   éè  ©rv   rY   rZ   rv   rZ   F)Zcheck_names)r   r‰   rŠ   Úrandintr‹   r#   r$   r%   r(   r   rg   )rÈ   rÊ   r,   r�   r   rH   r   Útest_apply_frame_concat_seriesw  s    
ýÿrÎ   c                 C   s>   | j dd„ dd�}| dd„ ¡}| dd„ ¡}t ||¡ d S )Nc                 S   s   | j S r   r´   r   r   r   r   r   Ž  r   z&test_apply_transform.<locals>.<lambda>Fr   c                 S   s   | d S r’   r   r   r   r   r   r   �  r   c                 S   s   | d S r’   r   r   r   r   r   r   �  r   )r#   r$   Ú	transformr%   r(   )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   ©Úyearr   r   r   r   r   •  r   z,test_apply_multikey_corner.<locals>.<lambda>c                 S   s   | j S r   r´   r   r   r   r   r   •  r   c                 S   s   |   d¡dd … S )Nrv   éûÿÿÿ©rÇ   r]   r   r   r   r±   —  s    z%test_apply_multikey_corner.<locals>.f)r#   r$   r%   r&   Úloc)Útsframer«   r±   r,   r6   r^   r   r   r   Útest_apply_multikey_corner”  s
    
r×   r    TFc              
   C   sŒ   t dddddddddg	tdƒdœƒ}|jd| d� dd	„ ¡}| d
dddddg¡}| r|tjddddddg|jgdd gd�|_t 	||¡ d S )Nr:   rN   rO   rW   )r6   r   r6   r   c                 S   s   | j d d… S r’   rF   r   r   r   r   r   ¤  r   z'test_apply_chunk_view.<locals>.<lambda>r   rS   rU   rV   r_   )
r   rz   r#   r$   Ztaker   Úfrom_arraysr   r%   r&   )r    r*   r,   r+   r   r   r   Útest_apply_chunk_viewŸ  s    $ ÿrÙ   c                  C   s`   t ddddddddddg
ddddddddddg
tdddƒdœƒ} |  ddg¡}| d	d
„ ¡ d S )Nr:   rN   r   rW   éÿÿÿÿ)r   Úname2r   r   rÛ   c                 S   s   | j ddd�S )Nr   T©ZinplacerÔ   r   r   r   r   r   ¹  r   z4test_apply_no_name_column_conflict.<locals>.<lambda>)r   rz   r#   r$   )r*   r«   r   r   r   Ú"test_apply_no_name_column_conflict®  s    
ýÿ	rÝ   c                  C   s|   t ddddddgt dddgd¡t dd¡dœƒ} d	d
„ }| jddd� |¡}|  ¡ }t dddgd¡|d< t ||¡ d S )Nr0   r1   r.   r/   rP   rN   ç      @©r©   rP   Úvc                 S   s,   | d }||  ¡  | ¡ |  ¡   | d< | S ©Nrà   Úv2©ÚminÚmax©r^   rà   r   r   r   r±   Å  s     z#test_apply_typecast_fail.<locals>.fr©   Fr   ç        ç      à?r:   râ   )	r   r‰   ÚtileÚaranger#   r$   r\   r%   r&   )r*   r±   r,   r+   r   r   r   Útest_apply_typecast_fail¼  s    
ýÿrë   c               	   C   s¦   t  ddddddgddddddgg¡} tddddddgt ddd	gd¡t dd
¡dœ| d�}dd„ }|jddd� |¡}| ¡ }t dddgd¡|d< t	 
||¡ d S )Nr   r:   rN   rO   r0   r1   r.   r/   rP   rÞ   rß   r   c                 S   s,   | d }||  ¡  | ¡ |  ¡   | d< | S rá   rã   ræ   r   r   r   r±   Ý  s     z%test_apply_multiindex_fail.<locals>.fr©   Fr   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_failÒ  s    &
ýú	rì   c                 C   s4   | j dd„ dd� dd„ ¡}| d }t ||¡ d S )Nc                 S   s   | j S r   rÑ   r   r   r   r   r   ë  r   z#test_apply_corner.<locals>.<lambda>Fr   c                 S   s   | d S r’   r   r   r   r   r   r   ë  r   rN   )r#   r$   r%   r&   )rÖ   r,   r+   r   r   r   Útest_apply_cornerê  s    rí   c                  C   sh   t ddddgddddgddd	d
gdœƒ} dd„ }dd„ }|  d¡ |¡}|  d¡ |¡}t ||¡ d S )Nr²   éÈ   i,  r.   r/   rP   r:   rN   rO   rS   )Úid_fieldÚcategoryr   c                 S   s(   | j d dkr|  ¡ S | | jdk S d S ©Nr   r:   rP   )Úshaper\   rð   r   r   r   r   Úfilt1ü  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ð   r   r   r   r   Úfilt2  s    z&test_apply_without_copy.<locals>.filt2rï   r   )r7   ró   rô   r+   r,   r   r   r   Útest_apply_without_copyð  s    


ýÿrõ   Útest_seriesc                 C   s®   t ddgddgddggddgdddgd�}| rr| d¡d }|jd	d
d� dd„ ¡}| ¡ }| ¡ }t ||¡ n8|jdd
d� dd„ ¡}| d¡}| d¡}t ||¡ d S )Nr   ÚpÚoÚXÚYr:   rN   ©r9   r   r   F)Úlevelr    c                 S   s   | S r   r   r   r   r   r   r     r   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>r   c                 S   s   | S r   r   r   r   r   r   r     r   )	r   r"   r#   r$   Ú
sort_indexr%   r(   rÇ   r&   )rö   r*   Úserr,   r+   r   r   r   Ú*test_apply_with_duplicated_non_sorted_axis  s      ÿ

rÿ   c                  C   sn   ddddg} ddddg}t ddgd | dœ|d�}t| |d	d
�}dd„ }|jddd�j |¡}t ||¡ d S )Nr:   rN   rO   rS   ZGroup1ZGroup2©r^   r   r   r   ©r   r   c                 S   s"   |   t | j ¡ | j ¡ d ¡¡S rE   )rÉ   r‰   rê   r   rä   rå   r   r   r   r   Úreindex_helper.  s    z1test_apply_reindex_values.<locals>.reindex_helperr^   Fr   )r   r   r#   r   r$   r%   r(   )r¿   Úindicesr*   r+   r  r,   r   r   r   Útest_apply_reindex_values$  s    r  c                  C   sn   d} t jjdd| d�}t|t j | ¡ddddg| d	  d
œƒ}|jddd�}dd„ }| |¡}d|ksjt‚d S )NrË   r   r²   )ÚsizeÚfooÚbarZbazZquxrS   )r6   Úvalue1Zvalue2r6   Fr   c                 S   s   | d d | d< | S )Nr  rN   Úvalue3r   ©r~   r   r   r   r±   E  s    z"test_apply_corner_cases.<locals>.fr	  )r‰   rŠ   rÍ   r   r‹   r#   r$   rg   )ÚNÚlabelsr*   r«   r±   r,   r   r   r   Útest_apply_corner_cases6  s    
ýÿ
r  c                  C   sN  t ddgdgd ddgdœƒ} |  dg¡ dd	„ ¡}t | j¡| _|  dg¡ d
d	„ ¡}t |d |d ¡ t dddgdddgt d¡gd dœƒ} dd„ }|  d¡ |¡d }| j	}| j
|_t ||¡ dd„ }t ddddgddddgddddgdd d!d!gd"œƒ}| ¡ }t |j¡|_| d#¡ |¡j}| d#¡ |¡j}t ||¡ d S )$Nr:   rN   z
2017-03-02r  Úinf)ÚNumberÚDateÚStrr  c                 S   s
   | j d S rc   rF   r   r   r   r   r   W  r   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>c                 S   s
   | j d S rc   rF   r   r   r   r   r   Y  r   r  é
   é   é   Ú3rl   z12:31:22rO   )rv   rY   ÚTc                 S   s   | j d dg S )Nr   rY   rF   r
  r   r   r   Úget_Ba  s    z8test_apply_numeric_coercion_when_datetime.<locals>.get_Brv   rY   c                 S   sŒ   t dddgtd�}dt| jƒkr>t| | jdk jjd ƒ|d< dt| jƒkrˆt| | jdk jjd ƒ|d< t| | jdk jjd ƒ|d< |S )NÚp1Zp2ZuseTime)r   r   Ústep1r   Ústep2)r   r'   rœ   ÚStater@   ÚMachiner¿   ÚoTime)Ztoolrs   r   r   r   Úpredictionsj  s    z>test_apply_numeric_coercion_when_datetime.<locals>.predictionsr  r  Ú z2016-09-19 05:24:33z2016-09-19 23:59:04Z23Z36LZ36R)ÚKeyr  r  r  r   )r   r#   r$   r!   Úto_datetimer  r%   r(   Ú	TimestamprY   rv   r   r\   r  r  )r*   r+   r,   r  r  Údf1Údf2r   r   r   Ú)test_apply_numeric_coercion_when_datetimeM  s8    ÿ"ÿ	



üÿr%  c                  C   sŠ   t dddgt d¡gd dœƒ} | j| j | d< |  d¡ d	d
„ ¡}t dddgt dd¡gd t d¡gd dœƒ d¡}t 	||¡ d S )Nrv   rY   rZ   z2017-02-01 00:00:00rO   )Úclientidr   Útime_delta_zeror&  c                 S   s   t | j ¡ | j ¡ dœƒS )N)Úclientid_ager   )r   r'  rä   r   )Zddfr   r   r   r   Ž  s   ÿz?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>r   r¼   )r&  r(  r   )
r   r‰   Z
datetime64r   r#   r$   Ztimedelta64r"   r%   r&   ©r*   r,   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 dddgdddgdœƒ}|jd	dd� t ||¡ d S )Nrv   r  rY   r  r  rZ   é(   é2   ÚNameÚValuez
2020-09-01z
2020-09-05rû   éZ   )r-  r.  TrÜ   )r   r!   Ú
date_ranger#   rÆ   r"   r%   r&   )r7   r*   r,   r+   r   r   r   Ú test_apply_groupby_datetimeindex�  s    "  
ÿr1  c                  C   s®   t ddd„ tdƒD ƒdœƒ} dd„ }dd	„ }| jd
gd� |¡}t ddidgd�}d
|j_| jd
gd� |¡}t t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)rB   Únnr   r   r   rC   ´  s     z'test_time_field_bug.<locals>.<listcomp>r  rQ   c                 S   s   t ddiƒS )NrP   rN   ©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:   rN   ©r/   rP   )r   r   r5  r   r   r   Úfunc_with_date¹  s    z+test_time_field_bug.<locals>.func_with_dater.   ©ZbyrP   rN   r   r8  r9  )	r   rz   r#   r$   r   r   r   r%   r&   )r*   r7  r:  Zdfg_no_conversionZdfg_no_conversion_expectedZdfg_conversionZdfg_conversion_expectedr   r   r   Útest_time_field_bug®  s    r<  c                     s°   t ddddddddddddgddddddddddddgdddd	d
ddd	ddddgdddddddddd
d	dgdœƒ} |  ddg¡} | jddgdd�}dd„ ‰ | ‡ fdd„¡ d S )Nr.   r/   rP   r©   Úegš™™™™™ñ?rN   rO   rS   rT   rU   rR   r:   gffffff@rW   r  é   é   rV   )Úgroup1Úgroup2Úweightr   r@  rA  T)rü   Úsortc                 S   s   t  | | ¡ d¡}|S )NrO   )r‰   ÚarrayÚrepeat)r   rB  rs   r   r   r   ÚnoddyÖ  s    z7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyc                    s   ˆ | j | jƒS r   )r   rB  r   ©rF  r   r   r   à  r   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>)r   r"   r#   r$   )r*   Z
df_groupedr   rG  r   Ú(test_gb_apply_list_of_unequal_len_arraysÈ  s    üÿ
rH  c                  C   sL   t ddddgddddgdœƒ} dd	„ }|  d
¡ |¡}t ƒ }t ||¡ d S )Nr   r:   rR   rV   rS   rT   )ÚgroupsZrandom_varsc                 S   s   d S r   r   r   r   r   r   Ú	test_funcè  s    z.test_groupby_apply_all_none.<locals>.test_funcrI  r   )Ztest_dfrJ  r,   r+   r   r   r   Útest_groupby_apply_all_noneã  s
    rK  c            	      C   sð   t ddddgddddgdœƒ} t ddddgddddgdœƒ}dd„ }|  d¡ |¡}| d¡ |¡}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 )Nr:   rN   r   rO   )rI  Úvarsc                 S   s    | j d dk rd S | jddg S )Nr   rN   rÚ   )rò   rG   r   r   r   r   rJ  õ  s    z0test_groupby_apply_none_first.<locals>.test_funcrI  r_   r   )r   r#   r$   r   rØ   r%   r&   )	Ztest_df1Ztest_df2rJ  rŽ   r�   Zindex1Úindex2Z	expected1Z	expected2r   r   r   Útest_groupby_apply_none_firstð  s    rN  c                  C   sl   t ddgddgdœƒ} |  d¡}| dd„ ¡}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^   c                 S   s   | | j dk d S )Nr:   r   )r   r]   r   r   r   r     r   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>r   r_   )r   r   )	r   r#   r$   r   r   Úfrom_productrÄ   r%   r(   )r*   rI  r,   r+   r   r   r   Ú%test_groupby_apply_return_empty_chunk  s    
 ÿþýrQ  c                  C   s€   t d ¡ dddgdddgdœƒ} | jd	d
d�}| dd„ ¡}t dddgdddgdœƒ}t ||¡ | dd„ ¡}t ||¡ d S )Nza a br:   rN   rO   rS   rU   rT   rÌ   rv   Fr   c                 S   s   | |   ¡  S r   ©rÆ   r   r   r   r   r     r   z-test_apply_with_mixed_types.<locals>.<lambda>gUUUUUUÕ?gUUUUUUå?çš™™™™™Ù?g333333ã?r0   ©rY   rZ   c                 S   s   | |   ¡  S r   rR  r   r   r   r   r     r   )r   Úsplitr#   rÏ   r%   r&   r$   )r*   r~   r,   r+   r   r   r   Útest_apply_with_mixed_types  s     rV  c                  C   sh   t dddgitddgƒd�} |  d¡ dd„ ¡}ttdgƒtdgƒgtddgdd�d�}t ||¡ d S )Nr.   r:   rN   r   c                 S   s   | j S r   r   r
  r   r   r   r   #  r   z*test_func_returns_object.<locals>.<lambda>©r   )r   r
   r#   r$   r   r%   r(   r)  r   r   r   Útest_func_returns_object   s     ÿrX  Úgroup_column_dtlikec                 C   sT   t dg| gdœƒ}| d¡ dd„ ¡}t dgtdgddd�d	gd
�}t ||¡ d S )Nr  rQ   r.   c                 S   s   t dgdgd�S )NÚspamé*   r   r4  r   r   r   r   r   6  r   z+test_apply_datetime_issue.<locals>.<lambda>rZ  r'   r   r[  r8   ©r   r#   r$   r   r%   r&   )rY  r*   r,   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	¡ |¡d
 }tdgtjdgd	d�d
d�}t ||¡ d S )Nz2015-02-24 00:00:00)r   r:   rN   rO   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   )Zvalue_countsr   )rB   rP   r)   r   r   r   Ú
<dictcomp>[  s      zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>)r   ÚitemsrH   r   r   r   Úmost_common_valuesZ  s    zEtest_apply_series_return_dataframe_groups.<locals>.most_common_valuesr^  r_  z
2015-02-24rW  r  )	r   r!   r"  r#   r$   r   ÚDatetimeIndexr%   r(   )Ztdfrb  r,   r+   r   r   r   Ú)test_apply_series_return_dataframe_groups>  s:    ûûûñÿ  ÿrd  rð   c                 C   sÔ   ddgd }| r@t j|dddgd�}t jddgdddgdd�}ntddgdd�}tt d	¡|ttd	ƒƒttd	ƒƒd
œƒ 	ddg¡}| 
d¡ dd„ ¡}tddgddgdœ|d�}t ||¡ |jjddgksÐt‚d S )Nr:   rN   rT   rO   )Ú
categoriesrY   )re  r   rW  r  )rv   rY   rZ   r¼   rv   c                 S   s   |   ¡ S r   rR  r   r   r   r   r   p  r   z-test_apply_multi_level_name.<locals>.<lambda>r  é   )rZ   r¼   r   )r!   ZCategoricalÚCategoricalIndexr   r   r‰   rê   rœ   rz   r"   r#   r$   r%   r&   r   r   rg   )rð   r/   Zexpected_indexr*   r,   r+   r   r   r   Útest_apply_multi_level_named  s    "ÿþrh  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dddddgd�} |  d¡ dd„ ¡j}tt 	d¡t
t
tjt
gdddddgd�}t ||¡ d S )Nià  r:   ÚredZdarkrn   r8  ÚgreenZstormyrN   Ú9iÞ  ÚblueÚbrightrO   ro   iÝ  ZcalmrS   ÚpotatoZobservationÚcolorZmoodZ	intensityZscorer8   c                 S   s
   | j d S rc   rF   r
  r   r   r   r   �  r   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>zdatetime64[ns]r   )r   Zfrom_recordsr!   r"  r#   r$   rJ   r   r‰   r   r'   Zint64r%   r(   )r7   r,   r+   r   r   r   Ú)test_groupby_apply_datetime_result_dtypesv  s    üù	þrp  r   ÚabcZ2020r¼   )r³   Úfreq)r.   r   )r.   r:   )r/   r   c                 C   sF   t dddgdddgdœ| d�}|jddd� d	d
„ ¡}t ||¡ d S )Nr:   rN   r   r   r   r^   Fr   c                 S   s   | S r   r   r   r   r   r   r   •  r   z8test_apply_index_has_complex_internals.<locals>.<lambda>r   )r   r*   r,   r   r   r   Ú&test_apply_index_has_complex_internals‰  s    rs  zfunction, expected_valuesc                 C   s
   | j  ¡ S r   )r   Úto_listr   r   r   r   r   œ  r   c                 C   s   t | j ¡ ƒS r   )Úsetr   rt  r   r   r   r   r   �  r   c                 C   s   t | j ¡ ƒS r   )Útupler   rt  r   r   r   r   r   ž  r   )r   r:   ©rN   rO   c                 C   s   dd„ t | j ¡ ƒD ƒS )Nc                 S   s   i | ]\}}||“qS r   r   ©rB   ÚnÚir   r   r   r`     s      z<lambda>.<locals>.<dictcomp>©Ú	enumerater   rt  r   r   r   r   r      r   c                 C   s   dd„ t | j ¡ ƒD ƒS )Nc                 S   s   g | ]\}}||i‘qS r   r   rx  r   r   r   rC   ¤  s     z<lambda>.<locals>.<listcomp>r{  r   r   r   r   r   ¤  r   c                 C   sN   t ddddgdgd�}| d¡ | ¡}t|tddgdd�d�}t ||¡ d S )Nrv   rY   rI  r8   rW  r   ©r   r#   r$   r   r   r%   r(   )ÚfunctionZexpected_valuesr*   r,   r+   r   r   r   Ú1test_apply_function_returns_non_pandas_non_scalar™  s    r  c                  C   sr   dd„ } t ddddgdddtjgd	œƒ}| d
¡ | ¡}tddgdgtjggtdddgd
d�d�}t ||¡ d S )Nc                 S   s   | d j  ¡ S )NrY   )r¿   Úflattenr]   r   r   r   Úfct³  s    z4test_apply_function_returns_numpy_array.<locals>.fctr.   r/   Únoner:   rN   rO   r¹   rv   r0   r1   r2   rW  r   )	r   r‰   rÃ   r#   r$   r   r   r%   r(   )r�  r*   r,   r+   r   r   r   Ú'test_apply_function_returns_numpy_array±  s      ÿrƒ  r~  c                 C   s   | j S r   r   ©Úgrr   r   r   r   ¿  r   c                 C   s   | j d d S rE   r   r„  r   r   r   r   ¿  r   c                 C   s‚   t ddddddddddg
dgd�}| d¡ | ¡}ttdddd	gƒtdddd
gƒtddgƒgtdddgdd�d�}t ||¡ d S )Nr:   rN   rO   Úidr8   r   rS   rV   rW   rT   rU   rR   rW  r   r}  )r~  r*   r,   r+   r   r   r   Ú test_apply_function_index_return¿  s    "(þr‡  c               	   C   s‚   t ddddddgddddddgd	œƒ} tjtd
d�� | jddd� dd„ ¡}W 5 Q R X t dddgdddgd	œƒ}t ||¡ d S )Nr�   rX   r‚   r:   rN   rS   rT   rU   rƒ   zSelect only valid©Úmatchr„   Fr‡   c                 S   s   |   ¡ S r   )rŒ   r   r   r   r   r   Ô  r   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>r2   r3   )r   r%   Úassert_produces_warningÚFutureWarningr#   r$   r&   r)  r   r   r   Ú/test_apply_function_with_indexing_return_columnË  s    þÿ"rŒ  Úudfc                 C   s   |   ¡ S r   rx   r   r   r   r   r   Û  r   c                 C   s   |   ¡  dd„ ¡S )Nc                 S   s   | d S rE   r   )Úyr   r   r   r   Û  r   z<lambda>.<locals>.<lambda>)r\   rÂ   r   r   r   r   r   Û  r   c                 C   sŒ   t ddgddgdœƒ}|jd| d� |¡}|jj|j| d� |¡}| rh|jjdksVt‚|jjdksˆt‚n |jjdksxt‚|jjdksˆt‚d S )Nr.   r/   r:   rN   r¹   rv   r   )r   r#   r$   rY   rv   r   Znlevelsrg   )r    r�  r*   Z	df_resultZseries_resultr   r   r   Útest_apply_result_typeÙ  s    	r�  c                  C   sZ   t dddgdddgdœƒ} | jddd� dd	„ ¡}| jddd� d
d	„ ¡}t ||¡ d S )NrN   r:   rO   r¹   rv   Fr   c                 S   s   | S r   r   r   r   r   r   r   ò  r   z4test_result_order_group_keys_false.<locals>.<lambda>c                 S   s   |   ¡ S r   rx   r   r   r   r   r   ó  r   r   r)  r   r   r   Ú"test_result_order_group_keys_falseî  s    r�  c               	   C   sä   t dddgdddgdœƒ} d}tjt|d�� |  d¡ d	d
„ ¡}W 5 Q R X t || ¡ tjt|d�� |  d¡d  dd
„ ¡}W 5 Q R X t || d ¡ tjt|d��" | d  | d ¡ dd
„ ¡}W 5 Q R X t || d ¡ d S )Nr   r:   rN   rO   r¹   z-Not prepending group keys to the result indexrˆ  rv   c                 S   s   | S r   r   r   r   r   r   r   û  r   z5test_groupby_apply_group_keys_warns.<locals>.<lambda>rY   c                 S   s   | S r   r   r   r   r   r   r      r   c                 S   s   | S r   r   r   r   r   r   r     r   )r   r%   rŠ  r‹  r#   r$   r&   r(   )r*   Úmsgr,   r   r   r   Ú#test_groupby_apply_group_keys_warns÷  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	œƒ}|jd
dd� dd„ ¡}|jd
dd� dd„ ¡}t ||¡ d S )Nz
2001-01-01rN   z
2001-01-02z
2001-01-03ÚUTC)ÚtzrO   rU   )r   rŽ  Útr   Fr   c                 S   s   | ddg   ¡ S ©Nr   rŽ  rx   rH   r   r   r   r     r   z1test_apply_with_timezones_aware.<locals>.<lambda>c                 S   s   | ddg   ¡ S r–  rx   rH   r   r   r   r     r   )	r!   rc  r   rœ   rz   r#   r$   r%   r&   )ÚdatesZindex_no_tzZindex_tzr#  r$  rŽ   r�   r   r   r   Útest_apply_with_timezones_aware
  s    
  r˜  c              	   C   sê   | dkrt nd }tddddddgdddddd	gd
dddddgdœƒ}tddgdd	gddgdœtddgdd�d�}|jdd�}| t¡}t ||¡ |jdd�}t| |ƒ}tj	|dd�� t
|| ƒ|Ž }W 5 Q R X | t¡}t ||¡ d S )NÚmadéc   éX   r:   rN   rO   rS   rT   rU   r  r  r  r+  r,  é<   ©r.   r/   rP   i  i)  é   é–   r.   rW  r   r;  zThe 'mad' method is deprecatedrˆ  )r‹  r   r   r#   r$   rÆ   r%   r&   r   rŠ  Úgetattr)Zreduction_funcÚwarnr*   r+   Úgrpr,   ÚargsÚ_r   r   r   Ú;test_apply_is_unchanged_when_other_methods_are_called_first  s(    ýÿþ


r¥  c               	   C   sä   t ddddgtdddƒtdddƒtdddƒtdddƒgddddgd	œtd
dddgdd�d�} |  ddg¡}| dd„ ¡}| jdddg }| ¡ }t |dddg ¡|_	|j
dd�}t ||¡ |j	jd D ]}t|ƒtksÊt‚qÊd S )Nr.   r/   iä  r:   r  rN   rO   rS   rÌ   r²   ée   éf   ég   ÚidxrW  r   rv   rY   c                 S   s
   |   d¡S rE   r“   r   r   r   r   r   J  r   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>r   r8   )r   r   r   r#   r$   rG   r�   r   Z
from_framer   rÄ   r%   r&   ZlevelsÚtyperg   )r*   r¢  r,   r+   Úvalr   r   r   Ú@test_apply_with_date_in_multiindex_does_not_convert_to_timestamp8  s(    




ü
ø
õr¬  c                  C   sz   t tj ddg¡t ddgddgg¡d�} | jjddd	� d
d„ ¡}| jddd	� dd„ ¡}t 	||j¡ t 	|| ¡ d S )NrU   rS   rv   rY   r:   rN   r8   r   ©r=   rü   c                 S   s   | j ddd�S )Nr   r­  ©Z	droplevelr   r   r   r   r   b  r   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>c                 S   s   | j ddd�S )Nr:   r   r­  r®  r   r   r   r   r   d  r   )
r   r‰   rŠ   r   rP  r  r#   r$   r%   r&   )r*   Zby_rowsZby_colsr   r   r   Ú2test_apply_by_cols_equals_apply_by_rows_transposedV  s    þÿr¯  Údropnac                 C   sx   t dddddgdtjtjddgdœtd	ƒd
�}|jd| dd� dd„ ¡}| rT| ¡ n|jdddddg }t 	||¡ d S )Nr:   rN   rO   rS   rT   r.   r/   )Úcolr^   Zxxyxzr   r^   F)r°  r    c                 S   s   | S r   r   r   r   r   r   r   u  r   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>r   )
r   r‰   rÃ   rœ   r#   r$   r°  rG   r%   r&   )r°  r*   r,   r+   r   r   r   Ú#test_apply_dropna_with_indexed_samej  s    þû r²  zas_index, expected)r   r•   )rN   rN   r_   r   c                 C   sT   t ddddgddddgddddgdœƒ}|jddg| d� dd„ ¡}t ||¡ d S )	Nr:   rN   r�  r.   r/   r‡   c                 S   s   dS rE   r   r   r   r   r   r   Ž  r   z5test_apply_as_index_constant_lambda.<locals>.<lambda>)r   r#   r$   r%   Zassert_equal)rˆ   r+   r*   r,   r   r   r   Ú#test_apply_as_index_constant_lambdaz  s    (r³  c                  C   s†   t dddddgdddd	d
gdddddgdœtdƒd�} |  d¡ dd„ ¡}ttddƒtjdddddgdd gd�dd�}t ||¡ d S )Nr:   rN   rO   rS   rT   rU   rV   rR   rW   r   rÌ   r   rZ   c                 S   s
   | j  ¡ S r   )rv   rý   r   r   r   r   r   ˜  r   z(test_sort_index_groups.<locals>.<lambda>r—   r•   r˜   rw  r–   r_   rv   r  )	r   rz   r#   r$   r   r   r›   r%   r(   r)  r   r   r   Útest_sort_index_groups’  s    (þ ÿûr´  c                  C   sX   t tjdddd�tdƒtdƒdœƒ} | j| j| jjjgdd� 	d	d
„ ¡}t
 || ¡ d S )Nz
2010-01-01Z12HrT   )rr  r³   r™   )r   ÚvalsÚletFr   c                 S   s   | j dd … S rc   rF   r   r   r   r   r   ®  r   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>)r   r!   r0  rz   rœ   r#   r¶  r   Údtr$   r%   r&   rK   r   r   r   Ú)test_positional_slice_groups_datetimelike£  s    ýÿ ÿþr¸  c                  C   sx   t dddgdddgdddg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 )Nr.   r/   r:   rN   rO   rS   rU   rT   rÌ   rv   rY   rZ   c                 S   s   |   t¡ ¡ |  ¡  S r   )ZastypeÚfloatrå   rä   r   r   r   r   r   ¶  r   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>r0   rç   r1   rT  rW  r   r\  )r*   Úgbr,   r+   r   r   r   Ú%test_groupby_apply_shape_cache_safety²  s    "
 ÿr»  c                 C   sf   t ddddgddddgddtjtjgdœƒ}|jd| d�}| dd	„ ¡}| d
d	„ ¡}t ||¡ d S )Nr:   rN   r   rT   )r¢  rŽ  Úzr¢  )r°  c                 S   s   |   dd¡S )Nr:   r¼  )Únlargest)Zgrp_dfr   r   r   r   Å  r   ztest_apply_na.<locals>.<lambda>c                 S   s   | j ddd� d¡S )Nr¼  F)Z	ascendingr:   )rÇ   r”   r   r   r   r   r   Æ  r   )r   r‰   rÃ   r#   r$   r%   r&   )r°  r*   Zdfgrpr,   r+   r   r   r   Útest_apply_na¾  s    &ÿr¾  c                  C   s    t ddddgddddgtjddddgdd�dœƒ d	d
g¡ dd„ ¡} t ddtjddd�gddtjddd�ggd	d
dgtjddgd	d
gd�d�}t | |¡ d S )Nr:   rN   r  rO   rS   r)   )Úunitr�  r.   r/   c                 S   s
   | j d S ©NrÚ   rF   rH   r   r   r   r   Õ  r   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>rP   )r:   r  )rN   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_valuesr0   r1   r2   c                 C   sj   t dddgdddgdœt| ƒd�}t d	d
ddgitdddgdd�d�}| d¡ dd„ ¡}t ||¡ d S )NZaaZa2Úa3r:   rN   rO   rQ   r   Úb_meanr1   r2   r0   r.   rW  c                 S   s   t | d  ¡ gdgd�S )Nr/   rÄ  r   )r   rŒ   rH   r   r   r   r   ð  r   z0test_apply_index_key_error_bug.<locals>.<lambda>)r   r   r#   r$   r%   r&   )rÂ  r,   r+   r   r   r   Útest_apply_index_key_error_bugß  s     þû ÿü
ÿrÅ  zarg,idxgš™™™™™¹?g333333Ó?gš™™™™™É?rS  c                 C   s8   t d| i|d�}|jddd� dd„ ¡}t ||¡ d S )Nr±  r   Fr   c                 S   s   | S r   r   r   r   r   r   r   !  r   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>r   )Úargr©  r+   r,   r   r   r   Ú#test_apply_nonmonotonic_float_indexõ  s    +rÇ  zargs, kwargsÚnumeric_onlyc                 C   s6   |   d¡}|jd|ž|Ž}|jdd�}t ||¡ d S )Nrv   rÆ   T)rÈ  )rÆ   )r#   r$   rÆ   r%   r&   )r*   r£  Úkwargsrº  r,   r+   r   r   r   Útest_apply_str_with_args%  s    
rÊ  r   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:   rN   rW  r.   Fr   c                 S   s   | S r   r   r   r   r   r   r   2  r   z1test_result_name_when_one_group.<locals>.<lambda>)r   r#   r$   r%   r(   )r   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¿   ©rº  r   r   r   r   ;  r   c                 C   s   | d j d S )Nr/   r   rF   rÌ  r   r   r   r   <  r   )Úaggr™  )rÍ  Z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 )	NrQ   r.   Tr   r/   r;   r   )r   r   r   )r   r#   r   r   r   r%   r(   )ÚmethodÚopZempty_dfrº  r^   r,   r+   r   r   r   Útest_empty_df8  s    
   ÿrÑ  )ar   r   Úior   Únumpyr‰   ZpytestZpandasr!   r   r   r   r   r	   Zpandas._testingZ_testingr%   Zpandas.core.apir
   Zpandas.tests.groupbyr   r-   rL   rM   ÚmarkZparametrizerz   rœ   ri   ru   r{   r€   r�   r¡   r¬   r¸   r»   r½   rÁ   rÅ   rÎ   rÐ   r×   rÙ   rÝ   rë   rì   rí   rõ   rÿ   r  r  r%  r*  r1  r<  rH  rK  rN  rQ  rV  rX  Útodayr   r]  rd  rh  rp  rg  Zinterval_rangeZperiod_ranger›   rs  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   r   r   r   Ú<module>   s–  )*$(.ýÿø
(ðùì
-üþ	
%#


5þ
&

üþ	
þþøþ

þ	 
 ÿþ ÿþùþ


ýýúýýúýýúçþ)


	

úþ