o
    Û­jÕ  ã                   @   sv
  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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lmZ ejdd	„ ƒZejd
ejdejjd�gd�dd„ ƒZdd„ Zej dd dg¡ej dddg¡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&g d/¢¡d0d1„ ƒZ*d2d3„ Z+d4d5„ Z,d6d7„ Z-d8d9„ Z.d:d;„ Z/d<d=„ Z0d>d?„ Z1d@dA„ Z2ej dd dg¡dBdC„ ƒZ3ej dd dg¡dDdE„ ƒZ4dFdG„ Z5ej dd dg¡dHdI„ ƒZ6dJdK„ Z7dLdM„ Z8dNdO„ Z9ej :dP¡ej dQdRdSg¡ejjd&dTdU„ dVdU„ gdWdXgdY�ej dddg¡ej dd dg¡dZd[„ ƒƒƒƒƒZ;d\d]„ Z<d^d_„ Z=d`da„ Z>dbdc„ Z?ddde„ Z@dfdg„ ZAdhdi„ ZBdjdk„ ZCdldm„ ZDdndo„ ZEdpdq„ ZFdrds„ ZGdtdu„ ZHdvdw„ ZIdxdy„ ZJej dzed{d|gd}d~ggƒed{d}dœd|d~dœgƒged dgd€d�ggƒed d€dœdd�dœgƒgg¡d‚dƒ„ ƒZKd„d…„ ZLd†d‡„ ZMdˆd‰„ ZNej dŠd‹dŒg¡d�dŽ„ ƒZOd�d�„ ZPd‘d’„ ZQd“d”„ ZRd•d–„ ZSej d—d˜d™dejTg¡dšd›„ ƒZUdœd�„ ZVej dždŸd dU„ id¡edŸd€d�giƒfdŸd¢dU„ idedŸd€d�giƒfdŸd£dU„ id¡edŸd�iƒfdŸd¤dU„ idedŸd�iƒfdŸd¥ejWd¦dU„ gid¡edŸg d§¢ig d¨¢d©�fdŸd¥ejWdªdU„ gidedŸg d§¢ig d¨¢d©�fdŸd«dU„ id¡edŸddgiƒfdŸd¬dU„ idedŸdiƒfg¡d­d®„ ƒZXej d¯dŸd°dU„ idŸd±dU„ idŸd¥ejWd²dU„ gidŸd³dU„ ig¡d´dµ„ ƒZYd¶d·„ ZZd¸d¹„ Z[dºd»„ Z\ej džd¼dU„ gd¡ed½d€d�giƒfd¾dU„ gded½d€d�giƒfd¿dU„ gd¡edŸd�gidUgd©�fdÀdU„ gdedŸd�gidUgd©�fd¥ejWdÁdU„ gd¡edŸg d§¢ig d¨¢d©�fd¥ejWdÂdU„ gdedŸg d§¢ig d¨¢d©�fdÃdU„ dÄdU„ gd¡ed€d�gd�d�ggdŸdŸgdUdUggdÅ�fdÆdU„ dÇdU„ gdedŸd€d�gidUdUgƒfg¡dÈdÉ„ ƒZ]ej d¯dÊdU„ gdËdU„ gd¥ejWdÌdU„ gdÍdU„ dÎdU„ gg¡dÏdÐ„ ƒZ^dÑdÒ„ Z_dÓdÔ„ Z`dÕdÖ„ Zad×dØ„ Zbej d—dd€g¡dÙdÚ„ ƒZcdÛdÜ„ Zdej dÝg dÞ¢dd€gg¡dßdà„ ƒZedádâ„ Zfdãdä„ Zgdådæ„ Zhdçdè„ Zidédê„ Zjdëdì„ Zkdídî„ ZlejjdïdðdU„ dñdU„ dòdU„ gg dó¢dY�dôdõ„ ƒZmdöd÷„ Zndødù„ Zodúdû„ Zpdüdý„ Zqdþdÿ„ Zr�d �d„ Zs�d�d„ Zt�d�d„ Zuej �ddŒd‹g¡�d�d„ ƒZvej �ddŒd‹g¡�d	�d
„ ƒZw�d�d„ Zxej dd dg¡ej �ddÞi f�di f�di f�d�dd€if�ddd€�dœf�dd€d�dœf�ddd€d��dœfg¡�d�d„ ƒƒZyej �dg �d¢¡�d�d„ ƒZz�d�d„ Z{ej �dedŸdg�d�dg�d œƒg¡ej �d!g �d"¢¡�d#�d$„ ƒƒZ|ej �d%d�d&ddŸejTg¡�d'�d(„ ƒZ}�d)�d*„ Z~�d+�d,„ Z�d-�d.„ Z€�d/�d0„ Z��d1�d2„ Z‚�d3�d4„ Zƒ�d5�d6„ Z„�d7�d8„ Z…�d9�d:„ Z†�d;�d<„ Z‡ej �d=g dÞ¢g �d>¢�dœg dÞ¢dg�dœfg �d?¢g �d>¢�dœd€gdg�dœfg¡�d@�dA„ ƒZˆ�dB�dC„ Z‰�dD�dE„ ZŠ�dF�dG„ Z‹�dH�dI„ ZŒdS (J  é    )ÚdatetimeN)Úis_platform_arm)ÚCategoricalDtype)Ú	DataFrameÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_range)Ú
zip_frames)ÚVersionc                  C   s2   t t tjddd�d¡ dd¡d g d¢d�} | S )	z‹
    Fixture for DataFrame of ints which are constant per column

    Columns are ['A', 'B', 'C'], with values (per column): [1, 2, 3]
    é   Úint64©Údtypeé   éÿÿÿÿé   ©ÚAÚBÚC©Úcolumns)r   ÚnpÚtileÚarangeÚreshape)Údf© r   ú`/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/apply/test_frame_apply.pyÚint_frame_const_col   s
    þr    ÚpythonÚnumba)Úmarks)Úparamsc                 C   s   | j dkr
t d¡ | j S )Nr"   )ÚparamÚpytestÚimportorskip)Úrequestr   r   r   Úengine&   s   

r)   c                 C   sü   |dkrt jjdd�}|j |¡ tjdd��] t | d ¡}| jtj|d�d }t	 
||¡ | jtj|d�d }t | d ¡}||ksFJ ‚| jd }| jtjd	|d
�}t |  |¡¡}|| |ksdJ ‚|j| ju slJ ‚W d   ƒ d S 1 sww   Y  d S )Nr"   z+numba engine not supporting numpy ufunc yet©ÚreasonÚignore©Úallr   ©r)   r   r   ©Úaxisr)   )r&   ÚmarkÚxfailÚnodeÚ
add_markerr   ÚerrstateÚsqrtÚapplyÚtmÚassert_series_equalÚmeanÚindexÚxs)Úfloat_framer)   r(   r2   ÚresultÚexpectedÚdr   r   r   Ú
test_apply-   s    
"ñrB   r1   r   ÚrawTFc           	      C   s†   |dkr+t  d¡}t|jƒtdƒkrtƒ rt  d|j› �¡ t jjdd�}|j 	|¡ | j
dd„ |d||d	�}| d
 }t ||¡ d S )Nr"   z0.61z&Segfaults on ARM platforms with numba z!numba engine doesn't support argsr*   c                 S   ó   | | S ©Nr   ©ÚxÚyr   r   r   Ú<lambda>M   ó    z!test_apply_args.<locals>.<lambda>©r   )ÚargsrC   r)   r   )r&   r'   r   Ú__version__r   Úskipr2   r3   r4   r5   r8   r9   Úassert_frame_equal)	r>   r1   rC   r)   r(   r"   r2   r?   r@   r   r   r   Útest_apply_argsC   s   
ÿrP   c                  C   s^   t g d¢g d¢dœƒ} |  dd„ ¡}|jdksJ ‚t|d jtƒs#J ‚t|d jtƒs-J ‚d S )	N)r   r   r   r   )r   r   ÚDrQ   ©Úc0Úc1c                 S   ó
   |   d¡S )NÚcategory©Úastype)Útsr   r   r   rI   V   ó   
 z-test_apply_categorical_func.<locals>.<lambda>)é   é   rS   rT   )r   r8   ÚshapeÚ
isinstancer   r   ©r   r?   r   r   r   Útest_apply_categorical_funcS   s
   r`   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 rE   r   ©rG   r   r   r   rI   `   ó    z*test_apply_axis1_with_ea.<locals>.<lambda>r   ©r1   ©r   r   r8   r9   rO   ©r@   r?   r   r   r   Útest_apply_axis1_with_ea]   s   rk   zdata, dtype©r   Nra   rb   rc   c                 C   s<   t | g| ggddg|d�}|jdd„ dd�}t ||¡ d S )NÚa)r<   r   c                 S   re   rE   r   rf   r   r   r   rI   k   rg   z0test_agg_axis1_duplicate_index.<locals>.<lambda>r   rh   ©r   Úaggr9   rO   )Údatar   r@   r?   r   r   r   Útest_agg_axis1_duplicate_indexd   s   rq   c                  C   sH   t tddd�tjt d¡dd�dœƒ} | jdd„ d	d
�}t || ¡ d S )NÚ20130101r   ©ÚperiodsÚs)Úunit©r   r   c                 S   re   rE   r   rf   r   r   r   rI   x   rg   z/test_apply_mixed_datetimelike.<locals>.<lambda>r   rh   )	r   r	   ÚpdÚto_timedeltar   r   r8   r9   rO   rj   r   r   r   Útest_apply_mixed_datetimelikeo   s   
þÿrz   Úfuncc                 C   s"   t ƒ }|j| |d�}|jsJ ‚d S )Nr/   )r   r8   Úempty)r{   r)   Úempty_framer?   r   r   r   Útest_apply_empty|   s   r~   c                 C   s€   | d d… }|j 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 rE   ©r;   rf   r   r   r   rI   ‡   rJ   z(test_apply_float_frame.<locals>.<lambda>r/   ©r<   c                 S   r   rE   r€   rf   r   r   r   rI   Œ   rJ   r   r0   )	r8   r   r   Únanr   r9   r:   Úlocr<   )r>   r)   Úno_rowsr?   r@   Úno_colsr   r   r   Útest_apply_float_frame…   s   r†   c                 C   s0   t dgd�}|jdd„ d| d�}t ||¡ d S )Nrm   r�   c                 S   ó   | d S )Nrm   r   rf   r   r   r   rI   ”   rJ   z/test_apply_empty_except_index.<locals>.<lambda>r   r0   ©r   r8   r9   rO   )r)   r@   r?   r   r   r   Útest_apply_empty_except_index‘   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 g d¢d�}|j|jddd�}t ||¡ |j|jddd�}tg tjd�}t ||¡ |g ks\J ‚d S )Nr   Úexpand©r1   Úresult_typeÚreducer   ©rm   ÚbÚcr   )	r   r8   Úappendr9   rO   r   r   Úfloat64r:   )r}   rG   r?   r@   Úempty_with_colsr   r   r   Útest_apply_with_reduce_empty˜   s   r”   )ÚsumÚprodÚanyr.   c                 C   sL   t g d¢d�}| tt| ƒ¡}t|| ƒƒ }| dv r| t¡}t ||¡ d S )NrŽ   r   )r•   r–   )r   r8   Úgetattrr   rX   Úfloatr9   r:   )r{   r   r?   r@   r   r   r   Útest_apply_funcs_over_empty®   s   
rš   c                  C   sX   t g d¢d�} |  ¡ }td| jd�}t ||¡ | j ¡ }tg tjd�}t ||¡ d S )NrŽ   r   r   r�   r   )	r   Únuniquer   r   r9   r:   ÚTr   r’   ©r   r?   r@   r   r   r   Útest_nunique_emptyº   s   
rž   c                  C   sv   t g d¢g d¢g d¢gg d¢d�} | jdd„ dd	�}tg d
¢g d¢ƒ}t ||¡ | jjdd„ dd	�}t ||¡ d S )N©r   r\   r   )r[   é   r   )é   é   é	   )rm   rm   r�   r�   c                 S   r‡   ©Nr   r   ©ru   r   r   r   rI   Ê   rJ   z/test_apply_standard_nonunique.<locals>.<lambda>r   rh   )r   r[   r¡   c                 S   r‡   r¤   r   r¥   r   r   r   rI   Î   rJ   r   )r   r8   r   r9   r:   rœ   r�   r   r   r   Útest_apply_standard_nonuniqueÇ   s   "r¦   c                 C   s4   | j tjdd�}t|  ¡ g| jd�}t ||¡ d S )NÚ	broadcast©rŒ   r�   )r8   r   r;   r   r<   r9   rO   ©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   r§   r‹   rh   c                    ó   i | ]}|ˆ “qS r   r   ©Ú.0r�   ©Úmr   r   Ú
<dictcomp>Ü   ó    z6test_apply_broadcast_scalars_axis1.<locals>.<dictcomp>)r8   r   r;   r   r   r9   rO   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                    ó   t ttˆ jƒƒƒS rE   )ÚlistÚrangeÚlenr   rf   ©r>   r   r   rI   ã   r±   z4test_apply_broadcast_lists_columns.<locals>.<lambda>r   r§   r‹   r’   )r   r<   r   )	r8   r´   rµ   r¶   r   r   r<   r9   rO   )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                    r³   rE   )r´   rµ   r¶   r<   rf   r·   r   r   rI   ó   r±   z2test_apply_broadcast_lists_index.<locals>.<lambda>r§   r¨   c                    r«   r   r   r¬   r®   r   r   r°   ÷   r±   z4test_apply_broadcast_lists_index.<locals>.<dictcomp>r’   )r   r<   )	r8   r´   rµ   r¶   r<   r   r   r9   rO   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   ó   g d¢S ©NrŸ   r   rf   r   r   r   rI     rJ   z7test_apply_broadcast_list_lambda_func.<locals>.<lambda>r   r§   r‹   ©r8   r9   rO   )r    r   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 g d¢tdƒd�S )NrŸ   Úabcr�   )r   r´   rf   r   r   r   rI     ó    z9test_apply_broadcast_series_lambda_func.<locals>.<lambda>r   r§   r‹   )r8   Úcopyr9   rO   ©r    r   r?   r@   r   r   r   Ú'test_apply_broadcast_series_lambda_func  s   ýrÂ   c                 C   s0   |dkr	t  d¡ dd„ }| j|||dd� d S )Nr"   z)numba can't handle when UDF returns None.c                 S   ó"   t | tjƒsJ ‚| jdksJ ‚d S ©Nr   ©r^   r   ÚndarrayÚndimrf   r   r   r   Ú_assert_raw  ó   z/test_apply_raw_float_frame.<locals>._assert_rawT©r1   r)   rC   )r&   rN   r8   )r>   r1   r)   rÈ   r   r   r   Útest_apply_raw_float_frame  s   
rË   c                 C   s6   | j tj||dd�}| j dd„ |d�}t ||¡ d S )NTrÊ   c                 S   s
   | j  ¡ S rE   )Úvaluesr;   rf   r   r   r   rI     rZ   z3test_apply_raw_float_frame_lambda.<locals>.<lambda>rh   )r8   r   r;   r9   r:   )r>   r1   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   rf   r   r   r   rI   %  rJ   z9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>T)r)   rC   r\   r¼   )r>   r)   r?   r@   r   r   r   Ú'test_apply_raw_float_frame_no_reduction#  s   rÏ   c              	   C   sn   |dkr	t  d¡ dd„ }tdddtjdgd d	d
�tjdgd dd
�dœt d¡d�}|j|| |dd� d S )Nr"   z(isinstance check doesn't work with numbac                 S   rÃ   rÄ   rÅ   rf   r   r   r   rÈ   /  rÉ   z4test_apply_raw_mixed_type_frame.<locals>._assert_rawç      ð?r\   Úfooé
   Úfloat32r   r   Úint32)rm   r�   r�   rÓ   rÔ   r�   TrÊ   )r&   rN   r   r   Úarrayr   r8   )r1   r)   rÈ   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J ‚d S )Nr   r   rh   )r<   r8   r   r;   r=   )r>   rA   r?   r@   r   r   r   Útest_apply_axis1A  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 )
NrÑ   rÐ   rw   r   r   rh   r   r   r�   )
r   r8   r   r;   r   r‚   rx   ÚIndexr9   r:   r�   r   r   r   Útest_apply_mixed_dtype_cornerH  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Ð   rw   c                 S   r‡   )Nr   r   rf   r   r   r   rI   S  rJ   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>r   rh   r   r�   c                 S   r‡   )Nr   r   rf   r   r   r   rI   W  rJ   )r   r8   r   r9   r:   r�   r   r   r   Ú&test_apply_mixed_dtype_corner_indexingQ  s   rÚ   zignore::RuntimeWarningÚaxr<   r   c                 C   re   rE   r   rf   r   r   r   rI   _  rg   rI   c                 C   r   rE   r€   rf   r   r   r   rI   _  rJ   Úidentityr;   )Úidsc                 C   sÄ   t di | g d¢i¤Ž}tjdd��G |tjg dd�ƒ}t|tjƒ }|j||||d�}	|rA| |¡}
t|	tƒs9J ‚|	j	|
u s@J ‚nt|	t ƒsHJ ‚W d   ƒ d S W d   ƒ d S 1 s[w   Y  d S )NrŽ   r,   r-   Úf8r   rÊ   r   )
r   r   r6   rÕ   r^   rÆ   r8   Ú_get_agg_axisr   r<   )rÛ   r{   rC   r1   r)   r(   r   Útest_resÚis_reductionr?   Úagg_axisr   r   r   Útest_apply_empty_infer_type\  s   
ö"ørã   c                  C   s2   t g d¢d�} | jdd„ dd�}t|t ƒsJ ‚d S )NrŽ   r�   c                 S   r   rE   r€   rf   r   r   r   rI   u  rJ   z7test_apply_empty_infer_type_broadcast.<locals>.<lambda>r§   r¨   )r   r8   r^   )r…   r?   r   r   r   Ú%test_apply_empty_infer_type_broadcasts  s   rä   c                 C   ó6   ddd„}| j |dd�}|   dd„ ¡}t ||¡ d S )	Nr   c                 S   rD   rE   r   ©rG   Úhowmuchr   r   r   Úadd_somez  ó   z4test_apply_with_args_kwds_add_some.<locals>.add_somer\   ©rç   c                 S   ó   | d S rÎ   r   rf   r   r   r   rI   ~  rJ   z4test_apply_with_args_kwds_add_some.<locals>.<lambda>©r   r¼   )r>   rè   r?   r@   r   r   r   Ú"test_apply_with_args_kwds_add_somey  ó   
rí   c                 C   rå   )	Nr   c                 S   s   |   ¡ | S rE   r€   ræ   r   r   r   Úagg_and_addƒ  ó   z:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_addr\   rê   c                 S   s   |   ¡ d S rÎ   r€   rf   r   r   r   rI   ‡  ó    z7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>rì   )r8   r9   r:   )r>   rï   r?   r@   r   r   r   Ú%test_apply_with_args_kwds_agg_and_add‚  rî   rò   c                 C   s8   d	dd„}| j |ddd�}|   dd„ ¡}t ||¡ d S )
Nr   c                 S   s   | | | S rE   r   )rG   ÚsubÚdivider   r   r   Úsubtract_and_divideŒ  rð   zJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide)r\   r\   )rL   rô   c                 S   s   | d d S )Nç       @r   rf   r   r   r   rI   �  rñ   z?test_apply_with_args_kwds_subtract_and_divide.<locals>.<lambda>rK   r¼   )r>   rõ   r?   r@   r   r   r   Ú-test_apply_with_args_kwds_subtract_and_divide‹  s   
r÷   c                 C   s   |   t¡}t || ¡ d S rE   )r8   r´   r9   rO   )r>   r?   r   r   r   Útest_apply_yield_list”  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   rh   )	r   r‚   Úilocr   Úget_locr;   r8   r9   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\   r   r[   rS   rT   Úi0Úi1©r   r<   r   rh   )rü   rý   r�   rR   )r   r8   Údictr   r   r9   r:   r<   )rp   r?   r@   r   r   r   Útest_apply_reduce_to_dict   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 )
Nr\   )é   rÒ   r   rh   c                 S   ó   i | ]	\}}||  ¡ “qS r   ©Údescribe©r­   ÚiÚvr   r   r   r°   ±  ó    z2test_apply_differently_indexed.<locals>.<dictcomp>r   r   c                 S   r  r   r  r  r   r   r   r°   µ  r  )r   r   ÚrandomÚdefault_rngÚstandard_normalr8   r   r  Úitemsr   r9   rO   rœ   r<   r�   r   r   r   Útest_apply_differently_indexed­  s    r  c               
   C   sØ   t g d¢g d¢g d¢g d¢g d¢g d¢gg d¢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g d¢d�} | j|dd�}t ||¡ d S )N)r   ÚABC0é2   )r   ÚYUM0r  )r   ÚDEF0r  )r\   ÚABC1r  )r\   ÚYUM1r  )r\   ÚDEF1r  )rm   ÚmarketÚpositionr   c                 S   r‡   )Nr  r   )Úrr   r   r   ÚfÇ  ré   ztest_apply_bug.<locals>.fr   rh   iÝ  r  r  r\   r  r  r   r  r[   r  r    r  r   r  )r   r8   r   r9   r:   )Ú	positionsr  r@   r?   r   r   r   Útest_apply_bug¹  s0   ú÷ú÷r  c               	   C   sn   t g d¢g d¢g d¢tj d¡ d¡tj d¡ d¡tj d¡ d¡dœƒ} | jdd„ d	d
�}t || ¡ d S )N)rÑ   rÑ   rÑ   rÑ   Úbarr  r  r  rÑ   rÑ   rÑ   )Úoner  r  Útwor  r  r  r  r  r  r  )Údullr  Úshinyr  r  r  r  r  r  r  r  r\   é   )r   r   r   rQ   ÚEÚFc                 S   re   rE   r   rf   r   r   r   rI     rg   z,test_apply_convert_objects.<locals>.<lambda>r   rh   )r   r   r	  r
  r  r8   r9   rO   rj   r   r   r   Útest_apply_convert_objectsÛ  s   Öÿ/r#  c                 C   s.   |   dd„ ¡}t| j| jd�}t ||¡ d S )Nc                 S   ó   | j S rE   ©Únamerf   r   r   r   rI     ó    z(test_apply_attach_name.<locals>.<lambda>r�   )r8   r   r   r9   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   r$  rE   r%  rf   r   r   r   rI     r'  z.test_apply_attach_name_axis1.<locals>.<lambda>r   rh   r�   )r8   r   r<   r9   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   ó   t  | jt| ƒ¡S rE   ©r   Úrepeatr&  r¶   rf   r   r   r   rI     r±   z6test_apply_attach_name_non_reduction.<locals>.<lambda>r   ©r<   r   )	r8   r   r   r   r   r¶   r<   r9   rO   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   r*  rE   r+  rf   r   r   r   rI   '  r±   z<test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>r   rh   c                 3   s&   � | ]}t  |d  tˆ jƒ¡V  qdS )r   N)r   r,  r¶   r   ©r­   Útr·   r   r   Ú	<genexpr>(  s   € 
ÿz=test_apply_attach_name_non_reduction_axis1.<locals>.<genexpr>)r8   r   Ú
itertuplesr<   r9   r:   r©   r   r·   r   Ú*test_apply_attach_name_non_reduction_axis1&  s   ÿr3  c                  C   s‚   t  g d¢g d¢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 )N)rm   rm   r�   )r�   rA   rA   r   r\   r   r[   r    r   Úcol1Úcol2r-  c                 S   s   t t| ƒt| ƒdœƒS )N)ÚminÚmax)r   r6  r7  rf   r   r   r   rI   2  ó    z(test_apply_multi_index.<locals>.<lambda>r6  r7  T©Ú
check_like)r   Úfrom_arraysr   r8   r9   rO   )r<   ru   r?   r@   r   r   r   Útest_apply_multi_index/  s
   $$r<  z	df, dictsrÑ   r  ÚspamÚeggs)r   r   r\   r   c                 C   sV   dd„ }| j |dd�}| j |dd�}|   |¡}t ||¡ t || ¡ t ||¡ d S )Nc                 S   r   rE   )Úto_dictrf   r   r   r   rI   C  rJ   z!test_apply_dict.<locals>.<lambda>r�   r¨   rŠ   )r8   r9   r:   rO   )r   ÚdictsÚfnÚreduce_trueÚreduce_falseÚreduce_noner   r   r   Útest_apply_dict7  s   
rE  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-01r   zEurope/Brussels)rt   rd   c                 S   re   rE   r   rf   r   r   r   rI   P  rg   z,test_apply_non_numpy_dtype.<locals>.<lambda>c                 S   s   | t  d¡ S )NÚ1day)rx   Ú	Timedeltarf   r   r   r   rI   S  ó    z
2015-01-02)r   r	   r8   r9   rO   r�   r   r   r   Útest_apply_non_numpy_dtypeM  s   ÿrJ  c                  C   s2   t dg d¢idd�} |  dd„ ¡}t || ¡ d S )NrF  )rm   r�   r�   rm   rV   r   c                 S   re   rE   r   rf   r   r   r   rI   \  rg   z5test_apply_non_numpy_dtype_category.<locals>.<lambda>rˆ   r_   r   r   r   Ú#test_apply_non_numpy_dtype_categoryZ  s   rK  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\   r   rm   r   r6  rþ   rn   ©r   r@   r?   r   r   r   Útest_apply_dup_names_multi_agg`  s   rM  Úopr8   ro   c                 C   s`   dd„ }t t d¡tdƒd�}t|| ƒ|dd�}tg d¢g d¢g d¢g d¢gƒ}t ||¡ d S )	Nc                 S   s"   d| d  d| d  d| d  gS )Nr\   r   r   r   r   ©Úrowr   r   r   Ú
apply_listl  s   "z3test_apply_nested_result_axis_1.<locals>.apply_list)r[   r[   ÚABCDr   r   rh   )ç        rS  rS  )r   r   Úzerosr´   r˜   r   r9   r:   )rN  rQ  r   r?   r@   r   r   r   Útest_apply_nested_result_axis_1i  s   ÿrU  c                  C   sR   t dtddd�gidd�} |  dd„ ¡}t || ¡ |  d	d„ ¡}t || ¡ d S )
NrÑ   Ú2020rb   rc   zdatetime64[ns, UTC]r   c                 S   re   rE   r   rf   r   r   r   rI   |  rg   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>c                 S   r   rE   )rÀ   rf   r   r   r   rI   ~  rJ   ri   rj   r   r   r   Ú%test_apply_noreduction_tzaware_objectw  s   ÿrW  c                     sh   t dg d¢iƒ} g ‰ ‡ fdd„}‡ fdd„}||fD ]}ˆ d d …= | j|dd� ˆ t| jƒks1J ‚qd S )	Nrm   rŸ   c                    s   ˆ   | j¡ d S rE   ©r‘   r&  rO  ©Únamesr   r   Úreducing_functionˆ  ó   z8test_apply_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | j¡ | S rE   rX  rO  rY  r   r   Únon_reducing_function‹  s   z<test_apply_function_runs_once.<locals>.non_reducing_functionr   rh   )r   r8   r´   r<   )r   r[  r]  r{   r   rY  r   Útest_apply_function_runs_once‚  s   
ür^  c                    s‚   | dkr	t  d¡ tdg d¢iƒ}g ‰ ‡ fdd„}‡ fdd„}||fD ]}ˆ d d …= |j|| d	d
d� ˆ t|j ¡ ƒks>J ‚q#d S )Nr"   z8appending to list outside of numba func is not supportedrm   rŸ   c                    s   ˆ   | ¡ d S rE   ©ÚextendrO  ©rÌ   r   r   r[  ž  s   z<test_apply_raw_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | ¡ | S rE   r_  rO  ra  r   r   r]  ¡  s   
z@test_apply_raw_function_runs_once.<locals>.non_reducing_functionTr   )r)   rC   r1   )r&   rN   r   r8   r´   rm   Úto_list)r)   r   r[  r]  r{   r   ra  r   Ú!test_apply_raw_function_runs_once–  s   

ürc  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   efghÚcolr   )r   r   c                 S   rU   )NÚobjectrW   rf   r   r   r   rI   ²  rZ   z-test_apply_with_byte_string.<locals>.<lambda>)r   r   rÕ   re  r8   r9   rO   rL  r   r   r   Útest_apply_with_byte_string¬  s   rf  ÚvalÚ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 )Nrh  ri  Úcderm   rV   r   c                    s   | ˆ kS rE   r   rf   ©rg  r   r   rI   ¼  rJ   z/test_apply_category_equalness.<locals>.<lambda>c                    s$   g | ]}t  |¡rtjn|ˆ k‘qS r   )rx   Úisnullr   r‚   )r­   rG   rk  r   r   Ú
<listcomp>¾  s   $ z1test_apply_category_equalness.<locals>.<listcomp>r%  )r   r‚   r   rm   r8   r   r9   r:   )rg  Ú	df_valuesr   r?   r@   r   rk  r   Útest_apply_category_equalness¶  s   ÿro  c                  C   sZ   t tj d¡ d¡ƒ} | jtjjdd�j}|dksJ ‚| jtjjdd�j}|dks+J ‚d S )Nr\   )rÒ   r\   r   rh   )r   r\   )r   r   r	  r
  r8   Úfftr]   Úrfftr_   r   r   r   Útest_infer_row_shapeÈ  s
   rr  zops, by_row, expectedrm   c                 C   rë   rÄ   r   rf   r   r   r   rI   Ö  rJ   Úcompatc                 C   rë   rÄ   r   rf   r   r   r   rI   ×  rJ   c                 C   r   rE   ©r•   rf   r   r   r   rI   Ø  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   Ù  rJ   r•   c                 C   r   rE   rt  rf   r   r   r   rI   Û  rJ   )r   r   r   )r•   r•   rI   r�   c                 C   r   rE   rt  rf   r   r   r   rI   à  rJ   c                 C   ó   dS rÄ   r   rf   r   r   r   rI   ä  rg   c                 C   ru  rÄ   r   rf   r   r   r   rI   å  rg   c                 C   ó.   t dddgiƒ}|j| |d�}t ||¡ d S ©Nrm   r   r\   ©Úby_row©r   r8   r9   Úassert_equal©Úopsry  r@   r   r?   r   r   r   Útest_dictlike_lambdaÓ  s   r~  r}  c                 C   rë   rÄ   r   rf   r   r   r   rI   ò  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   ó  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   ô  rJ   c                 C   ru  rÄ   r   rf   r   r   r   rI   õ  rg   c                 C   óR   t dddgiƒ}tjtdd�� |j| dd� W d   ƒ d S 1 s"w   Y  d S ©Nrm   r   r\   zby_row=True not allowed©ÚmatchTrx  ©r   r&   ÚraisesÚ
ValueErrorr8   ©r}  r   r   r   r   Útest_dictlike_lambda_raisesï  ó   "ÿr‡  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\   rm   r�   r   c                 S   ó   d| d | d  iS ©Nru   rm   r�   r   rf   r   r   r   rI     r¿   z,test_with_dictlike_columns.<locals>.<lambda>rh   c                 S   s   g | ]}d di‘qS )ru   r   r   r/  r   r   r   rm    r¿   z.test_with_dictlike_columns.<locals>.<listcomp>ú2017-05-01 00:00:00ú2017-05-02 00:00:00r9   c                 S   r‰  rŠ  r   rf   r   r   r   rI   
  r¿   c                 S   s   d| iS )Nru   r   rf   r   r   r   rI     rJ   ru   r   )r   r8   r   r2  r9   r:   r   r�   r   r   r   Útest_with_dictlike_columnsÿ  s   þr�  c                  C   sd   t ƒ } g d¢| d< g d¢| d< tjg d¢dd�| d< | jd	d
„ dd�}ti i i gƒ}t ||¡ d S )N)ÚXÚYÚZÚauthor)ÚBBCÚNBCÚN24Ú	publisher)z17-10-2010 07:15:30z13-05-2011 08:20:35z15-01-2013 09:09:09T)ÚdayfirstÚdatec                 S   s   i S rE   r   rf   r   r   r   rI     rg   z:test_with_dictlike_columns_with_datetime.<locals>.<lambda>r   rh   )r   rx   Úto_datetimer8   r   r9   r:   r�   r   r   r   Ú(test_with_dictlike_columns_with_datetime  s   
þr™  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\   rm   r�   r   c                 S   r‰  rŠ  r   rf   r   r   r   rI   $  r¿   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>rŠ   r‹   ru   r   r‹  rŒ  r9   c                 S   r‰  rŠ  r   rf   r   r   r   rI   ,  r¿   )r   r8   r9   rO   r   r�   r   r   r   Ú%test_with_dictlike_columns_with_infer!  s   þrš  c                 C   rë   rÄ   r   rf   r   r   r   rI   3  rJ   )rm   rI   c                 C   rë   rÄ   r   rf   r   r   r   rI   4  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   5  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   6  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   8  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   =  rJ   c                 C   rë   rÄ   r   rf   r   r   r   rI   B  rJ   c                 C   ru  ©Nr   r   rf   r   r   r   rI   B  rg   r   c                 C   ru  rÎ   r   rf   r   r   r   rI   G  rg   c                 C   ru  r›  r   rf   r   r   r   rI   G  rg   c                 C   rv  rw  rz  r|  r   r   r   Útest_listlike_lambda0  s   rœ  c                 C   rë   rÄ   r   rf   r   r   r   rI   W  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   X  rJ   c                 C   r   rE   rt  rf   r   r   r   rI   Y  rJ   c                 C   rë   rÄ   r   rf   r   r   r   rI   Z  rJ   c                 C   ru  r›  r   rf   r   r   r   rI   Z  rg   c                 C   r  r€  rƒ  r†  r   r   r   Útest_listlike_lambda_raisesT  rˆ  r�  c                  C   s´   t ttj d¡ d¡ƒg d¢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\   r[   )rm   r´   ÚofÚwordsz
2016-10-01Úh)rt   Úfreq)rm   r�   rY   rm   r�   r   rh   c                 S   ó   g | ]}|d d… ‘qS rl   r   r/  r   r   r   rm  o  ó    z.test_with_listlike_columns.<locals>.<listcomp>rY   c                 S   r¢  rl   r   r/  r   r   r   rm  s  r£  )r   r   r   r	  r
  r  r	   r8   Útupler2  r9   r:   r�   r   r   r   Útest_with_listlike_columnsd  s   ýÿr¥  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 )Nrm   r�   ÚqÚzr0  rF   )rü   Új0)rý   Új1c                    s   ‡ fdd„ˆ d D ƒS )Nc                    s   g | ]
}|ˆ d  v r|‘qS )rH   r   )r­   ÚelrO  r   r   rm  |  s    zOtest_with_listlike_columns_returning_list.<locals>.<lambda>.<locals>.<listcomp>rG   r   rO  r   rO  r   rI   |  r8  z;test_with_listlike_columns_returning_list.<locals>.<lambda>r   rh   r�   )r   r   r   Úfrom_tuplesr<   r8   r9   r:   r�   r   r   r   Ú)test_with_listlike_columns_returning_listw  s
   *r¬  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 rE   ©r­  r®  rO  r   r   r   rI   Ž  rñ   z1test_infer_output_shape_columns.<locals>.<lambda>r   rh   c                 S   s   g | ]}|j |jf‘qS r   r¯  r/  r   r   r   rm  �  r£  z3test_infer_output_shape_columns.<locals>.<listcomp>©r   r   r8   r   r2  r9   r:   r�   r   r   r   Útest_infer_output_shape_columns�  s   þýÿ
r±  c                  C   sŠ   t tj d¡ d¡g d¢d�} | jdd„ dd�}td	d
„ |  ¡ D ƒƒ}t 	||¡ | jdd„ dd�}tdd
„ |  ¡ D ƒƒ}t 	||¡ d S )Nr\   )r   r   r   r   c                 S   rº   r»   r   rf   r   r   r   rI   š  rJ   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>r   rh   c                 S   s   g | ]}g d ¢‘qS )rŸ   r   r/  r   r   r   rm  ›  r¿   z<test_infer_output_shape_listlike_columns.<locals>.<listcomp>c                 S   ó   ddgS ©Nr   r\   r   rf   r   r   r   rI   ž  rJ   c                 S   s   g | ]}d dg‘qS ©r   r\   r   r/  r   r   r   rm  Ÿ  r¿   ©
r   r   r	  r
  r  r8   r   r2  r9   r:   r�   r   r   r   Ú(test_infer_output_shape_listlike_columns“  s   ÿr¶  c                    s^   t dg d¢itdƒd�}|j‡ fdd„dd�}t‡ fd	d
„| ¡ D ƒ|jd�}t ||¡ d S )Nrm   rŸ   r¾   r�   c                    s
   t  ˆ ¡S rE   ©r   ÚonesrO  rk  r   r   rI   ¨  rZ   zBtest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>r   rh   c                    s   g | ]}t  ˆ ¡‘qS r   r·  r/  rk  r   r   rm  ©  r8  zDtest_infer_output_shape_listlike_columns_np_func.<locals>.<listcomp>)r   r´   r8   r   r2  r<   r9   r:   )rg  r   r?   r@   r   rk  r   Ú0test_infer_output_shape_listlike_columns_np_func£  s    r¹  c                  C   sr   t tdƒtdƒtdƒtdƒgg d¢g d¢g d¢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-06)r£   r    r[   r   )r    r   r[   r\   )r   r\   r   r[   )rm   r�   r�   rA   c                 S   ru  )Nr´  r   rf   r   r   r   Úfun½  s   zDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.funr   rh   c                 S   s   g | ]}d ‘qS )r´  r   r/  r   r   r   rm  Á  ó    zKtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.<listcomp>r°  )r   rº  r?   r@   r   r   r   Ú7test_infer_output_shape_listlike_columns_with_timestamp­  s   ü÷ÿr¼  ÚlstrŸ   c                    s^   t tj d¡ d¡g d¢d�}|j‡ fdd„dd�}t‡ fd	d
„| ¡ D ƒƒ}t 	||¡ d S )Nr\   )r[   r   r   r   c                    s   ˆ S rE   r   rf   ©r½  r   r   rI   Í  rg   z3test_consistent_coerce_for_shapes.<locals>.<lambda>r   rh   c                    s   g | ]}ˆ ‘qS r   r   r/  r¾  r   r   rm  Î  r»  z5test_consistent_coerce_for_shapes.<locals>.<listcomp>rµ  )r½  r   r?   r@   r   r¾  r   Ú!test_consistent_coerce_for_shapesÅ  s   ÿr¿  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 g d¢g d¢d�S )NrŸ   )ÚtestÚotherÚcolsr�   ©r   rf   r   r   r   rI   ×  r¿   z'test_consistent_names.<locals>.<lambda>r   rh   rÀ  rÁ  rÂ  r   r   c                 S   s   t ddgddgd�S )Nr   r\   rÀ  rÁ  r�   rÃ  rf   r   r   r   rI   Þ  r¿   )r8   Úrenamer9   rO   rÁ   r   r   r   Útest_consistent_namesÒ  s   ÿ
ÿrÅ  c                 C   s:   | }|j dd„ ddd�}| ¡ }g d¢|_t ||¡ d S )Nc                 S   rº   r»   r   rf   r   r   r   rI   è  rJ   z"test_result_type.<locals>.<lambda>r   rŠ   r‹   ©r   r   r\   ©r8   rÀ   r   r9   rO   rÁ   r   r   r   Útest_result_typeã  s
   
rÈ  c                 C   sB   | }|j dd„ ddd�}|ddg  ¡ }ddg|_t ||¡ d S )	Nc                 S   r²  r³  r   rf   r   r   r   rI   ò  rJ   z/test_result_type_shorter_list.<locals>.<lambda>r   rŠ   r‹   r   r   r   rÇ  rÁ   r   r   r   Útest_result_type_shorter_listî  s
   
rÉ  c                 C   sT   |dkrt jjdd�}|j |¡ | }|jdd„ dd|d�}| ¡ }t ||¡ d S )	Nr"   z(numba engine doesn't support list returnr*   c                 S   rº   r»   r   rf   r   r   r   rI     rJ   z,test_result_type_broadcast.<locals>.<lambda>r   r§   ©r1   rŒ   r)   ©	r&   r2   r3   r4   r5   r8   rÀ   r9   rO   )r    r(   r)   r2   r   r?   r@   r   r   r   Útest_result_type_broadcastø  s   ÿrÌ  c                    s`   |dkrt jjdd�}|j |¡ | }g d¢‰ |j‡ fdd„dd|d	�}| ¡ }t ||¡ d S )
Nr"   ú<numba Series constructor only support ndarrays not list datar*   ©rÁ  rd  rZ  c                    ó   t g d¢ˆ d�S ©NrŸ   r�   rÃ  rf   r   r   r   rI     r»  z8test_result_type_broadcast_series_func.<locals>.<lambda>r   r§   rÊ  rË  ©r    r)   r(   r2   r   r?   r@   r   r   r   Ú&test_result_type_broadcast_series_func  s   ÿ
ürÒ  c                 C   sR   |dkrt jjdd�}|j |¡ | }|jdd„ d|d�}| ¡ }t ||¡ d S )Nr"   rÍ  r*   c                 S   s   t g d¢| jd�S rÐ  )r   r<   rf   r   r   r   rI   %  r±   z0test_result_type_series_result.<locals>.<lambda>r   r0   rË  rÑ  r   r   r   Útest_result_type_series_result  s   ÿrÓ  c                    sd   |dkrt jjdd�}|j |¡ | }g d¢‰ |j‡ fdd„d|d�}| ¡ }ˆ |_t 	||¡ d S )	Nr"   z:no support in numba Series constructor for list of columnsr*   rÎ  c                    rÏ  rÐ  rÃ  rf   r   r   r   rI   6  r»  z<test_result_type_series_result_other_index.<locals>.<lambda>r   r0   )
r&   r2   r3   r4   r5   r8   rÀ   r   r9   rO   rÑ  r   r   r   Ú*test_result_type_series_result_other_index*  s   ÿrÔ  Úboxc                 C   ó   t | ƒS rE   )r´   rf   r   r   r   rI   >  rJ   c                 C   rÖ  rE   )r¤  rf   r   r   r   rI   >  rJ   c                 C   s   t j| dd�S )Nr   r   )r   rÕ   rf   r   r   r   rI   >  rI  )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                    ó   ˆ ddgƒS r³  r   rf   ©rÕ  r   r   rI   E  rñ   z,test_consistency_for_boxed.<locals>.<lambda>r   rh   c                    s   g | ]}ˆ d dgƒ‘qS r´  r   r/  rØ  r   r   rm  F  r£  z.test_consistency_for_boxed.<locals>.<listcomp>c                    r×  r³  r   rf   rØ  r   r   rI   I  rñ   rŠ   r‹   r   r   r   rw   r   )r8   r   r2  r9   r:   rÄ  rO   )rÕ  r    r   r?   r@   r   rØ  r   Útest_consistency_for_boxed<  s   rÙ  c                 C   s:  | dv rdnd}t jdd��… t  |¡}t  |¡}| ¡ }|jt j| d�}t ||¡ |jt jg| d�}| ¡ }| dv rGt 	|j
dgg¡|_
n
t 	|jdgg¡|_t ||¡ |jt jt jg| d�}t||g|d�}| dv rzt 	|j
ddgg¡|_
nt 	|jddgg¡|_t ||¡ W d   ƒ d S 1 s–w   Y  d S )	N¾   r<   r   r   r   r,   r-   rh   r7   Úabsolute)r   r6   Úabsr7   rÀ   r8   r9   rO   r   Úfrom_productr   r<   r
   )r1   r>   Ú
