U
    ¾mœd”Ã  ã                   @   sÐ  d dl m Z  d dl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ej dddedgƒfeddd�dfg¡dd„ ƒZdd„ Zej dejejg¡dd„ ƒZdd„ Zdd„ Zdd„ Zej ddd d!d"g¡d#d$„ ƒZ d%d&„ Z!d'd(„ Z"d)d*„ Z#d+d,„ Z$d-d.„ Z%d/d0„ Z&d1d2„ Z'd3d4„ Z(ej d5d dg¡d6d7„ ƒZ)ej d5d dg¡d8d9„ ƒZ*d:d;„ Z+ej d5d dg¡d<d=„ ƒZ,d>d?„ Z-d@dA„ Z.dBdC„ Z/ej dDdEdFg¡ejjddGdH„ dIdH„ gdJdKgdL�ej dMdNdOg¡ej d5d dg¡dPdQ„ ƒƒƒƒZ0dRdS„ Z1dTdU„ Z2dVdW„ Z3dXdY„ Z4dZd[„ Z5d\d]„ Z6d^d_„ Z7d`da„ Z8dbdc„ Z9ddde„ Z:dfdg„ Z;dhdi„ Z<djdk„ Z=dldm„ Z>dndo„ Z?ej dpe	dqdrgdsdtggƒedqdsduœdrdtduœgƒge	d dgdvdwggƒed dvduœddwduœgƒgg¡dxdy„ ƒZ@dzd{„ ZAej d|dd}g¡d~d„ ƒZBd€d�„ ZCej d‚dƒed„ƒgd…e Dd†¡gg¡d‡dˆ„ ƒZEej d‰e	ƒ e	eFdŠƒd‹�e	eFdŠƒdŒ�e	g g g d�œƒg¡ej deGdŽdH„ g¡d�d�„ ƒƒZHd‘d’„ ZId“d”„ ZJd•d–„ ZKd—d˜„ ZLd™dš„ ZMd›dœ„ ZNd�dž„ ZOdŸd „ ZPej d¡d¢d£g¡d¤d¥„ ƒZQd¦d§„ ZRd¨d©„ ZSdªd«„ ZTd¬d­„ ZUd®d¯„ ZVej d|d°d±dejWg¡d²d³„ ƒZXd´dµ„ ZYd¶d·„ ZZd¸d¹„ Z[dºd»„ Z\d¼d½„ Z]d¾d¿„ Z^dÀdÁ„ Z_dÂdÃ„ Z`ej d|ddvg¡dÄdÅ„ ƒZadÆdÇ„ Zbej dÈddvdwgddvgg¡dÉdÊ„ ƒZcdËdÌ„ ZddÍdÎ„ ZedÏdÐ„ ZfdÑdÒ„ ZgdÓdÔ„ ZhdÕdÖ„ Zid×dØ„ ZjejjdÙdÚdH„ dÛdH„ dÜdH„ gdÝdÞdßgdL�dàdá„ ƒZkdâdã„ Zldädå„ Zmdædç„ Zndèdé„ Zodêdë„ Zpdìdí„ Zqdîdï„ Zrdðdñ„ Zsej dòd£d¢g¡dódô„ ƒZtej dòd£d¢g¡dõdö„ ƒZud÷dø„ Zvej d5d dg¡ej dùdúi fdûi fdüi fdýdþdvifdÿddv�d œfdÿdvd�d œfdÿddvdw�dœfg¡�d�d„ ƒƒZwej �ddvdw�dg¡�d�d„ ƒZx�d�d	„ Zyej �d
e	�ddg�d�dg�dœƒg¡ej �d�d�ddg¡�d�d„ ƒƒZzej �ddd}dN�dej{g¡�d�d„ ƒZ|�d�d„ Z}�d�d„ Z~�d�d„ Z�d�d„ Z€�d�d „ Z��d!�d"„ Z‚�d#�d$„ Zƒ�d%�d&„ Z„�d'�d(„ Z…ej �d)ddvdwgdddg�d œddvdwgdg�d œfdvdvdvgdddg�d œdvgdg�d œfg¡�d*�d+„ ƒZ†�d,�d-„ Z‡�d.�d/„ ZˆdS (0  é    )ÚdatetimeN)ÚCategoricalDtype)Ú	DataFrameÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_range)Ú
zip_framesc              	   C   sº   t jdd��¤ t  | d ¡}|  t j¡d }t ||¡ |  t j¡d }t  | d ¡}||ksbt‚| jd }| jt jdd�}t  |  	|¡¡}|| |ksœt‚|j| jks¬t‚W 5 Q R X d S )NÚignore©ÚallÚAr   é   ©Úaxis)
ÚnpÚerrstateÚsqrtÚapplyÚtmÚassert_series_equalÚmeanÚAssertionErrorÚindexÚxs)Úfloat_frameÚresultÚexpectedÚd© r   ú\/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/pandas/tests/apply/test_frame_apply.pyÚ
test_apply   s    
r!   c                  C   sf   t ddddgddddgdœƒ} |  dd„ ¡}|jdks:t‚t|d	 jtƒsNt‚t|d
 jtƒsbt‚d S )Nr   ÚBÚCÚD©Úc0Úc1c                 S   s
   |   d¡S )NÚcategory©Úastype)Útsr   r   r    Ú<lambda>+   ó    z-test_apply_categorical_func.<locals>.<lambda>)é   é   r&   r'   )r   r   Úshaper   Ú
isinstanceÚdtyper   ©Údfr   r   r   r    Útest_apply_categorical_func(   s
    r5   c                  C   s8   t dtddd�giƒ} | jdd„ dd�}t || ¡ d S )	Nr   ú
