o
    Û­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 s4w   Y  t dgd dgd d
œt	 
ddd¡d�}t ˆ d |¡ d S )Né   é
   r   )ÚindexÚcolumnsc                    s   ˆ   | ¡ d S ©N)Úappend©Úgroup©Úgroups© ú\/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/groupby/test_apply.pyÚstore   ó   zFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.storeú7DataFrameGroupBy.apply operated on the grouping columns©Úmatchr   )r   r   éd   ©r   )r   ÚlistÚrangeÚreset_indexÚtmÚassert_produces_warningÚFutureWarningÚgroupbyÚapplyÚpdÚ
RangeIndexÚassert_frame_equal)Údfr   ÚmsgÚexpected_valuer   r   r   Ú7test_apply_func_that_appends_group_to_list_without_copy   s    ÿ ÿr,   c                 C   sd   g d¢}t dg d¢itt |¡dd�d�}| |jj¡ ¡ }| |jj¡ dd„ ¡}t	 
||¡ d S )	N©z2011-05-16 00:00z2011-05-16 01:00z2011-05-16 02:00z2011-05-16 03:00z2011-05-17 02:00z2011-05-17 03:00z2011-05-17 04:00z2011-05-17 05:00z2011-05-18 02:00z2011-05-18 03:00z2011-05-18 04:00z2011-05-18 05:00Úvalue©ç	§/úŠö?çö—Ý“‡…ö?ç…ëQ¸…ö?ç©j‚¨û€ö?r0   r1   r2   r3   r0   r1   r2   r3   Ú	date_time©Únamer   c                 S   ó   |   ¡ S r   ©Úidxmax©Úxr   r   r   Ú<lambda>N   ó    z'test_apply_index_date.<locals>.<lambda>)r   r   r&   Úto_datetimer$   r   r   r9   r%   r!   r(   )Úusing_infer_stringÚtsr)   ÚexpectedÚresultr   r   r   Útest_apply_index_date*   s   ÿïrC   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 sGw   Y  t ||¡ d S )Nr-   c                 S   s   g | ]}|  ¡ ‘qS r   )Úsplit)Ú.0Úrowr   r   r   Ú
<listcomp>c   ó    z0test_apply_index_date_object.<locals>.<listcomp>r   Útime©r   r/   r.   )z
2011-05-16z
2011-05-17z
2011-05-18r5   )z00:00ú02:00rK   r   r   r   F©Ú
group_keysc                 S   s   | d | d   ¡  S )NrI   r.   r8   r:   r   r   r   r<   w   rH   z.test_apply_index_date_object.<locals>.<lambda>)	r   r   r   r!   r"   r#   r$   r%   Úassert_series_equal)r@   r)   Úexp_idxrA   r*   rB   r   r   r   Útest_apply_index_date_objectR   s   ÿÿrP   c                    sÄ   t g d¢g d¢dœddgd�‰ | rdnd}tjˆ jd	d … ˆ jd	d … gd	d
|gd�}d}tjt|d�� ˆ jdd„ ˆ jD ƒd	d�}W d   ƒ n1 sLw   Y  | 	‡ fdd„¡}t 
||¡ d S )N©ÚarR   ÚbrS   rR   ©ç      ð?ç       @ç      @ç      @g      @©ÚkeyÚdatarZ   r[   rJ   ÚstrÚobjectr   Úfloat64©ÚaxisÚkeysú+DataFrame.groupby with axis=1 is deprecatedr   c                 S   ó   g | ]}t |ƒ‘qS r   ©r\   ©rE   r;   r   r   r   rG   ˆ   rH   z&test_apply_trivial.<locals>.<listcomp>©r`   c                    s   ˆ j dd … S ©Nr   ©Úilocr:   ©r)   r   r   r<   ‰   ó    z$test_apply_trivial.<locals>.<lambda>)r   r&   Úconcatri   r!   r"   r#   r$   Údtypesr%   r(   ©r?   ÚdtyperA   r*   ÚgbrB   r   rj   r   Útest_apply_trivial|   s   þ,ÿrq   c                    s²   t g d¢g d¢dœddgd�‰ | rdnd}tjˆ ˆ gd	d
|gd�}d}tjt|d�� ˆ jdd„ ˆ jD ƒd	dd�}W d   ƒ n1 sCw   Y  | ‡ fdd„¡}t 	||¡ d S )NrQ   rT   rY   rZ   r[   rJ   r\   r]   r   r^   r_   rb   r   c                 S   rc   r   rd   re   r   r   r   rG   ˜   rH   z+test_apply_trivial_fail.<locals>.<listcomp>T)r`   rM   c                    s   ˆ S r   r   r:   rj   r   r   r<   ™   ó    z)test_apply_trivial_fail.<locals>.<lambda>)
r   r&   rl   r!   r"   r#   r$   rm   r%   r(   rn   r   rj   r   Útest_apply_trivial_failŽ   s   þÿrs   zdf, group_names)r   r   r   é   é   )rR   rR   rR   rS   Úc©rR   rS   ©r   rt   ru   ©r   r   r   r   )r   r   r   r   r   rR   )r   r   r   rt   rt   r   r   rt   é   rt   ©r   rt   ru   r   rt   ru   )é   é   é   é   rz   é	   )rR   ÚtwoÚ
aaabbbcccc)
ru   r|   ru   r~   r}   rt   r   r€   r}   r|   )
r|   r   rt   rt   rt   r   rz   r~   rt   rz   )rR   ÚBÚC©rR   rS   rv   )rt   rt   ru   rJ   )ÚGH2936zGH7739 & GH10519ÚGH10519ÚGH2656ÚGH12155ÚGH20084ÚGH21417)Úidsc           	   	      s´   g ‰ ‡ fdd„}‡ fdd„}‡ fdd„}‡ fdd„}‡ fd	d
„}|||||fD ]0}ˆ d d …= d}t jt|d�� | jddd� |¡ W d   ƒ n1 sLw   Y  ˆ |ksWJ ‚q'd S )Nc                    s   ˆ   | j¡ |  ¡ S r   )r   r6   Úcopyr   ©Únamesr   r   Úf_copyÉ   s   z/test_group_apply_once_per_group.<locals>.f_copyc                    s   ˆ   | j¡ | S r   ©r   r6   r   rŽ   r   r   Úf_nocopyÎ   ó   z1test_group_apply_once_per_group.<locals>.f_nocopyc                    s   ˆ   | j¡ dS ©Nr   r‘   r   rŽ   r   r   Úf_scalarÓ   r“   z1test_group_apply_once_per_group.<locals>.f_scalarc                    s   ˆ   | j¡ d S r   r‘   r   rŽ   r   r   Úf_noneØ   s   z/test_group_apply_once_per_group.<locals>.f_nonec                    s   ˆ   | j¡ tdgdgdœƒS )Nr   rw   )r   r6   r   r   rŽ   r   r   Úf_constant_dfÜ   s   z6test_group_apply_once_per_group.<locals>.f_constant_dfr   r   rR   FrL   )r!   r"   r#   r$   r%   )	r)   Úgroup_namesr�   r’   r•   r–   r—   Úfuncr*   r   rŽ   r   Útest_group_apply_once_per_groupž   s   '
ÿúrš   c                 C   sŒ   d}t g d¢g d¢dœg d¢d�}d}tjt|d�� |jdd	d
� dd„ ¡ W d   ƒ n1 s1w   Y  |  ¡ j d¡}||ksDJ ‚d S )Nrt   )r   r   r   r   r   r   r   r   )Ú0Ú2Ú4Ú6Ú8Ú10Ú12Ú14)Úgroup_by_columnÚtest_columnr   r   r   r£   FrL   c                 S   s   t dƒS )NÚfunction_called)Úprintrj   r   r   r   r<   û   r=   z2test_group_apply_once_per_group2.<locals>.<lambda>r¥   )	r   r!   r"   r#   r$   r%   Ú
readouterrÚoutÚcount)ÚcapsysrA   r)   r*   rB   r   r   r   Ú test_group_apply_once_per_group2ê   s   þûÿÿr«   c                  C   s¾   t g d¢tdƒdœƒ} dd„ }dd„ }d}tjt|d	�� | jd
dd� |¡}W d   ƒ n1 s1w   Y  tjt|d	�� | jd
dd� |¡}W d   ƒ n1 sRw   Y  t ||¡ d S )N)r   r   r   ru   )ÚArS   c                 S   ó   | S r   r   r   r   r   r   Úslow
  ó   z,test_apply_fast_slow_identical.<locals>.slowc                 S   r7   r   ©r�   r   r   r   r   Úfast  s   z,test_apply_fast_slow_identical.<locals>.fastr   r   r¬   FrL   )r   r   r!   r"   r#   r$   r%   r(   )r)   r®   r±   r*   Úfast_dfÚslow_dfr   r   r   Útest_apply_fast_slow_identical  s   ÿÿr´   r™   c                 C   r­   r   r   r:   r   r   r   r<     rr   r<   c                 C   s   | d d … S r   r   r:   r   r   r   r<     ó    c                 C   ó   | j dd�S )NF©Údeepr°   r:   r   r   r   r<     rµ   c                 C   r¶   )NTr·   r°   r:   r   r   r   r<     rµ   c                 C   sr   t g d¢g d¢g d¢dœƒ}d}tjt|d�� |jddd	� | ¡}W d   ƒ n1 s,w   Y  t ||¡ d S )