other_axisÚf_absÚf_sqrtr@   r?   r   r   r   Útest_agg_transformN  s0   

ÿÿ"á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 )
Nr    rw   r6  r7  r   r[   r   r   rþ   )r   rµ   ro   r9   rO   r�   r   r   r   Ú	test_demos  s   ÿrâ  c                  C   sl   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g d¢d�}t | |¡|¡ d S )Nr    rw   r6  r7  r•   ç      @rS  ç      @g      9@r   r   )r7  r6  r•   rþ   )r   rµ   ro   r   r‚   r9   rO   Úreindex_liker�   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   ro   r   r9   r:   )rp   r   r?   r@   r   r   r   Ú!test_agg_with_name_as_column_nameŠ  s   rè  c                  C   s–   t g d¢g d¢g d¢dœƒ} t ddgddgd	d
gdœddgd�}|  ddg¡}t ||¡ | g d¢  ddg¡}|g d¢  ddg¡}t ||¡ d S )NrŸ   ©rÐ   rö   ç      @©rÑ   r  Úbazr   r   r   rÐ   ç      @r  Ú	foobarbazr6  r•   r�   )r   r   r   )r   ro   r9   rO   Úreindex)Úmdfr@   r?   r   r   r   Útest_agg_multiple_mixedš  s$   ýÿýú	rñ  c                  C   s°   t g d¢g d¢g d¢tddd�dœƒ} d}tjt|d	�� |  d
dg¡ W d   ƒ n1 s.w   Y  tjt|d	�� | g d¢  dd
g¡ W d   ƒ d S 1 sQw   Y  d S )NrŸ   ré  rë  rr   r   rs   ©r   r   r   rQ   údoes not support reductionr�  r6  r•   )rQ   r   r   r   )r   r	   r&   r„  Ú	TypeErrorro   )rð  Úmsgr   r   r   Útest_agg_multiple_mixed_raises¶  s   
üÿ
ÿ"ÿrö  c              	   C   s  | dv rdnd}|j |  ¡ d d…  ¡ \}}tj|j| d�|j| d�|j| d�gdd�}g d¢|_| dv r9|j	n|}|j
g d¢| 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
v 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
v �r|j	n|}t ||¡ d S )NrÚ  r   r   r\   rh   )r;   r7  r•   r;   r•   r�   >   r   r   r7  )ÚaxesÚuniqueÚsort_valuesrx   Úconcatr;   r7  r•   r   rœ   ro   r9   rO   r   rƒ   r:   r   )r1   r>   rÞ  Úname1Úname2r@   r?   r{   r   r   r   Útest_agg_reduceÊ  sf   


ýú
þûþÿþûþûøïrý  c                  C   sF  t g d¢g d¢g d¢tddd�dœƒ} |  d¡}td	d
dtdƒg| jd�}t ||¡ |  dg¡}t d	d
dtdƒ d¡ggdg| jd�}t 	||¡ d}t
jt|d�� |  d¡ W d   ƒ n1 scw   Y  | g d¢  d¡}tg d¢g d¢d�}t ||¡ d}t
jt|d�� |  dg¡ W d   ƒ d S 1 sœw   Y  d S )NrŸ   ré  rë  rr   r   rs   rò  r6  r   rÐ   r  r�   Únsr-  ró  r�  r•   r   )r   rí  rî  )r   r	   ro   r   r   r   r9   r:   Úas_unitrO   r&   r„  rô  )r   r?   r@   rõ  r   r   r   Útest_nuiscance_columns  s8   
üÿ
	ýÿ"ÿr   Úhowc                 C   s  t g d¢dtjdgg d¢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 )N©Nr\   r   rÐ   rê  ©rÑ   Nr  r   r   rç  r\   Úsizer   )rç  r  Tr9  )	r   r   r‚   r˜   r   r9   r:   rO   rç  )r  r   r?   r@   Úresult1Úresult2r   r   r   Útest_non_callable_aggregates3  s0   ÿÿýÿr  c                 C   st   t g d¢dtjdgg d¢dœƒ}t|| ƒd|d�}|dv r(t|jd	 |jd