2013-01-01ÚUTC©Útzc                 S   s   | S ©Nr   ©Úxr   r   r    r,   5   r-   z*test_apply_axis1_with_ea.<locals>.<lambda>r   r   ©r   r   r   r   Úassert_frame_equal©r   r   r   r   r    Útest_apply_axis1_with_ea2   s    r@   zdata, dtype©r   Nr   r6   r7   r8   c                 C   s<   t | g| ggddg|d�}|jdd„ dd�}t ||¡ d S )NÚa)r   r2   c                 S   s   | S r:   r   r;   r   r   r    r,   @   r-   z0test_agg_axis1_duplicate_index.<locals>.<lambda>r   r   ©r   Úaggr   r>   )Údatar2   r   r   r   r   r    Útest_agg_axis1_duplicate_index9   s    rF   c                  C   sH   t tddd�tjt d¡dd�dœƒ} | jdd„ d	d
�}t || ¡ d S )NÚ20130101é   ©ÚperiodsÚs)Úunit©r   r"   c                 S   s   | S r:   r   r;   r   r   r    r,   M   r-   z/test_apply_mixed_datetimelike.<locals>.<lambda>r   r   )	r   r   ÚpdZto_timedeltar   Zaranger   r   r>   r?   r   r   r    Útest_apply_mixed_datetimelikeD   s    
þÿrO   Úfuncc                 C   s   t ƒ }| | ¡}|jst‚d S r:   )r   r   Úemptyr   )rP   Úempty_framer   r   r   r    Útest_apply_emptyQ   s    
rS   c                 C   sz   | d d… }|  dd„ ¡}ttj| jd�}t ||¡ | jd d …g f }|j dd„ dd�}ttj| jd�}t ||¡ d S )Nr   c                 S   s   |   ¡ S r:   ©r   r;   r   r   r    r,   \   r-   z(test_apply_float_frame.<locals>.<lambda>©r   c                 S   s   |   ¡ S r:   rT   r;   r   r   r    r,   a   r-   r   r   )	r   r   r   ÚnanÚcolumnsr   r   Úlocr   )r   Zno_rowsr   r   Úno_colsr   r   r    Útest_apply_float_frameZ   s    rZ   c                  C   s.   t dgd�} | jdd„ dd�}t || ¡ d S )NrB   rU   c                 S   s   | d S )NrB   r   r;   r   r   r    r,   i   r-   z/test_apply_empty_except_index.<locals>.<lambda>r   r   ©r   r   r   r>   r?   r   r   r    Útest_apply_empty_except_indexf   s    r\   c                  C   s¾   t ƒ } g }| j|jddd�}t || ¡ | j|jddd�}tg tjd�}t ||¡ t dddgd	�}|j|jddd�}t ||¡ |j|jddd�}tg tjd�}t ||¡ |g ksºt	‚d S )
Nr   Úexpand©r   Úresult_typeÚreduce©r2   rB   ÚbÚc©rW   )
r   r   Úappendr   r>   r   r   Úfloat64r   r   )rR   r<   r   r   Zempty_with_colsr   r   r    Útest_apply_with_reduce_emptym   s    rg   ÚsumÚprodÚanyr   c                 C   sN   t dddgd�}| tt| ƒ¡}t|| ƒƒ }| dkr>| t¡}t ||¡ d S )NrB   rb   rc   rd   )rh   ri   )r   r   Úgetattrr   r*   Úfloatr   r   )rP   r4   r   r   r   r   r    Útest_apply_funcs_over_emptyƒ   s    
rm   c                  C   sZ   t dddgd�} |  ¡ }td| jd�}t ||¡ | j ¡ }tg tjd�}t ||¡ d S )NrB   rb   rc   rd   r   rU   ra   )	r   Znuniquer   rW   r   r   ÚTr   rf   ©r4   r   r   r   r   r    Útest_nunique_empty�   s    
rp   c                  C   s‚   t dddgdddgddd	ggd
d
dgd�} | jdd„ dd�}tdddgd
d
dgƒ}t ||¡ | jjdd„ dd�}t ||¡ d S )Nr   r/   rH   r.   é   é   é   é   é	   rB   rc   rU   c                 S   s   | d S ©Nr   r   ©rK   r   r   r    r,   Ÿ   r-   z/test_apply_standard_nonunique.<locals>.<lambda>r   c                 S   s   | d S rv   r   rw   r   r   r    r,   £   r-   r   )r   r   r   r   r   rn   ro   r   r   r    Útest_apply_standard_nonuniqueœ   s    *rx   c                 C   s4   | j tjdd�}t|  ¡ g| jd�}t ||¡ d S )NÚ	broadcast©r_   rU   )r   r   r   r   r   r   r>   ©r   r   r   r   r   r    Útest_apply_broadcast_scalars§   s    r|   c                    sF   | j tjddd�}| jdd�‰ t‡ fdd„| jD ƒƒ}t ||¡ d S )Nr   ry   r^   r   c                    s   i | ]
}|ˆ “qS r   r   ©Ú.0rc   ©Úmr   r    Ú
<dictcomp>±   s      z6test_apply_broadcast_scalars_axis1.<locals>.<dictcomp>)r   r   r   r   rW   r   r>   r{   r   r   r    Ú"test_apply_broadcast_scalars_axis1®   s    r‚   c                    sZ   ˆ j ‡ fdd„ddd�}tttˆ jƒƒƒ}t|gtˆ jƒ dˆ jˆ jd�}t ||¡ d S )Nc                    s   t ttˆ jƒƒƒS r:   )ÚlistÚrangeÚlenrW   r;   ©r   r   r    r,   ¸   r-   z4test_apply_broadcast_lists_columns.<locals>.<lambda>r   ry   r^   rf   )r2   r   rW   )	r   rƒ   r„   r…   rW   r   r   r   r>   )r   r   r€   r   r   r†   r    Ú"test_apply_broadcast_lists_columnsµ   s    
ýür‡   c                    sX   ˆ j ‡ fdd„dd�}tttˆ jƒƒƒ‰t‡fdd„ˆ jD ƒdˆ jd�}t ||¡ d S )	Nc                    s   t ttˆ jƒƒƒS r:   )rƒ   r„   r…   r   r;   r†   r   r    r,   È   r-   z2test_apply_broadcast_lists_index.<locals>.<lambda>ry   rz   c                    s   i | ]
}|ˆ “qS r   r   r}   r   r   r    r�   Ì   s      z4test_apply_broadcast_lists_index.<locals>.<dictcomp>rf   )r2   r   )	r   rƒ   r„   r…   r   r   rW   r   r>   r{   r   )r   r€   r    Ú test_apply_broadcast_lists_indexÆ   s    
 ÿýrˆ   c                 C   s(   | }|j dd„ ddd�}t ||¡ d S )Nc                 S   s
   dddgS ©Nr   r/   rH   r   r;   r   r   r    r,   Ö   r-   z7test_apply_broadcast_list_lambda_func.<locals>.<lambda>r   ry   r^   ©r   r   r>   )Úint_frame_const_colr4   r   r   r   r    Ú%test_apply_broadcast_list_lambda_funcÓ   s    rŒ   c                 C   s0   | }|j dd„ ddd�}| ¡ }t ||¡ d S )Nc                 S   s   t dddgtdƒd�S )Nr   r/   rH   ÚabcrU   )r   rƒ   r;   r   r   r    r,   Ý   r-   z9test_apply_broadcast_series_lambda_func.<locals>.<lambda>r   ry   r^   ©r   Úcopyr   r>   ©r‹   r4   r   r   r   r   r    Ú'test_apply_broadcast_series_lambda_funcÚ   s    ýr‘   r   c                 C   s   dd„ }| j ||dd� d S )Nc                 S   s"   t | tjƒst‚| jdkst‚d S ©Nr   ©r1   r   Úndarrayr   Úndimr;   r   r   r    Ú_assert_rawç   s    z/test_apply_raw_float_frame.<locals>._assert_rawT©r   Úraw©r   )r   r   r–   r   r   r    Útest_apply_raw_float_frameå   s    rš   c                 C   s4   | j tj|dd�}| j dd„ |d�}t ||¡ d S )NTr—   c                 S   s
   | j  ¡ S r:   )Úvaluesr   r;   r   r   r    r,   ñ   r-   z3test_apply_raw_float_frame_lambda.<locals>.<lambda>r   )r   r   r   r   r   )r   r   r   r   r   r   r    Ú!test_apply_raw_float_frame_lambdaî   s    rœ   c                 C   s*   | j dd„ dd�}| d }t ||¡ d S )Nc                 S   s   | d S ©Nr/   r   r;   r   r   r    r,   ÷   r-   z9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>T)r˜   r/   rŠ   r{   r   r   r    Ú'test_apply_raw_float_frame_no_reductionõ   s    rž   c                 C   s   dd„ }| j ||dd� d S )Nc                 S   s"   t | tjƒst‚| jdkst‚d S r’   r“   r;   r   r   r    r–   þ   s    z4test_apply_raw_mixed_type_frame.<locals>._assert_rawTr—   r™   )Zmixed_type_framer   r–   r   r   r    Útest_apply_raw_mixed_type_frameü   s    rŸ   c                 C   s>   | j d }| jtjdd�| }t |  |¡¡}||ks:t‚d S )Nr   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   r    Útest_apply_axis1  s    
r    c                  C   sR   t dgdgdœƒ} | d d… jtjdd�}ttjtjg dd�d	�}t 	||¡ d S )
NÚfooç      ð?rM   r   r   r   Úint64ra   rU   )
r   r   r   r   r   rV   rN   ÚIndexr   r   ro   r   r   r    Útest_apply_mixed_dtype_corner  s    r¥   c                  C   sr   t dgdgdœƒ} | jdd„ dd�}tdgdgd	�}t ||¡ | jd
d„ dd�}tdgdgd	�}t ||¡ d S )Nr¡   r¢   rM   c                 S   s   | d S )Nr   r   r;   r   r   r    r,     r-   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>r   r   r   rU   c                 S   s   | d S )Nr"   r   r;   r   r   r    r,     r-   ©r   r   r   r   r   ro   r   r   r    Ú&test_apply_mixed_dtype_corner_indexing  s    r§   Úaxr   rW   c                 C   s   | S r:   r   r;   r   r   r    r,   #  r-   r,   c                 C   s   |   ¡ S r:   rT   r;   r   r   r    r,   #  r-   Úidentityr   )Zidsr˜   TFc           	   
   C   s¾   t f | dddgiŽ}tjdd��” tjdd��$ t dt¡ |tjg dd	�ƒ}W 5 Q R X t|tj	ƒ }|j