N©r   rt   rt   rt   ©r   rt   ru   r|   )r}   r~   r   rz   )ÚgrR   rS   r   r   r»   FrL   ©r   r!   r"   r#   r$   r%   r(   )r™   r)   r*   rB   r   r   r   Ú5test_groupby_apply_identity_maybecopy_index_identical  s   ÿr½   c                  C   sœ   t tj d¡ d¡g d¢dœƒ} | jdd„ dd�j}| j}t ||¡ t d	g d
¢iƒ} | j	d | d< |  
d¡ ¡  ¡ j}| j
ddd� ¡ j}t ||¡ d S )Nrt   r~   ©Úoner�   r�   Úthreer¿   r�   ©Úfoo1Úfoo2c                 S   r­   r   r   r:   r   r   r   r<   8  rr   z-test_apply_with_mixed_dtype.<locals>.<lambda>r   rf   Úc1)r   rt   r~   r~   rz   rV   Úc2F©Úas_index)r   ÚnpÚrandomÚdefault_rngÚstandard_normalr%   rm   r!   rN   rÄ   r$   Úmeanr    rÅ   )r)   rB   rA   Ú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 sVw   Y  tjt	|d�� | 
dd„ ¡j}W d   ƒ n1 suw   Y  t g d¢¡}	g d¢}
tj|
dd gd�}t ||¡ t ||	¡ ttdƒƒ}t dd	gd	dgddgddgd	dgg|d�} d}tjt	|d�� | jdddd� 
dd„ ¡j}W d   ƒ n1 s×w   Y  t ||¡ d S )N)rS   rS   rR   rv   rR   rS   )r   rt   r   r   ru   r   r~   )Úitem_idÚuser_idrI   rÑ   TrÆ   Frt   )r   r   rt   r|   r   r   c                 S   ó
   |   d¡S ©Nrt   ©Úheadr:   r   r   r   r<   Y  ó   
 z-test_groupby_as_index_apply.<locals>.<lambda>c                 S   rÒ   rÓ   rÔ   r:   r   r   r   r<   [  rÖ   ))r   r   )r   rt   ©r   r   ©rt   r|   )©r   r   ©r   rt   )rt   r   )ru   r|   rŽ   Úabcder   ru   r|   r}   r   r   )rÇ   rM   c                 S   r­   r   r   r:   r   r   r   r<   j  rr   )r   r   r$   rÕ   r   r   r!   Úassert_index_equalr"   r#   r%   r   Úfrom_tuplesr   )r)   Úg_asÚg_not_asÚres_asÚ