�}n
t|jd |jd
�}t 	||¡ d S )Nr  rÐ   rê  r  r   r  rh   )r   r<   r   r�   r   )
r   r   r‚   r˜   r   r]   r   r<   r9   r:   )r  r1   r   r?   r@   r   r   r   Útest_size_as_str`  s   ÿr  c                  C   s†   t g d¢dtjdgg d¢dœƒ} dd„ }|  |¡}tddgdgd	d
ggg d¢d�}t ||¡ |  |g¡}| d¡j}t 	||¡ d S )N)r\   r\   r   g      ø?r  r   c                 S   s   t |  ¡  ¡ ƒS rE   )r´   Údropnarø  )Ú	group_colr   r   r   r{   t  r\  z&test_agg_listlike_result.<locals>.funcr\   r   rÑ   r  r�   r{   )
r   r   r‚   ro   r   r9   r:   Úto_framerœ   rO   )r   r{   r?   r@   r   r   r   Útest_agg_listlike_resultp  s    
 r  zargs, kwargs)r¢   r¡   é   r´  rK   r�   r   ©rm   r�   rŽ   c                 C   sj   ddd„}t ddgddggƒ}| dkrtdd	gƒ}ntd
dgƒ}|j|| g|¢R i |¤Ž}t ||¡ d S )Nr   c                 S   s   |   ¡ || |  S rE   rt  )rG   rm   r�   r�   r   r   r   r  Ž  s   ztest_agg_args_kwargs.<locals>.fr   r\   r[   r   rä  g      @rã  g       @)r   ©r   r   ro   r9   r:   )r1   rL   Úkwargsr  r   r@   r?   r   r   r   Útest_agg_args_kwargs€  s   
r  Únum_cols)r\   r   r    c                 C   sp   |dkrt jjdd�}|j |¡ t g d¢¡}| ¡ }td|t	| ƒd�}|j
dd„ |d	� |j|jks6J ‚d S )
Nr"   z*numba engine only supports numeric indicesr*   )z
1950-06-30z
1952-10-24z
1953-05-29r   r-  c                 S   re   rE   r   rf   r   r   r   rI   ¦  rg   z,test_frequency_is_original.<locals>.<lambda>r/   )r&   r2   r3   r4   r5   rx   ÚDatetimeIndexrÀ   r   rµ   r8   r¡  )r  r)   r(   r2   r<   Úoriginalr   r   r   r   Útest_frequency_is_original�  s   r  c                 C   s„   | dkrt jjdd�}|j |¡ tddd�tddd�tddd�g}tg d	¢|d
�}|jdd„ d| d�}t||d�}t	 
||¡ d S )Nr"   z0numba engine doesn't support non-numeric indexesr*   z2019-03-15 12:34:31.909000+0000rb   rc   z2019-03-15 12:34:34.359000+0000z2019-03-15 12:34:34.660000+0000rÆ  )rp   r<   c                 S   r$  rE   r%  rf   r   r   r   rI   ¹  r'  z.test_apply_datetime_tz_issue.<locals>.<lambda>r   r0   )r<   rp   )r&   r2   r3   r4   r5   r   r   r8   r   r9   r:   )r)   r(   r2   Ú
timestampsr   r?   r@   r   r   r   Útest_apply_datetime_tz_issueª  s   ÿ


ýr  r   r�   rA   rw   Úmethod)r6  r7  r•   c                 C   sf   |dkrd}nd}|s+t jt|d�� t| |ƒƒ  W d   ƒ d S 1 s$w   Y  d S t| |ƒƒ  d S )Nr•   z>can only concatenate str \(not "int"\) to str|does not supportz4not supported between instances of 'str' and 'float'r�  )r&   r„  rô  r˜   )r   r  Úusing_infer_stringrõ  r   r   r   Útest_mixed_column_raises¿  s   "ÿr  rd  rÐ   c                 C   s:   t d| ggddgd�}| dd„ ¡}|j}t ||¡ d S )NrÐ   rm   r�   r   c                 S   r$  rE   r   rf   r   r   r   rI   Ò  r'  z"test_apply_dtype.<locals>.<lambda>)r   r8   Údtypesr9   r:   )rd  r   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  < t |¡� |j|dd�}W d   ƒ n1 s7w   Y  t ||¡ |sF| rNt ||¡ d S t ||¡ d S )	Néd   éÈ   r  c                 S   s*   | j }| jd  d7  < | j |usJ ‚| S )Nrm   r   )Ú_mgrrƒ   )rP  Úmgrr   r   r   r{   Ý  s   z!test_apply_mutating.<locals>.funcrm   r   rh   )r   rµ   rÀ   r9   Úassert_cow_warningr8   rO   )Úusing_array_managerÚusing_copy_on_writeÚwarn_copy_on_writer   Údf_origr{   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\   r   r[   r    r   r¡   r¢   r£   rÒ   rm   r�   r   c                 S   s   g S rE   r   rf   r   r   r   rI   ÷  rg   z.test_apply_empty_list_reduce.<locals>.<lambda>r�   r¨   r  r   )r   r8   r   re  r9   r:   r�   r   r   r   Útest_apply_empty_list_reduceó  s   .r'  c                 C   s†   | dkrt jjdd�}|j |¡ tddggd ddgd	�}|jd
dd„ dd„ g| d�}tg d¢g d¢dœg d¢d�}t ||¡ d S )Nr"   z;numba engine doesn't support list-likes/dict-like callablesr*   r[   r£   r   r   r   r   r•   c                 S   r   rE   rt  rf   r   r   r   rI     rJ   z,test_apply_no_suffix_index.<locals>.<lambda>r/   )ri  ri  ri  )é   r(  r(  rw   )r•   rI   rI   r�   )	r&   r2   r3   r4   r5   r   r8   r9   rO   )r)   r(   r2   Úpdfr?   r@   r   r   r   Útest_apply_no_suffix_indexü  s   ÿÿr*  c                 C   sT   | dkr	t  d¡ tdddgiƒ}|jdd„ | dd	d
�}tddgƒ}t ||¡ d S )Nr"   z No object dtype support in numbar   ÚaaÚbbbc                 S   r‡   r¤   r   rf   r   r   r   rI     rJ   z/test_apply_raw_returns_string.<locals>.<lambda>r   T)r)   r1   rC   )r&   rN   r   r8   r   r9   r:   ©r)   r   r?   r@   r   r   r   Útest_apply_raw_returns_string  s   
r.  c                  C   sb   t g d¢dd�} dd„ }d|ddg}|  |¡}t g d	¢g d
¢g d¢dœg d¢d�}t ||¡ d S )N))r   r   r   )r\   r   r   )r   r   r   )r[   r    r[   )r    r   r   )r   r¡   r¡   )Úatt1Úatt2Úatt3r   c                 S   s   |   ¡ d S rÎ   rt  r¥   r   r   r   Úsum_div2%  rð   z4test_aggregation_func_column_order.<locals>.sum_div2r•   rç  r6  )g      5@g      %@rí  rÐ   )g      2@g      "@rí  rS  )g      1@g      !@rí  rS  )r•   r2  rç  r6  r�   rn   )r   r2  Úaggsr?   r@   r   r   r   Ú"test_aggregation_func_column_order  s   ÷
ýúr4  c                 C   sp   | dkrt jjdd�}|j |¡ tg d¢g d¢dœƒ}|ddg jdd	„ d
| d�}tg d¢ƒ}t 	||¡ d S )Nr"   z2numba engine not supporting duplicate index valuesr*   rÆ  rŸ   r  rm   c                 S   s   | j d | j d  S )Nr   r   )rù   rf   r   r   r   rI   >  r¿   z+test_apply_getitem_axis_1.<locals>.<lambda>r   r0   )r   r\   r[   )
r&   r2   r3   r4   r5   r   r8   r   r9   r:   )r)   r(   r2   r   r?   r@   r   r   r   Útest_apply_getitem_axis_15  s   ÿ
ÿr5  c                  C   sX   dd„ } t dg d¢iƒ}tjtdd�� | | g¡ W d   ƒ d S 1 s%w   Y  d S )Nc                 S   s   t  d¡ |  ¡ S )NúHello, World!)ÚwarningsÚwarnr•   rf   r   r   r   Úexpected_warningL  s   
zDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningrm   rŸ   r6  r�  )r   r9   Úassert_produces_warningÚUserWarningro   )r9  r   r   r   r   Ú*test_nuisance_depr_passes_through_warningsD  s
   "ÿr<  c                  C   s‚   t ddtgdtdddƒtjgdœg d¢d�} | jtd	d
�}tttdœƒ}t 	||¡ | jtdd
�}ttttdœƒ}t 	||¡ d S )Nr   r®  g      Ð?iä  r   )r4  r5  rŽ   r�   r   rh   )
r   r™   r   r   r‚   r8   Útyper   r9   r:   r�   r   r   r   Útest_apply_typeU  s   þr>  c                 C   sN   t ddgddgdœƒ}| d¡jdd„ d| d�}tg tjd	�}t ||¡ d S )
Nr   r\   r   r   r  c                 S   s   t | d | d ƒS )Nrm   r�   )r7  rf   r   r   r   rI   j  r±   z/test_apply_on_empty_dataframe.<locals>.<lambda>r0   r   )r   Úheadr8   r   r   r’   r9   r:   r-  r   r   r   Útest_apply_on_empty_dataframeg  s   r@  c                  C   sN   t ddgddgdœƒ} |  dd„ ¡}t ddggddggdœƒ}t ||¡ d S )Nr   r\   r   r  c                 S   s   | j gS rE   ra  rf   r   r   r   rI   q  rJ   z(test_apply_return_list.<locals>.<lambda>rˆ   r�   r   r   r   Útest_apply_return_listo  s   rA  ztest, constant)r   r   r   )r\   r\   r\   c                 C   s>   t | ƒ}t|ddgdd�}dddœ}| |¡}t ||¡ d S )Nrm   r�   re  )rp   r<   r   rø  r  r  )rÀ  ÚconstantÚdf1r@   Úaggregationr?   r   r   r   Útest_unique_agg_type_is_seriesv  s
   	

rE  c                  C   sr   t g d¢g d¢g d¢dœƒ} tg d¢ƒ}t | jdd�|¡ | jddd�}t ||¡ |  dd¡}t ||¡ d S )	N)r   r\   r   )r   r\   r   )r   r   r   r   )TTFr   rh   r—   )r   r   r9   r:   r—   r8   rL  r   r   r   Ú/test_any_apply_keyword_non_zero_axis_regressionˆ  s   rF  c                  C   s.  t dg d¢iƒ} ddd„}ddd	„}| j|dd
dd�}| d }t ||¡ d}tjt|d�� | j||gdd
dd�}W d   ƒ n1 sDw   Y  t ddgddgddggddgddggd�}t ||¡ tjt|d�� | jd|idd
dd�}W d   ƒ n1 s�w   Y  t g d¢dgd�}t ||¡ d S )NrG   rŸ   r   r   c                 S   ó   | | | S rE   r   )rG   rm   r�   r   r   r   Úfoo1™  rð   z.test_agg_mapping_func_deprecated.<locals>.foo1r\   c                 S   rG  rE   r   )rG   r�   r�   r   r   r   Úfoo2œ  rð   z.test_agg_mapping_func_deprecated.<locals>.foo2r   r[   )r�   r¡   z+using .+ in Series.agg cannot aggregate andr�  r¢   r£   rÒ   rH  rI  r   )r\   r   r[   )r   r   )r\   r   )r   ro   r9   rO   r:  ÚFutureWarning)r   rH  rI  r?   r@   rõ  r   r   r   Ú test_agg_mapping_func_deprecated•  s&   

ÿ"ÿÿrK  c                  C   sÖ   t t d¡ dd¡ddgd�} tjtdd�� |  tj¡}W d   ƒ n1 s'w   Y  t	d	d	d
œt
d�}t ||¡ tjtdd�� |  tjg¡}W d   ƒ n1 sTw   Y  t d	d	d
œdgd�}t ||¡ d S )Nr   r   r\   r   r   r   zusing DataFrame.stdr�  rö   rw   r   zusing Series.stdÚstdr�   )r   r   r   r   r9   r:  rJ  ro   rL  r   r™   r:   rO   r�   r   r   r   Útest_agg_std´  s   ÿÿrM  c                  C   sT   t g d¢dtjdgg d¢dœƒ} g d¢| _|  ddi¡}| d  ¡ }t ||¡ d S )	Nr  rÐ   rê  r  r   )r   r   r   r   rç  )r   r   r‚   r   ro   rç  r9   r:   r�   r   r   r   Ú(test_agg_dist_like_and_nonunique_columnsÂ  s   ÿ
rN  )�r   r7  Únumpyr   r&   Úpandas.compatr   Úpandas.core.dtypes.dtypesr   Úpandasrx   r   r   r   r   r	   Úpandas._testingÚ_testingr9   Úpandas.tests.frame.commonr
   Úpandas.util.versionr   Úfixturer    r%   r2   Ú
single_cpur)   rB   ÚparametrizerP   r`   rk   rq   rz   r7   r;   r~   r†   r‰   r”   rš   rž   r¦   rª   r²   r¸   r¹   r½   rÂ   rË   rÍ   rÏ   rÖ   r×   rÙ   rÚ   Úfilterwarningsrã   rä   rí   rò   r÷   rø   rû   r   r  r  r#  r(  r)  r.  r3  r<  rE  rJ  rK  rM  rU  rW  r^  rc  rf  r‚   ro  rr  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  r  r  r  r&  r'  r*  r.  r4  r5  r<  r>  r@  rA  rE  rF  rK  rM  rN  r   r   r   r   Ú<module>   sÜ   


þ





	
ÿ			"4	þ*ûþ

	


ýýðþ



üþ
	ýý"ýýìþ
üþ
	

	

ý
%E$,ùþ(		
&&þþ