|||d
�}|r¢| |¡}t|tƒs’t‚|j|ks°t‚nt|t ƒs°t‚W 5 Q R X d S )NrB   rb   rc   r
   r   T)ÚrecordZf8ra   r—   )r   r   r   ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningÚarrayr1   r”   r   Z_get_agg_axisr   r   r   )	r¨   rP   r˜   r   r4   Ztest_resZis_reductionr   Zagg_axisr   r   r    Útest_apply_empty_infer_type!  s    
r°   c                  C   s4   t dddgd�} | jdd„ dd�}t|t ƒs0t‚d S )	NrB   rb   rc   rU   c                 S   s   |   ¡ S r:   rT   r;   r   r   r    r,   ;  r-   z7test_apply_empty_infer_type_broadcast.<locals>.<lambda>ry   rz   )r   r   r1   r   )rY   r   r   r   r    Ú%test_apply_empty_infer_type_broadcast9  s    r±   c                 C   s6   ddd„}| j |dd�}|   dd„ ¡}t ||¡ d S )	Nr   c                 S   s   | | S r:   r   ©r<   Úhowmuchr   r   r    Úadd_some@  s    z4test_apply_with_args_kwds_add_some.<locals>.add_somer/   ©r³   c                 S   s   | d S r�   r   r;   r   r   r    r,   D  r-   z4test_apply_with_args_kwds_add_some.<locals>.<lambda>)r   rŠ   )r   r´   r   r   r   r   r    Ú"test_apply_with_args_kwds_add_some?  s    
r¶   c                 C   s6   ddd„}| j |dd�}|   dd„ ¡}t ||¡ d S )	Nr   c                 S   s   |   ¡ | S r:   rT   r²   r   r   r    Úagg_and_addI  s    z:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_addr/   rµ   c                 S   s   |   ¡ d S r�   rT   r;   r   r   r    r,   M  r-   z7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>)r   )r   r   r   )r   r·   r   r   r   r   r    Ú%test_apply_with_args_kwds_agg_and_addH  s    
r¸   c                 C   s8   d	dd„}| j |ddd�}|   dd„ ¡}t ||¡ d S )
Nr   c                 S   s   | | | S r:   r   )r<   ÚsubÚdivider   r   r    Úsubtract_and_divideR  s    zJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide)r/   r/   )Úargsrº   c                 S   s   | d d S )Nç       @r   r;   r   r   r    r,   V  r-   z?test_apply_with_args_kwds_subtract_and_divide.<locals>.<lambda>)r   rŠ   )r   r»   r   r   r   r   r    Ú-test_apply_with_args_kwds_subtract_and_divideQ  s    
r¾   c                 C   s   |   t¡}t || ¡ d S r:   )r   rƒ   r   r>   )r   r   r   r   r    Útest_apply_yield_listZ  s    
r¿   c                 C   sH   t j| jd d d…| j d¡f< |  d¡}| jt jdd�}t ||¡ d S )Nr/   r   r   r   )	r   rV   ZilocrW   Zget_locr   r   r   r   )r   r   r   r   r   r    Útest_apply_reduce_Series_  s    
rÀ   c                  C   s–   t ddgddggddgddgd	�} | jtd
d�}tdddœdddœg| jd�}t ||¡ | jtdd�}tdddœdddœg| jd�}t ||¡ d S )Nr   r/   rH   r.   r&   r'   Úi0Úi1©rW   r   r   r   )rÁ   rÂ   rU   r%   )r   r   Údictr   rW   r   r   r   )rE   r   r   r   r   r    Útest_apply_reduce_to_dictf  s    "rÅ   c                  C   sŠ   t tj dd¡ƒ} | jtjdd�}t dd„ |  ¡ D ƒ| jd�}t	 
||¡ | jtjdd�}t d	d„ | j ¡ D ƒ| jd�j}t	 
||¡ d S )
Né   é
   r   r   c                 S   s   i | ]\}}||  ¡ “qS r   ©Údescribe©r~   ÚiÚvr   r   r    r�   w  s      z2test_apply_differently_indexed.<locals>.<dictcomp>rd   r   c                 S   s   i | ]\}}||  ¡ “qS r   rÈ   rÊ   r   r   r    r�   {  s      )r   r   ÚrandomÚrandnr   r   rÉ   ÚitemsrW   r   r>   rn   r   ro   r   r   r    Útest_apply_differently_indexeds  s     rÐ   c               
   C   sè   t dddgdddgdddgdddgdd	dgdd
dggdddgd�} dd„ }| j|dd�}t tdddƒddgtdddƒddgtdddƒddgtdddƒddgtdddƒd	dgtdddƒd
dggdddgd�} | j|dd�}t ||¡ d S )Nr   ZABC0é2   ZYUM0rÆ   ZDEF0r/   ZABC1ZYUM1ZDEF1rB   ÚmarketÚpositionrd   c                 S   s   | d S )NrÒ   r   )Úrr   r   r    Úf�  s    ztest_apply_bug.<locals>.fr   iÝ  rH   r.   rq   rr   )r   r   r   r   r   )Z	positionsrÕ   r   r   r   r   r    Útest_apply_bug  s0    ú÷ú÷rÖ   c                  C   s’   t dddddddddddgdddddddddddgdddddddddddgtj d¡tj d¡tj d¡dœƒ} | jd	d
„ dd�}t || ¡ d S )Nr¡   ÚbarÚoneÚtwoZdullZshinyé   )r   r"   r#   r$   ÚEÚFc                 S   s   | S r:   r   r;   r   r   r    r,   Ñ  r-   z,test_apply_convert_objects.<locals>.<lambda>r   r   )r   r   rÍ   rÎ   r   r   r>   r?   r   r   r    Útest_apply_convert_objects¡  sX    õõõ