res_not_asÚexpr*   Úres_as_applyÚres_not_as_applyÚexp_not_as_applyÚtpÚexp_as_applyÚindÚresr   r   r   Útest_groupby_as_index_applyD  s@   ýÿÿÿ*ÿrê   c           	      C   s  |   ddg¡}dd„ }dd„ }dd„ }d	}tjt|d
�� | |¡}W d   ƒ n1 s,w   Y  |jjdks9J ‚d	}tjt|d
�� | |¡}W d   ƒ n1 sRw   Y  |jjdks_J ‚d	}tjt|d
�� | |¡}W d   ƒ n1 sxw   Y  |jjdks…J ‚d S )Nr¬   rƒ   c                 S   s   |   ¡ }d|j_|S ©NÚstat)Údescriber   r6   ©r   rB   r   r   r   Údescq  s   z.test_apply_concat_preserve_names.<locals>.descc                 S   s$   |   ¡ }d|j_|d t| ƒ… }|S rë   )rí   r   r6   Úlenrî   r   r   r   Údesc2v  s   z/test_apply_concat_preserve_names.<locals>.desc2c                 S   s0   |   ¡ }dt| ƒd›�|j_|d t| ƒ… }|S )NÚstat_Úd)rí   rð   r   r6   rî   r   r   r   Údesc3}  s   z/test_apply_concat_preserve_names.<locals>.desc3r   r   )r¬   rƒ   rì   )r¬   rƒ   N)r$   r!   r"   r#   r%   r   r�   )	Úthree_groupÚgroupedrï   rñ   rô   r*   rB   rÎ   Ú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	ƒs,J ‚t
|dƒr3J ‚t |j|j¡ d S )Nc                 S   sN   t jdd�� t  | ¡}W d   ƒ n1 sw   Y  t| | |  ¡  |dœƒS )NÚignore)Úinvalid)r.   ÚdemeanedÚlogged)rÈ   ÚerrstateÚlogr   rÌ   )Úpiecerü   r   r   r   Úf˜  s   ÿÿz%test_apply_series_to_frame.<locals>.fz1/1/2000r   )Úperiodsrt   r   c                 S   ó   | j S r   ©Úmonthr:   r   r   r   r<   ¢  ó    z,test_apply_series_to_frame.<locals>.<lambda>FrL   r6   )r	   r   rÈ   rÉ   rÊ   rË   r$   r%   Ú
isinstancer   Úhasattrr!   rÜ   r   )r   Údrr@   rö   rB   r   r   r   Útest_apply_series_to_frame—  s   
r	  c                 C   s4   |   ddg¡d  t¡}|jjd d… dksJ ‚d S )Nr¬   rƒ   r„   rt   ©r¬   rƒ   )r$   r%   rð   r   r�   )r)   rB   r   r   r   Ú test_apply_series_yield_constantª  s   r  c                 C   sž   d}t jt|d�� |  ddg¡ t¡}W d   ƒ n1 sw   Y  t|tƒs*J ‚|jd u s1J ‚|  ddg¡ddg  t¡}t|tƒsFJ ‚|jd u sMJ ‚d S )Nr   r   r¬   rƒ   r„   ÚD)	r!   r"   r#   r$   r%   rð   r  r   r6   )r)   r*   rB   r   r   r   Útest_apply_frame_yield_constant¯  s   ÿr  c                 C   sz   |   ddg¡}d}tjt|d�� | t¡}W d   ƒ n1 s w   Y  | ¡ d }t |j|j¡ t 	|j
|j
¡ d S )Nr¬   rƒ   r   r   r„   )r$   r!   r"   r#   r%   rð   r©   rÜ   r   Úassert_numpy_array_equalÚvalues©r)   rö   r*   rB   rA   r   r   r   Útest_apply_frame_to_series¼  s   ÿr  c                 C   s�   | j ddgdd�}d}tjt|d�� | t¡}W d   ƒ n1 s"w   Y  | ¡ jdtj	id�j
d	d�}t |j|j¡ t |j|j¡ d S )
Nr¬   rƒ   FrÆ   r   r   r„   rJ   r  )r$   r!   r"   r#   r%   rð   r©   ÚrenamerÈ   ÚnanÚdroprÜ   r   r  r  r  r   r   r   Ú)test_apply_frame_not_as_index_column_nameÆ  s   ÿr  c                     sÎ   dd„ } ‡ fdd„}t tj d¡ ddd¡tj d¡ ddd¡tj d¡ d¡d	œƒ‰ d
}tjt|d�� ˆ  	d¡ 
| ¡}W d   ƒ n1 sGw   Y  ˆ  	d¡d  
|¡}tj||dd� |jdkseJ ‚d S )Nc                 S   s    |   d¡d  ¡  ¡ jd d… S )Nrƒ   r„   rt   )r$   ÚsumÚsort_valuesri   r   r   r   r   ÚtransÓ  s    z-test_apply_frame_concat_series.<locals>.transc                    s,   |   ˆ  | j¡d ¡}| ¡  ¡ jd d… S )Nrƒ   rt   )r$   Úreindexr   r  r  ri   )r   rö   rj   r   r   Útrans2Ö  s   z.test_apply_frame_concat_series.<locals>.trans2rt   r   r}   éè  ©r¬   rƒ   r„   r   r   r¬   r„   F)Úcheck_names)r   rÈ   rÉ   rÊ   ÚintegersrË   r!   r"   r#   r$   r%   rN   r6   )r  r  r*   rB   râ   r   rj   r   Útest_apply_frame_concat_seriesÒ  s   ýÿÿr  c                 C   s>   | j dd„ dd�}| dd„ ¡}| dd„ ¡}t ||¡ d S )Nc                 S   r  r   r  r:   r   r   r   r<   ë  r  z&test_apply_transform.<locals>.<lambda>FrL   c                 S   ó   | d S rÓ   r   r:   r   r   r   r<   ì  r=   c                 S   r   rÓ   r   r:   r   r   r   r<   í  r=   )r$   r%   Ú	transformr!   rN   )r@   rö   rB   rA   r   r   r   Útest_apply_transformê  s   r"  c                 C   sP   |   dd„ dd„ g¡}dd„ }| |¡}|D ]\}}t |j| ||ƒ¡ qd S )Nc                 S   r  r   ©Úyearr:   r   r   r   r<   ò  r  z,test_apply_multikey_corner.<locals>.<lambda>c                 S   r  r   r  r:   r   r   r   r<   ò  r  c                 S   s   |   d¡dd … S )Nr¬   éûÿÿÿ©r  r   r   r   r   r   ô  s   z%test_apply_multikey_corner.<locals>.f)r$   r%   r!   r(   Úloc)Útsframerö   r   rB   rZ   r   r   r   r   Útest_apply_multikey_cornerñ  s   
ÿr)  rM   TFc                 C   s    t g d¢tdƒdœƒ}d}tjt|d�� |jd| d� dd	„ ¡}W d   ƒ n1 s+w   Y  | g d
¢¡}| rHtj	g d¢|j
gdd gd�|_
t ||¡ d S )N)	r   r   r   rt   rt   rt   ru   ru   ru   r€   )rZ   r.   r   r   rZ   rL   c                 S   s   | j d d… S rÓ   rh   r:   r   r   r   r<     rk   z'test_apply_chunk_view.<locals>.<lambda>)r   r   ru   r|   r~   r   )r   r   rt   rt   ru   ru   rŽ   )r   r   r!   r"   r#   r$   r%   Útaker   Úfrom_arraysr   r(   )rM   r)   r*   rB   rA   r   r   r   Útest_apply_chunk_viewü  s   ÿÿr,  c                  C   st   t g d¢g d¢tdddƒdœƒ} |  ddg¡}d}tjt|d	�� | d
d„ ¡ W d   ƒ d S 1 s3w   Y  d S )N)
r   r   r   r   r   r   rt   rt   rt   rt   )
r   r   r   r   r   r   r   r   r   r   r€   éÿÿÿÿ)r6   Úname2r.   r6   r.  r   r   c                 S   ó   | j ddd�S )Nr.   T©Úinplacer&  r:   r   r   r   r<     rk   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   
ýÿ	"ÿr2  c                  C   s¢   t g d¢t g d¢d¡t dd¡dœƒ} dd„ }d	}tjt|d
�� | jddd� |¡}W d   ƒ n1 s6w   Y  |  	¡ }t g d¢d¡|d< t 
||¡ d S )N©rU   rU   rU   rV   rV   rV   r…   rt   rU   ç      @©ró   rv   Úvc                 S   ó,   | d }||  ¡  | ¡ |  ¡   | d< | S ©Nr6  Úv2©ÚminÚmax©r   r6  r   r   r   r   &  ó    z#test_apply_typecast_fail.<locals>.fr   r   ró   FrL   ©ç        g      à?r   r9  )r   rÈ   ÚtileÚaranger!   r"   r#   r$   r%   r�   r(   )r)   r   r*   rB   rA   r   r   r   Útest_apply_typecast_fail  s   
ýÿÿrC  c                  C   s¼   t  g d¢g d¢g¡} tg d¢t g d¢d¡t dd¡dœ| d	�}d
d„ }d}tjt|d�� |j	ddd� 
|¡}W d   ƒ n1 sCw   Y  | ¡ }t g d¢d¡|d< t ||¡ d S )N)r   r   r   r   r   r   r{   r3  r…   rt   rU   r4  r5  r   c                 S   r7  r8  r:  r=  r   r   r   r   @  r>  z%test_apply_multiindex_fail.<locals>.fr   r   ró   FrL   r?  r9  )r   r+  r   rÈ   rA  rB  r!   r"   r#   r$   r%   r�   r(   )r   r)   r   r*   rB   rA   r   r   r   Útest_apply_multiindex_fail5  s    
ýú	ÿrD  c                 C   s4   | j dd„ dd� dd„ ¡}| d }t ||¡ d S )Nc                 S   r  r   r#  r:   r   r   r   r<   P  r  z#test_apply_corner.<locals>.<lambda>FrL   c                 S   r   rÓ   r   r:   r   r   r   r<   P  r=   rt   )r$   r%   r!   r(   )r(  rB   rA   r   r   r   Útest_apply_cornerO  s   rE  c                  C   s¼   t g d¢g d¢g d¢dœƒ} dd„ }dd„ }d	}tjt|d
�� |  d¡ |¡}W d   ƒ n1 s2w   Y  tjt|d
�� |  d¡ |¡}W d   ƒ n1 sQw   Y  t ||¡ d S )N)r   r   éÈ   i,  )rR   rS   rv   rv   rº   )Úid_fieldÚcategoryr.   c                 S   s$   | j d dkr|  ¡ S | | jdk S ©Nr   r   rv   )Úshaper�   rH  r:   r   r   r   Úfilt1a  s   z&test_apply_without_copy.<locals>.filt1c                 S   s    | j d dkr	| S | | jdk S rI  )rJ  rH  r:   r   r   r   Úfilt2g  s   z&test_apply_without_copy.<locals>.filt2r   r   rG  r¼   )r[   rK  rL  r*   rA   rB   r   r   r   Útest_apply_without_copyU  s    ýÿÿÿrM  Útest_seriesc                 C   sà   t ddgddgddggddgg d¢d�}| r9| d¡d }|jdd	d
� dd„ ¡}| ¡ }| ¡ }t ||¡ d S d}tjt|d�� |jdd	d� dd„ ¡}W d   ƒ n1 sYw   Y  | 	d¡}| 	d¡}t 
||¡ d S )Nr;   ÚpÚoÚXÚY)r   rt   rt   ©r   r   r   F)ÚlevelrM   c                 S   r­   r   r   r:   r   r   r   r<   }  rr   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>r   r   rL   c                 S   r­   r   r   r:   r   r   r   r<   †  rr   )r   Ú	set_indexr$   r%   Ú
sort_indexr!   rN   r"   r#   r  r(   )rN  r)   ÚserrB   rA   r*   r   r   r   Ú*test_apply_with_duplicated_non_sorted_axisu  s     ÿÿ