Öÿ/rÝ   c                 C   s.   |   dd„ ¡}t| j| jd�}t ||¡ d S )Nc                 S   s   | j S r:   ©Únamer;   r   r   r    r,   Ö  r-   z(test_apply_attach_name.<locals>.<lambda>rU   )r   r   rW   r   r   r{   r   r   r    Útest_apply_attach_nameÕ  s    rà   c                 C   s2   | j dd„ dd�}t| j| jd�}t ||¡ d S )Nc                 S   s   | j S r:   rÞ   r;   r   r   r    r,   Ü  r-   z.test_apply_attach_name_axis1.<locals>.<lambda>r   r   rU   )r   r   r   r   r   r{   r   r   r    Útest_apply_attach_name_axis1Û  s    rá   c                 C   sD   |   dd„ ¡}tt | jt| jƒdf¡| j| jd�}t ||¡ d S )Nc                 S   s   t  | jt| ƒ¡S r:   ©r   Úrepeatrß   r…   r;   r   r   r    r,   ã  r-   z6test_apply_attach_name_non_reduction.<locals>.<lambda>r   ©r   rW   )	r   r   r   ZtilerW   r…   r   r   r>   r{   r   r   r    Ú$test_apply_attach_name_non_reductioná  s    ýrå   c                    sD   ˆ j dd„ dd�}t‡ fdd„ˆ  ¡ D ƒƒ}ˆ j|_t ||¡ d S )Nc                 S   s   t  | jt| ƒ¡S r:   râ   r;   r   r   r    r,   í  r-   z<test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>r   r   c                 3   s$   | ]}t  |d  tˆ jƒ¡V  qdS )r   N)r   rã   r…   rW   ©r~   Útr†   r   r    Ú	<genexpr>î  s    z=test_apply_attach_name_non_reduction_axis1.<locals>.<genexpr>)r   r   Ú
itertuplesr   r   r   r{   r   r†   r    Ú*test_apply_attach_name_non_reduction_axis1ì  s    ÿrê   c                  C   s†   t  dddgdddgg¡} tddgddgd	d
gg| ddgd�}| dd„ d¡}tddgddgd	d
gg| ddgd�}tj||dd� d S )NrB   rb   rc   r   r   r/   rH   r.   rq   rr   Úcol1Úcol2rä   c                 S   s   t t| ƒt| ƒdœƒS )N)ÚminÚmax)r   rí   rî   r;   r   r   r    r,   ø  r-   z(test_apply_multi_index.<locals>.<lambda>rí   rî   T©Z
check_like)r   Zfrom_arraysr   r   r   r>   )r   rK   r   r   r   r   r    Útest_apply_multi_indexõ  s
    $$rð   z	df, dictsr¡   r×   ZspamÚeggs)r   r   r/   rH   c                 C   sV   dd„ }| j |dd�}| j |dd�}|   |¡}t ||¡ t || ¡ t ||¡ d S )Nc                 S   s   |   ¡ S r:   )Úto_dictr;   r   r   r    r,   	  r-   z!test_apply_dict.<locals>.<lambda>r`   rz   r]   )r   r   r   r>   )r4   ZdictsÚfnZreduce_trueZreduce_falseZreduce_noner   r   r    Útest_apply_dictý  s    
rô   c                 C   sP   |   dd„ ¡}t || d ¡ |   t¡ |   dd„ ¡d d }t|tƒsLt‚d S )Nc                 S   s   | d S r�   r   r;   r   r   r    r,     r-   ztest_applymap.<locals>.<lambda>r/   c                 S   s   | | fS r:   r   r;   r   r   r    r,     r-   r   r   )Úapplymapr   r>   Útyper1   Útupler   )r   Zappliedr   r   r   r    Útest_applymap  s
    
rø   Úvalr¢   c                 C   s2   t | dgd�}| dd„ ¡jd }|tks.t‚d S )NrB   )rE   c                 S   s   | S r:   r   r;   r   r   r    r,   !  r-   z7test_applymap_float_object_conversion.<locals>.<lambda>r   )r   rõ   ÚdtypesÚobjectr   )rù   r4   r   r   r   r    Ú%test_applymap_float_object_conversion  s    rü   c                  C   sT   t tj d¡ƒ} |  ¡ }ddddg}|| _| t¡}||_|  t¡}t ||¡ d S )N©rH   r.   rB   )	r   r   rÍ   r�   rW   rõ   Ústrr   r>   )r4   Zdf2Úcolsr   r   r   r   r    Útest_applymap_str%  s    

r   zcol, valr   rG   Ú	timedeltaz1 minc                 C   sJ   t tj d¡ƒ}||| < | t¡}|jd| f t|jd| f ƒksFt‚d S )Nrý   r   )r   r   rÍ   rõ   rþ   rX   r   )Úcolrù   r4   r   r   r   r    Útest_applymap_datetimelike2  s    
r  r   ÚABCrd   rU   ©r   r"   r#   c                 C   s   | S r:   r   r;   r   r   r    r,   G  r-   c                 C   s   |   |¡}t || ¡ d S r:   )rõ   r   r>   )r   rP   r   r   r   r    Útest_applymap_empty>  s    
r  c                  C   sF   t ddgddggƒjdd„ dd�} t ddgdd	ggƒ}t | |¡ d S )
Nr   r/   rH   r.   c                 S   s   | | S r:   r   ©r<   Úyr   r   r    r,   P  r-   z&test_applymap_kwargs.<locals>.<lambda>©r  rq   rr   )r   rõ   r   r>   )r   r   r   r   r    Útest_applymap_kwargsN  s    "r
  c                 C   sj   |   dd„ ¡}|  ¡ }tjjdd| jtd�}tj||< |j dd„ dd�}| ¡ }tj||< t	 
||¡ d S )	Nc                 S   s   t t| ƒƒS r:   ©r…   rþ   r;   r   r   r    r,   W  r-   z)test_applymap_na_ignore.<locals>.<lambda>r   r/   )Úsizer2   c                 S   s   t t| ƒƒS r:   r  r;   r   r   r    r,   \  r-   r
   )Z	na_action)rõ   r�   r   rÍ   Úrandintr0   ÚboolrN   ZNAr   r>   )r   Zstrlen_frameZfloat_frame_with_naÚmaskZstrlen_frame_na_ignoreZstrlen_frame_with_nar   r   r    Útest_applymap_na_ignoreU  s    
 ÿ
r  c                  C   s*   t tddd�ƒ} dd„ }t| ƒ |¡ d S )Nz1/1/2000rÇ   rI   c                 S   s   | j | j| jfS r:   )ÚhourÚdayÚmonthr;   r   r   r    rP   g  s    z*test_applymap_box_timestamps.<locals>.func)r   r   r   rõ   )ZserrP   r   r   r    Útest_applymap_box_timestampsc  s    r  c               	   C   sš   t tdƒtdƒgtddd�tddd�gt d¡t d¡gtjddd�tjddd�gd	œƒ} |  d
d„ ¡}t ddgddgddgddgd	œƒ}t ||¡ d S )Nz
2011-01-01z
2011-01-02z
US/Easternr8   z1 daysz2 daysÚM)Úfreq©rB   rb   rc   r   c                 S   s
   t | ƒjS r:   )rö   Ú__name__r;   r   r   r    r,     r-   z#test_applymap_box.<locals>.<lambda>r   Ú	TimedeltaÚPeriod)r   r   rN   r  r  rõ   r   r>   ro   r   r   r    Útest_applymap_boxn  s(    

þþùÿüÿr  c                     s^   ddl m‰  tdtdddƒgiƒ} |  ‡ fdd„¡} |  ‡ fdd„¡} | jj}|d	ksZt‚d S )
Nr   ©ÚBDayÚx1iÌ  r   c                    s
   | ˆ ƒ  S r:   r   r;   r  r   r    r,   �  r-   z:test_frame_apply_dont_convert_datetime64.<locals>.<lambda>c                    s
   | ˆ ƒ  S r:   r   r;   r  r   r    r,   ‘  r-   zM8[ns])Zpandas.tseries.offsetsr  r   r   rõ   r  r2   r   r3   r   r  r    Ú(test_frame_apply_dont_convert_datetime64‹  s    r  c                  C   sd   t dtdddd�iƒ} |  dd„ ¡}t || ¡ |  dd„ ¡}t dtd	ddd�iƒ}t ||¡ d S )
NÚdtz
2015-01-01rH   zEurope/Brussels)rJ   r9   c                 S   s   | S r:   r   r;   r   r   r    r,   š  r-   z,test_apply_non_numpy_dtype.<locals>.<lambda>c                 S   s   | t  d¡ S )NZ1day)rN   r  r;   r   r   r    r,   �  r-   z
2015-01-02)r   r   r   r   r>   ro   r   r   r    Útest_apply_non_numpy_dtype—  s    ÿr!  c                  C   s6   t dddddgidd�} |  dd„ ¡}t || ¡ d S )	Nr   rB   rb   rc   r(   ra   c                 S   s   | S r:   r   r;   r   r   r    r,   ¦  r-   z5test_apply_non_numpy_dtype_category.<locals>.<lambda>r[   r3   r   r   r    Ú#test_apply_non_numpy_dtype_category¤  s    r"  c                  C   sR   t ddgddggddgd�} t ddggddgdgd�}|  dg¡}t ||¡ d S )	Nr   r   r/   rH   rB   rd   rí   rÃ   rC   ©r4   r   r   r   r   r    Útest_apply_dup_names_multi_aggª  s    r$  Úopr   rD   c                 C   sh   dd„ }t t d¡tdƒd�}t|| ƒ|dd�}tdddgdddgdddgdddggƒ}t ||¡ d S )	Nc                 S   s"   d| d  d| d  d| d  gS )Nr/   r   r#   r"   r   ©Úrowr   r   r    Ú
apply_list¶  s    z3test_apply_nested_result_axis_1.<locals>.apply_list)r.   r.   ZABCDrd   r   r   ç        )r   r   Zzerosrƒ   rk   r   r   r   )r%  r(  r4   r   r   r   r   r    Útest_apply_nested_result_axis_1³  s    "ÿr*  c                  C   sR   t dtddd�gidd�} |  dd„ ¡}t || ¡ |  d	d„ ¡}t || ¡ d S )
Nr¡   Z2020r7   r8   zdatetime64[ns, UTC]ra   c                 S   s   | S r:   r   r;   r   r   r    r,   Æ  r-   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>c                 S   s   |   ¡ S r:   )r�   r;   r   r   r    r,   È  r-   r=   r?   r   r   r    Ú%test_apply_noreduction_tzaware_objectÁ  s     ÿr+  c                     sj   t ddddgiƒ} g ‰ ‡ fdd„}‡ fdd„}||fD ].}ˆ d d …= | j|dd	� ˆ t| jƒks6t‚q6d S )
NrB   r   r/   rH   c                    s   ˆ   | j¡ d S r:   ©re   rß   r&  ©Únamesr   r    Úreducing_functionÒ  s    z8test_apply_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | j¡ | S r:   r,  r&  r-  r   r    Únon_reducing_functionÕ  s    z<test_apply_function_runs_once.<locals>.non_reducing_functionr   )r   r   rƒ   r   r   ©r4   r/  r0  rP   r   r-  r    Útest_apply_function_runs_onceÌ  s    
r2  c                     sp   t ddddgiƒ} g ‰ ‡ fdd„}‡ fdd„}||fD ]4}ˆ d d …= | j|d	dd
� ˆ t| j ¡ ƒks6t‚q6d S )NrB   r   r/   rH   c                    s   ˆ   | ¡ d S r:   ©Úextendr&  ©r›   r   r    r/  æ  s    z<test_apply_raw_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | ¡ | S r:   r3  r&  r5  r   r    r0  é  s    
z@test_apply_raw_function_runs_once.<locals>.non_reducing_functionT)r˜   r   )r   r   rƒ   rB   Úto_listr   r1  r   r5  r    Ú!test_apply_raw_function_runs_onceà  s    
r7  c                     sf   t ddddgiƒ} g ‰ ‡ fdd„}‡ fdd„}||fD ]*}ˆ d d …= |  |¡ ˆ | j ¡ ks6t‚q6d S )	NrB   r   r/   rH   c                    s   ˆ   | ¡ d S r:   ©re   ©rù   r5  r   r    r/  ø  s    z;test_applymap_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | ¡ | S r:   r8  r9  r5  r   r    r0  û  s    
z?test_applymap_function_runs_once.<locals>.non_reducing_function)r   rõ   rB   r6  r   r1  r   r5  r    Ú test_applymap_function_runs_onceô  s    

r:  c                  C   sP   t t ddg¡dgd�} t t ddg¡dgtd�}|  dd„ ¡}t ||¡ d S )Ns   abcds   efghr  rd   )rW   r2   c                 S   s
   |   d¡S )Nrû   r)   r;   r   r   r    r,     r-   z-test_apply_with_byte_string.<locals>.<lambda>)r   r   r¯   rû   r   r   r>   r#  r   r   r    Útest_apply_with_byte_string  s    r;  Úasdé   c                    s`   dd dddt jg}td|idd�}|j ‡ fdd„¡}t‡ fd	d
„|D ƒdd�}t ||¡ d S )Nr<  r=  ZcderB   r(   ra   c                    s   | ˆ kS r:   r   r;   r9  r   r    r,     r-   z/test_apply_category_equalness.<locals>.<lambda>c                    s$   g | ]}t  |¡rtjn|ˆ k‘qS r   )rN   Zisnullr   ÚNaN)r~   r<   r9  r   r    Ú
<listcomp>  s     z1test_apply_category_equalness.<locals>.<listcomp>rÞ   )r   r>  r   rB   r   r   r   r   )rù   Z	df_valuesr4   r   r   r   r9  r    Útest_apply_category_equalness  s     ÿr@  c                  C   sV   t tj dd¡ƒ} | jtjjdd�j}|dks2t‚| jtjjdd�j}|dksRt‚d S )NrÇ   r/   r   r   )rÇ   r/   )rr   r/   )	r   r   rÍ   Zrandr   Zfftr0   r   Zrfftr3   r   r   r    Útest_infer_row_shape"  s
    rA  c                  C   sÀ   t ddgddggddgd�} | jdd„ dd�}td	d
„ |  ¡ D ƒƒ}t ||¡ tdƒtdƒg| d< | jdd„ dd�}t ||¡ | d | d   dd„ ¡}tddiddigƒ}t ||¡ d S )Nr   r/   rB   rb   rd   c                 S   s   d| d | d  iS ©NrK   rB   rb   r   r;   r   r   r    r,   0  r-   z,test_with_dictlike_columns.<locals>.<lambda>r   c                 S   s   g | ]}d di‘qS )rK   rH   r   ræ   r   r   r    r?  1  s     z.test_with_dictlike_columns.<locals>.<listcomp>ú2017-05-01 00:00:00ú2017-05-02 00:00:00r   c                 S   s   d| d | d  iS rB  r   r;   r   r   r    r,   8  r-   c                 S   s   d| iS )NrK   r   r;   r   r   r    r,   <  r-   rK   rH   )r   r   r   ré   r   r   r   ro   r   r   r    Útest_with_dictlike_columns-  s    þrE  c                  C   sj   t ƒ } dddg| d< dddg| d< tjd	d
dgdd�| d< | jdd„ dd�}ti i i gƒ}t ||¡ d S )NÚXÚYÚZÚauthorZBBCZNBCZN24Z	publisherz17-10-2010 07:15:30z13-05-2011 08:20:35z15-01-2013 09:09:09T)ZdayfirstÚdatec                 S   s   i S r:   r   r;   r   r   r    r,   J  r-   z:test_with_dictlike_columns_with_datetime.<locals>.<lambda>r   r   )r   rN   Úto_datetimer   r   r   r   ro   r   r   r    Ú(test_with_dictlike_columns_with_datetimeA  s    þ
rL  c                  C   s„   t ddgddggddgd�} | jdd„ ddd	�}t d
ddgiƒ}t ||¡ tdƒtdƒg| d< | jdd„ ddd	�}t ||¡ d S )Nr   r/   rB   rb   rd   c                 S   s   d| d | d  iS rB  r   r;   r   r   r    r,   R  r-   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>r]   r^   rK   rH   rC  rD  r   c                 S   s   d| d | d  iS rB  r   r;   r   r   r    r,   Z  r-   )r   r   r   r>   r   ro   r   r   r    Ú%test_with_dictlike_columns_with_inferO  s    þrM  c                  C   s²   t ttj d¡ƒddddgtdddd�d	œƒ} | dd
g jtdd�}tdd„ | dd
g  ¡ D ƒƒ}t	 
||¡ | ddg jtdd�}tdd„ | ddg  ¡ D ƒƒ}t	 
||¡ d S )Nr.   rB   rƒ   ZofÚwordsz
2016-10-01ÚH)rJ   r  )rB   rb   r+   rb   r   r   c                 S   s   g | ]}|d d… ‘qS rA   r   ræ   r   r   r    r?  i  s     z.test_with_listlike_columns.<locals>.<listcomp>r+   c                 S   s   g | ]}|d d… ‘qS rA   r   ræ   r   r   r    r?  m  s     )r   r   r   rÍ   rÎ   r   r   r÷   ré   r   r   ro   r   r   r    Útest_with_listlike_columns^  s    
ýÿrP  c                  C   sp   t tddgdggƒtdgddggƒdœƒ} t ddg¡| _| jd	d
„ dd�}tg dgg| jd�}t ||¡ d S )NrB   rb   ÚqÚzrç   r  )rÁ   Zj0)rÂ   Zj1c                    s   ‡ fdd„ˆ d D ƒS )Nc                    s   g | ]}|ˆ d  kr|‘qS r	  r   )r~   Úelr&  r   r    r?  v  s      zOtest_with_listlike_columns_returning_list.<locals>.<lambda>.<locals>.<listcomp>r<   r   r&  r   r&  r    r,   v  r-   z;test_with_listlike_columns_returning_list.<locals>.<lambda>r   r   rU   )r   r   r   Úfrom_tuplesr   r   r   r   ro   r   r   r    Ú)test_with_listlike_columns_returning_listq  s
    *rU  c                  C   s\   t ddgddgtdƒtdƒgdœƒ} | jdd	„ d