rX  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   rt   rt   ÚGroup1ÚGroup2rt   ©r   r.   r   r.   ©r   r6   c                 S   s"   |   t | j ¡ | j ¡ d ¡¡S rg   )r  rÈ   rB  r   r;  r<  r:   r   r   r   Úreindex_helper˜  s   "z1test_apply_reindex_values.<locals>.reindex_helperr   FrL   )r   r   r$   r.   r%   r!   rN   )r  Úindicesr)   rA   r^  rB   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 sGw   Y  d|v sRJ ‚d S )Nr  rt   r   r   )Úsize)ÚfooÚbarÚbazÚquxr|   )rZ   Úvalue1Úvalue2rZ   FrL   c                 S   s   | d d | d< | S )Nrf  rt   Úvalue3r   ©r»   r   r   r   r   ¯  s   z"test_apply_corner_cases.<locals>.fr   r   rh  )rÈ   rÉ   rÊ   r  r   rË   r$   r!   r"   r#   r%   )ÚNÚlabelsr)   rö   r   r*   rB   r   r   r   Útest_apply_corner_cases   s   ýÿÿrl  c                  C   s2  t ddgdgd ddgdœƒ} d}tjt|d�� |  d	g¡ d
d„ ¡}W d   ƒ n1 s.w   Y  t | j¡| _d}tjt|d�� |  d	g¡ dd„ ¡}W d   ƒ n1 sYw   Y  t 	|d |d ¡ t g d¢g d¢t 
d¡gd dœƒ} dd„ }d}tjt|d�� |  d¡ |¡d }W d   ƒ n1 sœw   Y  | j}| j|_t 	||¡ dd„ }t g d¢g d¢g d¢g d¢dœƒ}| ¡ }t |j¡|_d}tjt|d�� | d¡ |¡j}W d   ƒ n1 sëw   Y  tjt|d�� | d¡ |¡j}W d   ƒ n	1 �sw   Y  t 	||¡ d S )Nr   rt   z
2017-03-02rb  Úinf)ÚNumberÚDateÚStrr   r   rn  c                 S   ó
   | j d S r”   rh   r:   r   r   r   r<   Å  rÖ   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>c                 S   rq  r”   rh   r:   r   r   r   r<   É  rÖ   rp  )r   é   é   )rb  Ú3r�   z12:31:22ru   )r¬   rƒ   ÚTc                 S   s   | j d dg S )Nr   rƒ   rh   ri  r   r   r   Úget_BÑ  s   z8test_apply_numeric_coercion_when_datetime.<locals>.get_Br¬   rƒ   c                 S   sŠ   t g d¢td�}dt| jƒv rt| | jdk jjd ƒ|d< dt| jƒv rCt| | jdk jjd ƒ|d< t| | jdk jjd ƒ|d< |S )	N)Úp1Úp2ÚuseTime)r   ro   Ústep1r   rw  Ústep2rx  ry  )r   r]   r   ÚStater\   ÚMachiner  ÚoTime)Útoolr¨   r   r   r   ÚpredictionsÜ  s   z>test_apply_numeric_coercion_when_datetime.<locals>.predictions)rƒ   rƒ   r¬   r¬   )rz  r{  rz  r{  )Ú z2016-09-19 05:24:33r�  z2016-09-19 23:59:04)Ú23Ú36LÚ36Rr„  )ÚKeyr|  r~  r}  r…  )r   r!   r"   r#   r$   r%   r&   r>   ro  rN   Ú	Timestamprƒ   r¬   r   r�   r~  rw  )r)   r*   rA   rB   rv  r€  Údf1Údf2r   r   r   Ú)test_apply_numeric_coercion_when_datetime¹  sT   ÿÿÿÿÿ	üÿÿÿr‰  c                  C   s¸   t g d¢t d¡gd dœƒ} | j| j | d< d}tjt|d�� |  d¡ d	d
„ ¡}W d   ƒ n1 s5w   Y  t g d¢t 	dd¡gd t d¡gd dœƒ 
d¡}t ||¡ d S )Nr  z2017-02-01 00:00:00ru   )Úclientidr   Útime_delta_zeror   r   rŠ  c                 S   s   t | j ¡ | j ¡ dœƒS )N)Úclientid_ager   )r   r‹  r;  r   )Úddfr   r   r   r<     s    ÿz?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>r   r  )rŠ  rŒ  r   )r   rÈ   Ú
datetime64r   r!   r"   r#   r$   r%   Útimedelta64rU  r(   ©r)   r*   rB   rA   r   r   r   Ú-test_apply_aggregating_timedelta_and_datetime÷  s*   þÿ
ÿÿýÿúr‘  c                  C   s~   ddgddgddgddgddgg} t | d	d
gt dd¡d�}| d	¡ ¡ }t g d¢g d¢dœƒ}|jd	dd� t ||¡ d S )Nr¬   r   rƒ   rr  rs  r„   é(   é2   ÚNameÚValuez
2020-09-01z
2020-09-05rS  r  )r   r“  éZ   )r”  r•  Tr0  )r   r&   Ú
date_ranger$   r  rU  r!   r(   )r[   r)   rB   rA   r   r   r   Ú test_apply_groupby_datetimeindex  s   "ÿr˜  c                  C   s  t ddd„ tdƒD ƒdœƒ} dd„ }dd	„ }d
}tjt|d�� | jdgd� |¡}W d   ƒ n1 s4w   Y  t ddidgd�}d|j_d
}tjt|d�� | jdgd� |¡}W d   ƒ n1 sdw   Y  t t	 
ddd¡ d¡ddœdgd�}d|j_t ||¡ t ||¡ d S )Nr   c                 S   s   g | ]}t  ¡ ‘qS r   )r   Únow)rE   Únnr   r   r   rG   +  rH   z'test_time_field_bug.<locals>.<listcomp>r   rw   c                 S   s   t ddiƒS )Nrv   rt   ©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   rt   ©rS   rv   )r   r   rœ  r   r   r   Úfunc_with_date0  ó   z+test_time_field_bug.<locals>.func_with_dater   r   rR   ©Úbyrv   rt   r   rŸ  Únsr   )r   r   r!   r"   r#   r$   r%   r   r6   r&   r†  Úas_unitr(   )r)   rž  r¡  r*   Údfg_no_conversionÚdfg_no_conversion_expectedÚdfg_conversionÚdfg_conversion_expectedr   r   r   Útest_time_field_bug%  s&   ÿÿÿr«  c                     s`   t g d¢g d¢g d¢g d¢dœƒ} |  ddg¡} | jddgdd	�}d
d„ ‰ | ‡ fdd„¡ d S )N)rR   rR   rR   rS   rS   rS   rR   rR   rR   rS   rS   rS   )rv   rv   ró   ró   ró   Úerv   rv   ró   ró   ró   r¬  )gš™™™™™ñ?rt   ru   r|   r}   r~   rt   r|   r~   rz   r   rt   )gffffff@rz   r€   r   é   é   rz   r   r~   r}   r|   ru   )Úgroup1Úgroup2Úweightr.   r¯  r°  T)rT  Úsortc                 S   s   t  | | ¡ d¡}|S )Nru   )rÈ   ÚarrayÚrepeat)r.   r±  r¨   r   r   r   ÚnoddyR  s   z7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyc                    s   ˆ | j | jƒS r   )r.   r±  r:   ©rµ  r   r   r<   \  rk   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>)r   rU  r$   r%   )r)   Ú
df_groupedr   r¶  r   Ú(test_gb_apply_list_of_unequal_len_arraysE  s   üÿ
r¸  c                  C   sv   t g d¢g d¢dœƒ} dd„ }d}tjt|d�� |  d¡ |¡}W d   ƒ n1 s+w   Y  t ƒ }t ||¡ d S )	Nry   )rz   r   r|   r}   )r   Úrandom_varsc                 S   s   d S r   r   r:   r   r   r   Ú	test_funcd  r¯   z.test_groupby_apply_all_none.<locals>.test_funcr   r   r   r¼   )Útest_dfrº  r*   rB   rA   r   r   r   Útest_groupby_apply_all_none_  s   ÿr¼  c            
      C   s@  t g d¢g d¢dœƒ} t g d¢g d¢dœƒ}dd„ }d}tjt|d�� |  d	¡ |¡}W d   ƒ n1 s6w   Y  tjt|d�� | d	¡ |¡}W d   ƒ n1 sUw   Y  tjd