d�}tdd„ |  ¡ D ƒƒ}t ||¡ d S )Nr¢   r½   r¡   r×   z2017-11-29 03:30:00z2017-11-29 03:45:00)ÚnumberÚstringr   c                 S   s   | j | jfS r:   ©rV  rW  r&  r   r   r    r,   ˆ  r-   z1test_infer_output_shape_columns.<locals>.<lambda>r   r   c                 S   s   g | ]}|j |jf‘qS r   rX  ræ   r   r   r    r?  ‰  s     z3test_infer_output_shape_columns.<locals>.<listcomp>©r   r   r   r   ré   r   r   ro   r   r   r    Útest_infer_output_shape_columns{  s    þýÿ
rZ  c                  C   sˆ   t tj dd¡dddgd�} | jdd„ d	d
�}tdd„ |  ¡ D ƒƒ}t ||¡ | jdd„ d	d
�}tdd„ |  ¡ D ƒƒ}t ||¡ d S )Nrr   rH   r   r"   r#   rd   c                 S   s
   dddgS r‰   r   r;   r   r   r    r,   ’  r-   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>r   r   c                 S   s   g | ]}d ddg‘qS ©r   r/   rH   r   ræ   r   r   r    r?  “  s     z<test_infer_output_shape_listlike_columns.<locals>.<listcomp>c                 S   s   ddgS ©Nr   r/   r   r;   r   r   r    r,   –  r-   c                 S   s   g | ]}d dg‘qS ©r   r/   r   ræ   r   r   r    r?  —  s     ©	r   r   rÍ   rÎ   r   r   ré   r   r   ro   r   r   r    Ú(test_infer_output_shape_listlike_columns�  s    r_  c                    s`   t ddddgitdƒd�}|j‡ fdd„dd	�}t‡ fd
d„| ¡ D ƒ|jd�}t ||¡ d S )NrB   r   r/   rH   r�   rU   c                    s
   t  ˆ ¡S r:   ©r   Zonesr&  r9  r   r    r,      r-   zBtest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>r   c                    s   g | ]}t  ˆ ¡‘qS r   r`  ræ   r9  r   r    r?  ¡  s     zDtest_infer_output_shape_listlike_columns_np_func.<locals>.<listcomp>)r   rƒ   r   r   ré   r   r   r   )rù   r4   r   r   r   r9  r    Ú0test_infer_output_shape_listlike_columns_np_func›  s     ra  c                  C   s~   t tdƒtdƒtdƒtdƒgddddgdddd	gd
d	ddgdœƒ} dd„ }| j|d
d�}tdd„ |  ¡ D ƒƒ}t ||¡ d S )Nz
2010-02-01z
2010-02-04z
2010-02-05z
2010-02-06ru   rq   r.   rH   r/   r   r  c                 S   s   dS )Nr]  r   r;   r   r   r    Úfunµ  s    zDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.funr   c                 S   s   g | ]}d ‘qS )r]  r   ræ   r   r   r    r?  ¹  s     zKtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.<listcomp>rY  )r4   rb  r   r   r   r   r    Ú7test_infer_output_shape_listlike_columns_with_timestamp¥  s    ü


÷ÿrc  Úlstc                    s\   t tj dd¡dddgd�}|j‡ fdd„d	d
�}t‡ fdd„| ¡ D ƒƒ}t ||¡ d S )Nr.   rH   r   r"   r#   rd   c                    s   ˆ S r:   r   r;   ©rd  r   r    r,   Ã  r-   z3test_consistent_coerce_for_shapes.<locals>.<lambda>r   r   c                    s   g | ]}ˆ ‘qS r   r   ræ   re  r   r    r?  Ä  s     z5test_consistent_coerce_for_shapes.<locals>.<listcomp>r^  )rd  r4   r   r   r   re  r    Ú!test_consistent_coerce_for_shapes½  s    rf  c                 C   sd   | }|j dd„ dd�}| jddddœd	�}t ||¡ |j d
d„ dd�}|ddg }t ||¡ d S )Nc                 S   s   t dddgdddgd�S )Nr   r/   rH   ÚtestÚotherrÿ   rU   ©r   r;   r   r   r    r,   Í  r-   z'test_consistent_names.<locals>.<lambda>r   r   rg  rh  rÿ   r  rd   c                 S   s   t ddgddgd�S )Nr   r/   rg  rh  rU   ri  r;   r   r   r    r,   Ô  r-   )r   Úrenamer   r>   r�   r   r   r    Útest_consistent_namesÈ  s     ÿ
ÿrk  c                 C   s<   | }|j dd„ ddd�}| ¡ }dddg|_t ||¡ d S )Nc                 S   s
   dddgS r‰   r   r;   r   r   r    r,   Þ  r-   z"test_result_type.<locals>.<lambda>r   r]   r^   r   r/   ©r   r�   rW   r   r>   r�   r   r   r    Útest_result_typeÙ  s
    rm  c                 C   sB   | }|j dd„ ddd�}|ddg  ¡ }ddg|_t ||¡ d S )	Nc                 S   s   ddgS r\  r   r;   r   r   r    r,   è  r-   z/test_result_type_shorter_list.<locals>.<lambda>r   r]   r^   r   r"   r   rl  r�   r   r   r    Útest_result_type_shorter_listä  s
    
rn  c                 C   s0   | }|j dd„ ddd�}| ¡ }t ||¡ d S )Nc                 S   s
   dddgS r‰   r   r;   r   r   r    r,   ó  r-   z,test_result_type_broadcast.<locals>.<lambda>r   ry   r^   rŽ   r�   r   r   r    Útest_result_type_broadcastî  s    ro  c                    s>   | }dddg‰ |j ‡ fdd„ddd�}| ¡ }t ||¡ d S )	Nrh  r  r.  c                    s   t dddgˆ d�S ©Nr   r/   rH   rU   ri  r;   rd   r   r    r,   þ  r-   z8test_result_type_broadcast_series_func.<locals>.<lambda>r   ry   r^   rŽ   r�   r   rd   r    Ú&test_result_type_broadcast_series_funcø  s    

  ÿrq  c                 C   s.   | }|j dd„ dd�}| ¡ }t ||¡ d S )Nc                 S   s   t dddg| jd�S rp  )r   r   r;   r   r   r    r,   	  r-   z0test_result_type_series_result.<locals>.<lambda>r   r   rŽ   r�   r   r   r    Útest_result_type_series_result  s    rr  c                    sB   | }dddg‰ |j ‡ fdd„dd�}| ¡ }ˆ |_t ||¡ d S )Nrh  r  r.  c                    s   t dddgˆ d�S rp  ri  r;   rd   r   r    r,     r-   z<test_result_type_series_result_other_index.<locals>.<lambda>r   r   rl  r�   r   rd   r    Ú*test_result_type_series_result_other_index  s    
rs  Úboxc                 C   s   t | ƒS r:   )rƒ   r;   r   r   r    r,     r-   c                 C   s   t | ƒS r:   )r÷   r;   r   r   r    r,     r-   c                 C   s   t j| dd�S )Nr£   ra   )r   r¯   r;   r   r   r    r,     r-   rƒ   r÷   r¯   c                    s‚   |}|j ‡ fdd„dd�}t‡ fdd„| ¡ D ƒƒ}t ||¡ |j ‡ fdd„ddd	�}|d
dg jdddœd�}t ||¡ d S )Nc                    s   ˆ ddgƒS r\  r   r;   ©rt  r   r    r,   #  r-   z,test_consistency_for_boxed.<locals>.<lambda>r   r   c                    s   g | ]}ˆ d dgƒ‘qS r]  r   ræ   ru  r   r    r?  $  s     z.test_consistency_for_boxed.<locals>.<listcomp>c                    s   ˆ ddgƒS r\  r   r;   ru  r   r    r,   '  r-   r]   r^   r   r"   r   rM   rd   )r   r   ré   r   r   rj  r>   )rt  r‹   r4   r   r   r   ru  r    Útest_consistency_for_boxed  s    rv  c              	   C   s$  | dkrdnd}t jdd��þ t  |¡}t  |¡}| ¡ }|jt j| d�}t ||¡ |jt jg| d�}| ¡ }| dkrŽt 	|j
dgg¡|_
nt 	|jdgg¡|_t ||¡ |jt jt jg| d�}t||g|d�}| dkrôt 	|j
ddgg¡|_
nt 	|jddgg¡|_t ||¡ W 5 Q R X d S )	N¾   r   r   r   r   r
   r   r   r   Úabsolute)r   r   Úabsr   r�   r   r   r>   r   Zfrom_productrW   r   r	   )r   r   Ú
other_axisZf_absZf_sqrtr   r   r   r   r    Útest_agg_transform,  s.    

ÿÿr{  c                  C   sT   t tdƒddœƒ} |  ddg¡}t ddgddgdœddgddgd	�}t ||¡ d S )
Nrq   rM   rí   rî   r   r.   r   r"   rÃ   )r   r„   rD   r   r>   ro   r   r   r    Ú	test_demoQ  s      ÿr|  c                  C   sn   t tdƒddœƒ} |  ddgddgdœ¡}t ddtjgdtjd	gdœd
dgdddgd�}t | |¡|¡ d S )Nrq   rM   rí   rî   rh   ç      @r)  ç      @g      9@r   r"   rÃ   )r   r„   rD   r   rV   r   r>   Zreindex_likero   r   r   r    Útest_demo_dict_agg\  s    ýr  c                  C   sl   dddgi} t | ƒ}| ddi¡}tddiƒ}t ||¡ |d  ddi¡}tddidd�}t ||¡ d S )Nrß   r¡   r×   Úcountr/   rÞ   )r   rD   r   r   r   )rE   r4   r   r   r   r   r    Ú!test_agg_with_name_as_column_nameh  s    r�  c                  C   s    t dddgdddgddd	gd
œƒ} t ddgddgddgd
œddgd�}|  ddg¡}t ||¡ | dddg  ddg¡}|dddg  ddg¡}t ||¡ d S )Nr   r/   rH   r¢   r½   ç      @r¡   r×   Úbazr  rr   ç      @Ú	foobarbazrí   rh   rU   r#   r"   r   )r   rD   r   r>   Zreindex)Úmdfr   r   r   r   r    Útest_agg_multiple_mixedx  s$    ýÿýú	r‡  c               	   C   s�   t dddgdddgddd	gtd
dd�dœƒ} d}tjt|d�� |  ddg¡ W 5 Q R X tjt|d��  | ddddg  ddg¡ W 5 Q R X d S )Nr   r/   rH   r¢   r½   r‚  r¡   r×   rƒ  rG   rI   ©r   r"   r#   r$   údoes not support reduction©Úmatchrí   rh   r$   r#   r"   r   )r   r   ÚpytestÚraisesÚ	TypeErrorrD   )r†  Úmsgr   r   r    Útest_agg_multiple_mixed_raises”  s    
üÿ
r�  c              	   C   s$  | dkrdnd}|j |  ¡ d d…  ¡ \}}tj|j| d�|j| d�|j| d�gdd�}dddg|_| dkrt|j	n|}|j
dddg| d�}t ||¡ |d|di}|j
|| d�}t| |¡|  ¡ | |¡|  ¡ g||gd	�}t ||¡ |dg|dgi}|j
|| d�}t|t| |¡|  ¡ gdgd	�|t| |¡|  ¡ gdgd	�iƒ}| d
k�r`|j	n|}t ||¡ |ddg|ddgi}|j
|| d�}tj|t| |¡|  ¡ | |¡|  ¡ gddgd	�|t| |¡|  ¡ | |¡|  ¡ gddgd	�idd�}| d
k�r|j	n|}t ||¡ d S )Nrw  r   r   r/   r   r   rî   rh   rU   >   r   rW   )ZaxesÚuniqueZsort_valuesrN   Úconcatr   rî   rh   rW   rn   rD   r   r>   r   rX   r   r   )r   r   rz  Zname1Zname2r   r   rP   r   r   r    Útest_agg_reduce¨  sn    


ýúþû  þÿ þû þûøïr“  c               	   C   s"  t dddgdddgddd	gtd
dd�dœƒ} |  d¡}tdddtd
ƒg| jd�}t ||¡ |  dg¡}t dddtd
ƒggdg| jd�}t ||¡ d}t	j
t|d�� |  d¡ W 5 Q R X | dddg  d¡}tdddgdddgd�}t ||¡ d}t	j
t|d�� |  dg¡ W 5 Q R X d S )Nr   r/   rH   r¢   r½   r‚  r¡   r×   rƒ  rG   rI   rˆ  rí   rU   rä   r‰  rŠ  rh   r   r"   r#   rr   r„  r…  )r   r   rD   r   r   rW   r   r   r>   rŒ  r�  rŽ  )r4   r   r   r�  r   r   r    Útest_nuiscance_columnsí  s4    
üÿ	
ýr”  Úhowc                 C   s  t d ddgdtjdgdd dgdœƒ}t|| ƒdd	iƒ}tddiƒ}t ||¡ t|| ƒdd
iƒ}tddiƒ}t ||¡ t|| ƒd	d
gƒ}t|| ƒd	d
gd	d
gd	d
gdœƒ}t dddœdddœdddœdœƒ}tj||dd� tj||dd� t|| ƒd	ƒ}| ¡ }t ||¡ d S )Nr/   rH   r¢   r‚  r¡   r×   r  r   r€  r  )r€  r  Trï   )	r   r   rV   rk   r   r   r   r>   r€  )r•  r4   r   r   Zresult1Zresult2r   r   r    Útest_non_callable_aggregates  s0    ÿÿýÿr–  c                 C   sx   t d ddgdtjdgdd dgdœƒ}t|| ƒd|d	�}|d
krTt|jd |jd�}nt|jd |jd�}t 	||¡ d S )Nr/   rH   r¢   r‚  r¡   r×   r  r  r   )r   r   r   rU   r   )
r   r   rV   rk   r   r0   rW   r   r   r   )r•  r   r4   r   r   r   r   r    Útest_size_as_str>  s    ÿr—  c                  C   sŒ   t dddgdtjdgdd dgdœƒ} dd„ }|  |¡}tddgdgddggd	d
dgd�}t ||¡ |  |g¡}| d¡j}t 	||¡ d S )Nr/   rH   g      ø?r¡   r×   r  c                 S   s   t |  ¡  ¡ ƒS r:   )rƒ   Zdropnar‘  )Z	group_colr   r   r    rP   R  s    z&test_agg_listlike_result.<locals>.funcr   r"   r#   rU   rP   )
r   r   rV   rD   r   r   r   Zto_framern   r>   )r4   rP   r   r   r   r   r    Útest_agg_listlike_resultN  s    $
"r˜  zargs, kwargsr[  )rt   rs   é   r]  )r   rb   r   ©rB   rb   ©rB   rb   rc   c                 C   sd   ddd„}t ddgddggƒ}| dkr4tdd	gƒ}ntd
dgƒ}|j|| f|ž|Ž}t ||¡ d S )NrH   c                 S   s   |   ¡ || |  S r:   ©rh   )r<   rB   rb   rc   r   r   r    rÕ   l  s    ztest_agg_args_kwargs.<locals>.fr   r/   r.   r   r~  g      @r}  g       @)rH   ©r   r   rD   r   r   )r   r¼   ÚkwargsrÕ   r4   r   r   r   r   r    Útest_agg_args_kwargs^  s    
rŸ  Únum_colsrq   c                 C   sL   t  dddg¡}| ¡ }td|t| ƒd�}| dd„ ¡ |j|jksHt‚d S )Nz
1950-06-30z
1952-10-24z
1953-05-29r   rä   c                 S   s   | S r:   r   r;   r   r   r    r,   �  r-   z,test_frequency_is_original.<locals>.<lambda>)rN   ZDatetimeIndexr�   r   r„   r   r  r   )r   r   Úoriginalr4   r   r   r    Útest_frequency_is_original{  s
    r¢  c                  C   sb   t ddd�t ddd�t ddd�g} tdddg| d	�}|jd
d„ dd�}t| | d�}t ||¡ d S )Nz2019-03-15 12:34:31.909000+0000r7   r8   z2019-03-15 12:34:34.359000+0000z2019-03-15 12:34:34.660000+0000r   r   r/   )rE   r   c                 S   s   | j S r:   rÞ   r;   r   r   r    r,   Ž  r-   z.test_apply_datetime_tz_issue.<locals>.<lambda>r   )r   rE   )r   r   r   r   r   r   )Z
timestampsr4   r   r   r   r   r    Útest_apply_datetime_tz_issue…  s    


ýr£  r4   rB   rc   r   rM   Úmethodrí   rî   c              	   C   s<   |dkrd}nd}t jt|d�� t| |ƒƒ  W 5 Q R X d S )Nrh   z-can only concatenate str \(not "int"\) to strz4not supported between instances of 'str' and 'float'rŠ  )rŒ  r�  rŽ  rk   )r4   r¤  r�  r   r   r    Útest_mixed_column_raises”  s
    r¥  r  c                 C   s:   t d| ggddgd�}| dd„ ¡}|j}t ||¡ d S )Nr¢   rB   rb   rd   c                 S   s   | j S r:   ra   r;   r   r   r    r,   ¤  r-   z"test_apply_dtype.<locals>.<lambda>)r   r   rú   r   r   )r  r4   r   r   r   r   r    Útest_apply_dtype   s    r¦  c                 C   s€   t tdƒtddƒdœƒ}| ¡ }dd„ }| ¡ }|d  d7  < |j|dd�}t ||¡ |sb| rpt ||¡ nt ||¡ d S )	Néd   éÈ   rš  c                 S   s*   | j }| jd  d7  < | j |k	s&t‚| S )NrB   r   )Z_mgrrX   r   )r'  Zmgrr   r   r    rP   ¯  s    z!test_apply_mutating.<locals>.funcrB   r   r   )r   r„   r�   r   r   r>   )Zusing_array_managerZusing_copy_on_writer4   Zdf_origrP   r   r   r   r   r    Útest_apply_mutatingª  s    r©  c                  C   sb   t ddgddgddgddgd	d
ggddgd�} | jdd„ dd�}tg g dœtd�}t ||¡ d S )Nr   r/   rH   r.   rq   rr   rs   rt   ru   rÇ   rB   rb   rd   c                 S   s   g S r:   r   r;   r   r   r    r,   È  r-   z.test_apply_empty_list_reduce.<locals>.<lambda>r`   rz   rš  ra   )r   r   r   rû   r   r   ro   r   r   r    Útest_apply_empty_list_reduceÄ  s    .rª  c                  C   sf   t ddggd ddgd�} |  ddd	„ dd	„ g¡}t d
d
d
gdddgdœdddgd�}t ||¡ d S )Nr.   ru   rH   r   r"   rd   rh   c                 S   s   |   ¡ S r:   rœ  r;   r   r   r    r,   Ð  r-   z,test_apply_no_suffix_index.<locals>.<lambda>r=  é   rM   r,   rU   r[   )Zpdfr   r   r   r   r    Útest_apply_no_suffix_indexÍ  s     ÿr¬  c                  C   s@   t dddgiƒ} | jdd„ ddd�}tddgƒ}t ||¡ d S )	Nr   ZaaÚbbbc                 S   s   | d S rv   r   r;   r   r   r    r,   Û  r-   z/test_apply_raw_returns_string.<locals>.<lambda>r   Tr—   r¦   ro   r   r   r    Útest_apply_raw_returns_stringØ  s    r®  c                  C   sz   t ddddddgdd�} d	d
„ }d|ddg}|  |¡}t ddddgddddgddddgdœddddgd�}t ||¡ d S )N)r   r   r   )r/   r   r   )rH   r   r   )r.   rq   r.   )rq   rr   rr   )rr   rs   rs   )Zatt1Zatt2Zatt3rd   c                 S   s   |   ¡ d S r�   rœ  rw   r   r   r    Úsum_div2ï  s    z4test_aggregation_func_column_order.<locals>.sum_div2rh   r€  rí   g      5@g      %@r„  r¢   g      2@g      "@r)  g      1@g      !@r¯  rU   rC   )r4   r¯  Zaggsr   r   r   r   r    Ú"test_aggregation_func_column_orderà  s*    ú÷