d
gddggd	d gd�}tjddgd
dggd	d gd�}t d
d
gddgdœ|d�}t ddgd
dgdœ|d�}	t ||¡ t ||	¡ d S )N)r   r   r   rt   )r   r   rt   ru   )r   Úvarsr¹   c                 S   s    | j d dk r	d S | jddg S )Nr   rt   r-  )rJ  ri   r:   r   r   r   rº  s  s   z0test_groupby_apply_none_first.<locals>.test_funcr   r   r   r   r   rt   rŽ   ru   r   )	r   r!   r"   r#   r$   r%   r   r+  r(   )
Útest_df1Útest_df2rº  r*   rÍ   rÎ   Úindex1Úindex2Ú	expected1Ú	expected2r   r   r   Útest_groupby_apply_none_firstn  s    ÿÿrÄ  c                  C   sž   t ddgddgdœƒ} |  d¡}d}tjt|d�� | d	d
„ ¡}W d   ƒ n1 s+w   Y  tdgdtjddgdggdd gd� 	d¡d�}t 
||¡ d S )Nr   r   ÚfilledÚempty)r.   r   r   r   r   c                 S   s   | | j dk d S )Nr   r.   )r.   r   r   r   r   r<   ‹  ó    z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>r.   rŽ   )r6   r   )r   r$   r!   r"   r#   r%   r   r   Úfrom_productr  rN   )r)   r   r*   rB   rA   r   r   r   Ú%test_groupby_apply_return_empty_chunk…  s   
ÿÿûrÉ  c                  C   sx   t d ¡ g d¢g d¢dœƒ} | jddd�}| dd	„ ¡}t g d
¢g d¢dœƒ}t ||¡ | dd	„ ¡}t ||¡ d S )Nza a brx   ©r|   r~   r}   r  r¬   FrL   c                 S   ó   | |   ¡  S r   ©r  r:   r   r   r   r<   ›  rµ   z-test_apply_with_mixed_types.<locals>.<lambda>)gUUUUUUÕ?gUUUUUUå?r   )çš™™™™™Ù?g333333ã?rU   ©rƒ   r„   c                 S   rË  r   rÌ  r:   r   r   r   r<   Ÿ  rµ   )r   rD   r$   r!  r!   r(   r%   )r)   r»   rB   rA   r   r   r   Útest_apply_with_mixed_types–  s   rÏ  c                  C   sš   t dddgitddgƒd�} d}tjt|d�� |  d¡ dd„ ¡}W d   ƒ n1 s,w   Y  ttdgƒtdgƒgtddgdd	�d�}t ||¡ d S )
NrR   r   rt   r   r   r   c                 S   r  r   r   ri  r   r   r   r<   ¨  r  z*test_func_returns_object.<locals>.<lambda>r5   )	r   r   r!   r"   r#   r$   r%   r   rN   r�  r   r   r   Útest_func_returns_object£  s   ÿ(rÐ  Úgroup_column_dtlikec                 C   s†   t dg| gdœƒ}d}tjt|d�� | d¡ dd„ ¡}W d   ƒ n1 s'w   Y  t dgtdgd	dd
�dgd�}t ||¡ d S )Nrb  rw   r   r   rR   c                 S   s   t dgdgd�S )NÚspamé*   r   r›  r:   r   r   r   r<   »  ó    z+test_apply_datetime_issue.<locals>.<lambda>rÒ  r\   ©ro   r6   rÓ  rJ   )r   r!   r"   r#   r$   r%   r   r(   )rÑ  r)   r*   rB   rA   r   r   r   Útest_apply_datetime_issue®  s   
ÿrÖ  c               	   C   sÌ   t t d¡t d¡t d¡t d¡t d¡dœddddddœddddddœdœƒ} dd„ }d	}tjt|d
�� |  d¡ |¡d }W d   ƒ n1 sKw   Y  tdgtj	dgdd�dd�}t 
||¡ d S )Nz2015-02-24 00:00:00)r   r   rt   ru   r|   zsome UA stringzanother UA stringÚ17661101)ÚdayÚ	userAgentÚuserIdc                 S   s   t dd„ |  ¡ D ƒƒS )Nc                 S   s    i | ]\}}||  ¡ jd  “qS )r   )Úvalue_countsr   )rE   rv   Úsr   r   r   Ú
<dictcomp>Þ  s     zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>)r   Úitemsrj   r   r   r   Úmost_common_valuesÝ  r¢  zEtest_apply_series_return_dataframe_groups.<locals>.most_common_valuesr   r   rØ  rÚ  z
2015-02-24r5   r]  )r   r&   r†  r!   r"   r#   r$   r%   r   ÚDatetimeIndexrN   )Útdfrß  r*   rB   rA   r   r   r   Ú)test_apply_series_return_dataframe_groupsÁ  s<   ûûûñÿÿÿrâ  rH  c                 C   sÜ   ddgd }| r"t j|g d¢d�}t jg d¢g d¢dd�}g d¢}ntddgdd	�}d
dg}t||dœ|d�}tt d¡|ttdƒƒttdƒƒdœƒ 	ddg¡}|j
ddd� dd„ ¡}t ||¡ |jjddgkslJ ‚d S )Nr   rt   r}   rx   )Ú
categoriesrƒ   )rã  r6   )rr  é   r   r5   rr  rä  )r„   r  r   r   )r¬   rƒ   r„   r  r¬   F)Úobservedc                 S   r7   r   rÌ  r:   r   r   r   r<   û  r=   z-test_apply_multi_level_name.<locals>.<lambda>)r&   ÚCategoricalÚCategoricalIndexr   r   rÈ   rB  r   r   rU  r$   r%   r!   r(   r   r�   )rH  rS   Úexpected_indexÚexpected_valuesrA   r)   rB   r   r   r   Útest_apply_multi_level_nameé  s$   