ý
úr°  c                  C   sR   t dddgdddgdœƒ} | ddg jdd„ dd	�}tddd
gƒ}t ||¡ d S )Nr   r   r/   rH   rš  rB   c                 S   s   | d | d  S )Nr   r   r   r;   r   r   r    r,     r-   z+test_apply_getitem_axis_1.<locals>.<lambda>r   r.   r¦   ro   r   r   r    Útest_apply_getitem_axis_1ÿ  s    r±  c               	   C   sD   dd„ } t ddddgiƒ}tjtdd�� | | g¡ W 5 Q R X d S )	Nc                 S   s   t  d¡ |  ¡ S )NúHello, World!)r«   Úwarnrh   r;   r   r   r    Úexpected_warning  s    
zDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningrB   r   r/   rH   r²  rŠ  )r   r   Zassert_produces_warningÚUserWarningrD   )r´  r4   r   r   r    Ú*test_nuisance_depr_passes_through_warnings  s    r¶  c                  C   s¾   t ddtgdtdddƒtjgdœddd	gd
�} |  t¡}t tttgtttgdœddd	gd
�}t	 
||¡ | jtdd�}tttdœƒ}t	 ||¡ | jtdd�}ttttdœƒ}t	 ||¡ d S )NrH   rW  g      Ð?iä  r   )rë   rì   rB   rb   rc   rU   r   r   r›  )r   rl   r   r   rV   rõ   rö   Úintrþ   r   r>   r   r   r   ro   r   r   r    Útest_apply_type  s     þ
þr¸  c                  C   sL   t ddgddgdœƒ} |  d¡jdd„ dd�}tg tjd	�}t ||¡ d S )
Nr   r/   rH   r   rš  c                 S   s   t | d | d ƒS )NrB   rb   )rî   r;   r   r   r    r,   5  r-   z/test_apply_on_empty_dataframe.<locals>.<lambda>r   ra   )r   Úheadr   r   r   rf   r   r   ro   r   r   r    Útest_apply_on_empty_dataframe2  s    rº  ztest, constantc                 C   s>   t | ƒ}t|ddgdd�}dddœ}| |¡}t ||¡ d S )NrB   rb   rû   )rE   r   r2   r‘  rš  r�  )rg  ZconstantZdf1r   Zaggregationr   r   r   r    Útest_unique_agg_type_is_series:  s
    	

r»  c                  C   sz   t dddgdddgdddgdœƒ} tdddgƒ}t | jdd�|¡ | jddd�}t ||¡ |  dd¡}t ||¡ d S )	Nr   r/   r   r  TFr   rj   )r   r   r   r   rj   r   r#  r   r   r    Ú/test_any_apply_keyword_non_zero_axis_regressionL  s    "r¼  c               	   C   sª   t ddddgiƒ} ddd„}ddd	„}d
}tjt|d�� | j||gddddd� W 5 Q R X | j||gdddd�}t ddgddgddggt ddg¡d�}t ||¡ d S )Nr<   r   r/   rH   r   c                 S   s   | | | S r:   r   )r<   rB   rc   r   r   r    Úfoo1]  s    z/test_agg_list_like_func_with_args.<locals>.foo1c                 S   s   | | | S r:   r   )r<   rb   rc   r   r   r    Úfoo2`  s    z/test_agg_list_like_func_with_args.<locals>.foo2z/foo1\(\) got an unexpected keyword argument 'b'rŠ  r.   )rb   rc   )rc   rt   ru   rÇ   )r<   r½  )r<   r¾  rd   )r   r   )r/   r   )	r   rŒ  r�  rŽ  rD   r   rT  r   r>   )r4   r½  r¾  r�  r   r   r   r   r    Ú!test_agg_list_like_func_with_argsY  s    

"þr¿  )‰r   r«   Únumpyr   rŒ  Zpandas.core.dtypes.dtypesr   ZpandasrN   r   r   r   r   r   Zpandas._testingZ_testingr   Zpandas.tests.frame.commonr	   r!   r5   r@   ÚmarkZparametrizerF   rO   r   r   rS   rZ   r\   rg   rm   rp   rx   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ê   rð   rô   rø   rü   r   r  r  rƒ   Úroundr  r
  r  r  r  r  r!  r"  r$  r*  r+  r2  r7  r:  r;  r>  r@  rA  rE  rL  rM  rP  rU  rZ  r_  ra  rc  rf  rk  rm  rn  ro  rq  rr  rs  rv  r{  r|  r  r�  r‡  r�  r“  r”  r–  r—  r˜  rŸ  r¢  r£  r¥  rV   r¦  r©  rª  r¬  r®  r°  r±  r¶  r¸  rº  r»  r¼  r¿  r   r   r   r    Ú<module>   sz  
þ





		  ÿ			"4	þ*ûþ



þ
üþ		




	




ý
%E$
,

ùþ	*
		*&þþ