ÿ"ÿ
þrê  c              	   C   sú   t jt ddd¡ddddft ddd¡ddd	d
ft ddd¡ddddft ddd¡ddddfgg d¢d�}d}tjt|d�� | d¡ dd„ ¡j	}W d   ƒ n1 sTw   Y  | rbtj
tjd�nt}tt d¡||tj|gg d¢d�}t ||¡ d S )Nià  r   ÚredÚdarkrŸ   rŸ  ÚgreenÚstormyrt   Ú9iÞ  ÚblueÚbrightru   r    iÝ  Úcalmr|   Úpotato)ÚobservationÚcolorÚmoodÚ	intensityÚscorerJ   r   r   rõ  c                 S   rq  r”   rh   ri  r   r   r   r<     rÖ   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>)Úna_valuezdatetime64[ns]r   )r   Úfrom_recordsr&   r†  r!   r"   r#   r$   r%   rm   ÚStringDtyperÈ   r  r]   r   ro   Úint64rN   )r?   r[   r*   rB   ro   rA   r   r   r   Ú)test_groupby_apply_datetime_result_dtypes   s$   üù	ÿþrý  r   Úabcru   Ú2020r  )r  Úfreq))rR   r   )rR   r   )rS   r   c                 C   st   t g d¢g d¢dœ| d�}d}tjt|d�� |jddd	� d
d„ ¡}W d   ƒ n1 s-w   Y  t ||¡ d S )N©r   r   rt   )r   r   r   r\  r   r   r   r   FrL   c                 S   r­   r   r   r:   r   r   r   r<   $  rr   z8test_apply_index_has_complex_internals.<locals>.<lambda>r¼   )r   r)   r*   rB   r   r   r   Ú&test_apply_index_has_complex_internals  s   ÿr  zfunction, expected_valuesc                 C   ó
   | j  ¡ S r   )r   Úto_listr:   r   r   r   r<   +  rÖ   c                 C   ó   t | j ¡ ƒS r   )Úsetr   r  r:   r   r   r   r<   ,  rk   c                 C   r  r   )Útupler   r  r:   r   r   r   r<   -  rk   )r   r   ©rt   ru   c                 C   s   t t| j ¡ ƒƒS r   )ÚdictÚ	enumerater   r  r:   r   r   r   r<   /  rÇ  c                 C   s   dd„ t | j ¡ ƒD ƒS )Nc                 S   s   g | ]\}}||i‘qS r   r   )rE   ÚnÚir   r   r   rG   3  ó    z<lambda>.<locals>.<listcomp>)r
  r   r  r:   r   r   r   r<   3  r  c                 C   s|   t g d¢dgd�}d}tjt|d�� | d¡ | ¡}W d   ƒ n1 s%w   Y  t|tddgdd�d	�}t ||¡ d S )
N)r¬   r¬   rƒ   rƒ   r   rJ   r   r   r¬   rƒ   r5   r   ©	r   r!   r"   r#   r$   r%   r   r   rN   )Úfunctionré  r)   r*   rB   rA   r   r   r   Ú1test_apply_function_returns_non_pandas_non_scalar(  s   ÿr  c                  C   sž   dd„ } t g d¢dddtjgdœƒ}d}tjt|d	�� | d
¡ | ¡}W d   ƒ n1 s.w   Y  tddgdgtjggt	g d¢d
d�d�}t 
||¡ d S )Nc                 S   s   | d j  ¡ S )Nrƒ   )r  Úflattenr   r   r   r   ÚfctD  r   z4test_apply_function_returns_numpy_array.<locals>.fct)rR   rR   rS   Únoner   rt   ru   r
  r   r   r¬   rU   rV   rW   )rR   rS   r  r5   r   )r   rÈ   r  r!   r"   r#   r$   r%   r   r   rN   )r  r)   r*   rB   rA   r   r   r   Ú'test_apply_function_returns_numpy_arrayB  s   ÿ ÿr  r  c                 C   r  r   r   ©Úgrr   r   r   r<   R  r  c                 C   s   | j d d S rg   r   r  r   r   r   r<   R  rk   c                 C   sš   t g d¢dgd�}d}tjt|d�� | d¡ | ¡}W d   ƒ n1 s%w   Y  ttg d¢ƒtg d¢ƒtdd	gƒgtg d
¢dd�d�}t ||¡ d S )N)
r   rt   rt   rt   r   rt   ru   r   ru   r   ÚidrJ   r   r   )r   r|   r   r€   )r   rt   ru   r}   r~   rz   rx   r5   r   r  )r  r)   r*   rB   rA   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   rt   r|   r|   r}   r~   rÁ   rÂ   FrÆ   c                 S   r7   r   )rÌ   r:   r   r   r   r<   h  r=   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>)r¿   rÀ   r�   )rW   rX   rX   )r   r$   r%   r!   r(   )r)   rB   rA   r   r   r   Ú/test_apply_function_with_indexing_return_column`  s   þÿþÿr  Úudfc                 C   r7   r   r°   r:   r   r   r   r<   t  r=   c                 C   s   |   ¡  dd„ ¡S )Nc                 S   s   | d S rg   r   )Úyr   r   r   r<   t  r=   z<lambda>.<locals>.<lambda>)r�   r  r:   r   r   r   r<   t  rÇ  c                 C   sÀ   t ddgddgdœƒ}d}tjt|d�� |jd| d	� |¡}W d   ƒ n1 s)w   Y  |jj|j| d	� |¡}| rN|jj	dksDJ ‚|jj	dksLJ ‚d S |jj	dksVJ ‚|jj	dks^J ‚d S )
NrR   rS   r   rt   r
  r   r   r¬   rL   )
r   r!   r"   r#   r$   r%   rƒ   r¬   r   Únlevels)rM   r  r)   r*   Ú	df_resultÚseries_resultr   r   r   Útest_apply_result_typer  s   	ÿr  c                  C   s¶   t g d¢g d¢dœƒ} d}tjt|d�� | jddd� d	d
„ ¡}W d   ƒ n1 s+w   Y  tjt|d�� | jddd� dd
„ ¡}W d   ƒ n1 sNw   Y  t ||¡ d S )N)rt   r   rt   rx   r
  r   r   r¬   FrL   c                 S   r­   r   r   r:   r   r   r   r<   �  rr   z4test_result_order_group_keys_false.<locals>.<lambda>c                 S   r7   r   r°   r:   r   r   r   r<   ‘  r=   r¼   r�  r   r   r   Ú"test_result_order_group_keys_false‰  s   ÿÿr   c                  C   s  dgd dgd  dgd  } t  | ¡}t j| dd�}tttdƒƒd tdƒ|d	œƒ}tttdƒƒd tdƒ|d	œƒ}d
}tjt|d�� |jddd� 	dd„ ¡}W d   ƒ n1 s[w   Y  tjt|d�� |jddd� 	dd„ ¡}W d   ƒ n1 s~w   Y  t 
||¡ d S )Nz
2001-01-01rt   z
2001-01-02z
2001-01-03ÚUTC)Útzru   r~   )r;   r  Útr   r   r;   FrL   c                 S   ó   | ddg   ¡ S ©Nr;   r  r°   rj   r   r   r   r<      rÔ  z1test_apply_with_timezones_aware.<locals>.<lambda>c                 S   r$  r%  r°   rj   r   r   r   r<   ¤  rÔ  )r&   rà  r   r   r   r!   r"   r#   r$   r%   r(   )ÚdatesÚindex_no_tzÚindex_tzr‡  rˆ  r*   rÍ   rÎ   r   r   r   Útest_apply_with_timezones_aware•  s"   
  ÿÿÿÿr)  c                 C   s  t g d¢g d¢g d¢dœƒ}t ddgddgd	œtd
dgdd�d�}|jdd�}d}tjt|dd�� |jtdd�}W d   ƒ n1 sCw   Y  t ||¡ |jdd�}t	| |ƒ}t
|| ƒ|Ž }tjt|dd�� |jtdd�}W d   ƒ n1 szw   Y  t ||¡ d S )N)éc   r*  r*  éX   r+  r+  )r   rt   ru   r|   r}   r~   )r   rr  rs  r’  r“  é<   r…   é   r~   é–   r,  r   r+  r*  rR   r5   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)Úreduction_funcr)   rA   Úgrpr*   rB   ÚargsÚ_r   r   r   Ú;test_apply_is_unchanged_when_other_methods_are_called_firstª  s.   ýÿþÿ
ÿr8  c               	   C   s  t g d¢tdddƒtdddƒtdddƒtdddƒgg d¢dœtg d¢d	d
�d�} |  ddg¡}d}tjt|d�� | dd„ ¡}W d   ƒ n1 sJw   Y  | jg d¢ }| 	¡ }t
 |g d¢ ¡|_|jd	d�}t ||¡ |jjd D ]
}t|ƒtu s€J ‚qvd S )N)rR   rR   rR   rS   iä  r   r   rt   rº   r  )r   ée   éf   ég   Úidxr5   r   r¬   rƒ   r   r   c                 S   rÒ   rg   rÔ   r:   r   r   r   r<   Þ  rÖ   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>)r   rt   ru   )r¬   rƒ   r<  rJ   )r   r   r   r$   r!   r"   r#   r%   ri   r    r   Ú
from_framer   r  r(   ÚlevelsÚtype)r)   r5  r*   rB   rA   Úvalr   r   r   Ú@test_apply_with_date_in_multiindex_does_not_convert_to_timestampÊ  s0   



üø
õÿÿrA  c                  C   sì   t tj d¡ ddg¡t ddgddgg¡d�} d}tjt|d	�� | j	j
d
d
d�}W d   ƒ n1 s4w   Y  | dd„ ¡}d}tjt|d	�� | j
dd
d�}W d   ƒ n1 s[w   Y  | dd„ ¡}t ||j	¡ t || ¡ d S )Nrt   r~   r|   r¬   rƒ   r   rJ   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   ©r`   rT  c                 S   s   | j ddd�S )Nr   rB  ©Ú	droplevelr:   r   r   r   r<   ø  rk   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>rb   c                 S   r/  )Nr   r   rB  rC  r:   r   r   r   r<   ý  rk   )r   rÈ   rÉ   rÊ   r   rÈ  r!   r"   r#   ru  r$   r%   r(   )r)   r*   rp   Úby_rowsÚgb2Úby_colsr   r   r   Ú2test_apply_by_cols_equals_apply_by_rows_transposedê  s    þÿÿrH  Údropnac                 C   sž   t g d¢dtjtjddgdœtdƒd�}d}tjt|d�� |jd	| d
d� dd„ ¡}W d   ƒ n1 s5w   Y  | r@| 	¡ n|j
g d¢ }t ||¡ d S )N©r   rt   ru   r|   r}   rR   rS   )Úcolr   Úxxyxzr   r   r   r   F)rI  rM   c                 S   r­   r   r   r:   r   r   r   r<     rr   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>)r   ru   r   rt   r|   )r   rÈ   r  r   r!   r"   r#   r$   r%   rI  ri   r(   )rI  r)   r*   rB   rA   r   r   r   Ú#test_apply_dropna_with_indexed_same  s   þûÿrM  zas_index, expected)r   r   r   )rt   rt   r   )rR   rS   N)ro   zTODO(infer_string))Úreason)Úmarksr×   )rt   rt   rS   rŽ   r   c                 C   sz   t g d¢g d¢g d¢dœƒ}d}tjt|d�� |jddg| d� d	d
„ ¡}W d   ƒ n1 s0w   Y  t ||¡ d S )NrY  )r   r   r   r   r…   r   r   rR   rS   rÆ   c                 S   s   dS rg   r   r:   r   r   r   r<   ,  rr   z5test_apply_as_index_constant_lambda.<locals>.<lambda>)r   r!   r"   r#   r$   r%   Úassert_equal)rÇ   rA   r)   r*   rB   r   r   r   Ú#test_apply_as_index_constant_lambda  s   ÿrQ  c                  C   s    t g d¢g d¢g d¢dœtdƒd�} d}tjt|d�� |  d	¡ d
d„ ¡}W d   ƒ n1 s0w   Y  ttddƒtj	g d¢d	d gd�dd�}t 
||¡ d S )NrJ  )r~   r   rz   r€   r   )r   r   r   rt   rt   r  r}   r   r   r   r„   c                 S   r  r   )r¬   rV  r:   r   r   r   r<   8  rÖ   z(test_sort_index_groups.<locals>.<lambda>r   r~   )rÙ   r×   rÚ   r  rØ   rŽ   r¬   r]  )r   r   r!   r"   r#   r$   r%   r   r   rÝ   rN   r�  r   r   r   Útest_sort_index_groups0  s    þÿÿûrR  c                  C   sŠ   t tjdddd�tdƒtdƒdœƒ} d}tjt|d�� | j| j	| j
jj
gd	d
� dd„ ¡}W d   ƒ n1 s8w   Y  t || ¡ d S )Nz
2010-01-01Ú12hr}   )r   r  rÛ   )r   ÚvalsÚletr   r   FrL   c                 S   s   | j dd … S r”   rh   r:   r   r   r   r<   P  rk   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>)r   r&   r—  r   r   r!   r"   r#   r$   rU  r   Údtr%   r(   )rA   r*   rB   r   r   r   Ú)test_positional_slice_groups_datetimelikeC  s   ýÿÿ
þÿrW  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)rR   rR   rS   rx   rÊ  r  r¬   rƒ   r„   c                 S   s   |   t¡ ¡ |  ¡  S r   )ÚastypeÚfloatr<  r;  r:   r   r   r   r<   X  s    z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>rU   r@  rV   rÎ  rR   rS   r5   r   )r   r$   r%   r   r!   r(   )r)   rp   rB   rA   r   r   r   Ú%test_groupby_apply_shape_cache_safetyT  s   
ÿrZ  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)rR   rS   rR   rS   )ÚaaÚacr\  Úad)r[  r[  r[  r\  )rR   Úb1Úb2rR   r^  r_  c                 S   s   |   ¡  ¡ S r   )ÚunstackrÛ  r:   r   r   r   r<   j  rµ   z3test_groupby_apply_to_series_name.<locals>.<lambda>)rR   rR   rS   rS   rS   )r[  r\  r\  r]  r[  )Úarraysr�   )ru   r   rt   r   r   r©   r]  )	r   Ú	from_dictr$   r%   r   r+  r   r!   rN   )r)   r5  rB   Úexpected_idxrA   r   r   r   Ú!test_groupby_apply_to_series_name`  s   ýÿþrd  c                 C   s¾   t g d¢g d¢ddtjtjgdœƒ}|jd| d�}d}tjt|d	�� | d
d„ ¡}W d   ƒ n1 s4w   Y  tjt|d	�� | dd„ ¡}W d   ƒ n1 sRw   Y  t ||¡ d S )NrY  )r   r   rt   r}   r   rt   )r5  r  Úzr5  )rI  r   r   c                 S   s   |   dd¡S )Nr   re  )Únlargest)Úgrp_dfr   r   r   r<   }  rµ   ztest_apply_na.<locals>.<lambda>c                 S   s   | j ddd� d¡S )Nre  F)Ú	ascendingr   )r  rÕ   r:   r   r   r   r<     rH   )	r   rÈ   r  r$   r!   r"   r#   r%   r(   )rI  r)   Údfgrpr*   rB   rA   r   r   r   Útest_apply_nat  s   ÿÿÿrj  c                  C   sÄ   d} t jt| d��% tg d¢g d¢tjg d¢dd�dœƒ d	d
g¡ dd„ ¡}W d   ƒ n1 s1w   Y  tddtjddd�gddtjddd�ggg d¢tj	ddgd	d
gd�d�}t  
||¡ d S )Nr   r   rY  )r�  r�  r�  r�  rº   rÜ  )Úunitr…   rR   rS   c                 S   rq  ©Nr-  rh   rj   r   r   r   r<   �  rÖ   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>r   r�  rt   r|   )r   r�  )rt   r�  rŽ   rS  )r!   r"   r#   r   r&   r>   r$   r%   r   rÝ   r(   )r*   rB   rA   r   r   r   Ú&test_apply_empty_string_nan_coerce_bugƒ  s$   ýÿ

÷ÿ&ýrm  Úindex_values)rU   rV   rW   c                 C   s”   t g d¢g d¢dœt| ƒd�}t dg d¢itg d¢dd	�d�}d
}tjt|d�� | d¡ dd„ ¡}W d   ƒ n1 s=w   Y  t ||¡ d S )N)r[  Úa2Úa3rx   rw   r   Úb_mean)rV   rW   rU   )ro  rp  r[  rR   r5   r   r   c                 S   s   t | d  ¡ gdgd�S )NrS   rq  r   )r   rÌ   rj   r   r   r   r<   ­  r  z0test_apply_index_key_error_bug.<locals>.<lambda>)r   r   r!   r"   r#   r$   r%   r(   )rn  rB   rA   r*   r   r   r   Útest_apply_index_key_error_bugš  s$   þûÿü
ÿÿrr  zarg,idx)çš™™™™™¹?ç333333Ó?çš™™™™™É?)rs  ru  rt  )r   r|   ru   )rs  rÍ  ru  c                 C   sj   t d| i|d�}d}tjt|d�� |jddd� dd„ ¡}W d   ƒ n1 s(w   Y  t ||¡ d S )	NrK  r   r   r   FrL   c                 S   r­   r   r   r:   r   r   r   r<   à  rr   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>r¼   )Úargr<  rA   r*   rB   r   r   r   Ú#test_apply_nonmonotonic_float_index²  s   +ÿrw  zargs, kwargsÚnumeric_onlyc                 C   s>   |   d¡}|jdg|¢R i |¤Ž}|jdd�}t ||¡ d S )Nr¬   r  T)rx  )r$   r%   r  r!   r(   )r)   r6  Úkwargsrp   rB   rA   r   r   r   Útest_apply_str_with_argsä  s   
rz  r6   Ú	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   rt   r5   rR   FrL   c                 S   r­   r   r   r:   r   r   r   r<   ñ  rr   z1test_result_name_when_one_group.<locals>.<lambda>)r   r$   r%   r!   rN   )r6   rW  rB   rA   r   r   r   Útest_result_name_when_one_groupí  s   r|  z
method, opr%   c                 C   rq  rl  )r  ©rp   r   r   r   r<   ú  rÖ   c                 C   s   | d j d S )NrS   r   rh   r}  r   r   r   r<   û  rk   )ÚaggÚskew)r~  Úprod)r~  r  c              	   C   s^   t g g dœƒ}|jddd�}t|dƒ}t|| ƒ|ƒ}tg ddtg ddd�d�}t ||¡ d S )	Nrw   rR   TrL   rS   r^   rÕ  )r6   ro   r   )r   r$   r3  r   r   r!   rN   )ÚmethodÚopÚempty_dfrp   r   rB   rA   r   r   r   Útest_empty_df÷  s   
ÿr„  r2  c                 C   s´   t g d¢g d¢dœƒ}| d¡}| rtnd }d}tj||d�� |jdd„ | d	�}W d   ƒ n1 s3w   Y  t d
d
gddgdœtdd
gdd�d�}| sR|dg }t ||¡ d S )Nr  )ru   r|   r}   rw   rR   r   r   c                 S   r7   r   rÌ  r:   r   r   r   r<     r=   z%test_include_groups.<locals>.<lambda>r1  rt   r   r}   r   r5   r   rS   )r   r$   r#   r!   r"   r%   r   r(   )r2  r)   rp   Úwarnr*   rB   rA   r   r   r   Útest_include_groups  s   
ÿ&
r†  r   ra   ÚjimÚjoec                    sÌ  t j d¡}t| ddd¡ddgd�}| d¡|d	< | | ¡}|j‰ |tur(d nt	}d
}t
j||ddd�� | |¡}W d   ƒ n1 sEw   Y  t|j| d�ƒ}d|j› d|› d�}	|j|dfksgJ |	ƒ‚‡ fdd„‰d}t
jt	|d�� | ˆ¡}
W d   ƒ n1 s†w   Y  t
 ||
¡ t
jt	|d�� | ‡fdd„¡}W d   ƒ n1 s¬w   Y  t
 ||¡ |tkrÒ| ˆ ¡ ¡ }
|
j| ddd� t
j||
dd� t
 t|ˆ ƒdd�t|ˆ ƒdd�¡ d S )Nrt   r   r   )r   rt   r‡  rˆ  rJ   r   Újolier/  F)r   r0  Úraise_on_extra_warnings)Úsubsetzinvalid frame shape: z (expected (z, 3))ru   c                    s   t tˆ ƒ| dd�S )Nr   rf   )r3  rÈ   r:   )Úfnamer   r   r<   6  rÇ  z%test_builtins_apply.<locals>.<lambda>r   r   c                    s   ˆ | ƒS r   r   r:   )Únpfuncr   r   r<   =  r=   T)r1  r  )Úcheck_dtyper   rf   )rÈ   rÉ   rÊ   r   r  rË   r$   Ú__name__r  r#   r!   r"   r%   rð   Údrop_duplicatesrJ  r(   r~  r    rU  rN   r3  )ra   r   Úrsr)   rp   r…  r*   rB   ÚngroupsÚ
assert_msgrA   rÃ  r   )rŒ  r�  r   Útest_builtins_apply  s<   
ÿüÿÿ(r”  )hr   r   ÚnumpyrÈ   ÚpytestÚpandas._configr   Úpandasr&   r   r   r   r   r	   Úpandas._testingÚ_testingr!   Úpandas.tests.groupbyr
   r,   rC   rP   rq   rs   ÚmarkÚparametrizer   r   rš   r«   r´   r½   rÏ   rê   rø   r	  r  r  r  r  r  r"  r)  r,  r2  rC  rD  rE  rM  rX  r`  rl  r‰  r‘  r˜  r«  r¸  r¼  rÄ  rÉ  rÏ  rÐ  ÚtodayrI   rÖ  râ  rê  rý  rç  Úinterval_rangeÚperiod_rangerÝ   r  r  r  r  r  r  r   r)  r8  rA  rH  rM  Úparamr]   ÚxfailrQ  rR  rW  rZ  rd  rj  rm  rr  rw  rz  r|  r„  r†  r<  r;  r  r”  r   r   r   r   Ú<module>   sp   (*ýÿø"
ðì
.üþ
	*)

 
> þ
(

üþ
		þþøþ


þ  
ÿûÿþøþ
	

úúúçþ
)	

	

ûþ


