a
    é´«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   úb/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/apply/test_frame_apply.pyÚint_frame_const_col   s
     þr    ÚpythonÚnumba)Z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sŒJ ‚| jd }| jtjd	|d
�}t |  |¡¡}|| |ksÈJ ‚|j| ju sØJ ‚W d   ƒ n1 sì0    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'   r1   ÚresultÚexpectedÚdr   r   r   Ú
test_apply-   s    
rA   r0   r   ÚrawTFc           	      C   s†   |dkrVt  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   | | S ©Nr   ©ÚxÚyr   r   r   Ú<lambda>M   ó    z!test_apply_args.<locals>.<lambda>©r   )ÚargsrB   r(   r   )r%   r&   r   Ú__version__r   Úskipr1   r2   r3   r4   r7   r8   Úassert_frame_equal)	r=   r0   rB   r(   r'   r"   r1   r>   r?   r   r   r   Útest_apply_argsC   s    
ÿrN   c                  C   s^   t g d¢g d¢dœƒ} |  dd„ ¡}|jdks2J ‚t|d jtƒsFJ ‚t|d jtƒsZJ ‚d S )	N)r   r   r   r   )r   r   ÚDrO   ©Úc0Úc1c                 S   s
   |   d¡S )NÚcategory©Úastype)Útsr   r   r   rG   V   rH   z-test_apply_categorical_func.<locals>.<lambda>)é   é   rQ   rR   )r   r7   Ú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   | S rC   r   ©rE   r   r   r   rG   `   rH   z*test_apply_axis1_with_ea.<locals>.<lambda>r   ©r0   ©r   r   r7   r8   rM   ©r?   r>   r   r   r   Útest_apply_axis1_with_ea]   s    re   zdata, dtype©r   Nr]   r^   r_   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   s   | S rC   r   ra   r   r   r   rG   k   rH   z0test_agg_axis1_duplicate_index.<locals>.<lambda>r   rb   ©r   Úaggr8   rM   )Údatar   r?   r>   r   r   r   Útest_agg_axis1_duplicate_indexd   s    rk   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   s   | S rC   r   ra   r   r   r   rG   x   rH   z/test_apply_mixed_datetimelike.<locals>.<lambda>r   rb   )	r   r	   ÚpdZto_timedeltar   r   r7   r8   rM   rd   r   r   r   Útest_apply_mixed_datetimelikeo   s    
þÿrs   Úfuncc                 C   s"   t ƒ }|j| |d�}|jsJ ‚d S )Nr.   )r   r7   Úempty)rt   r(   Úempty_framer>   r   r   r   Útest_apply_empty|   s    rw   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   |   ¡ S rC   ©r:   ra   r   r   r   rG   ‡   rH   z(test_apply_float_frame.<locals>.<lambda>r.   ©r;   c                 S   s   |   ¡ S rC   rx   ra   r   r   r   rG   Œ   rH   r   r/   )	r7   r   r   Únanr   r8   r9   Úlocr;   )r=   r(   Z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 )Nrg   ry   c                 S   s   | d S )Nrg   r   ra   r   r   r   rG   ”   rH   z/test_apply_empty_except_index.<locals>.<lambda>r   r/   ©r   r7   r8   rM   )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©r0   Úresult_typeÚreducer   ©rg   ÚbÚcr   )	r   r7   Úappendr8   rM   r   r   Úfloat64r9   )rv   rE   r>   r?   Z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   r7   Úgetattrr   rU   Úfloatr8   r9   )rt   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   ry   r   )	r   Znuniquer   r   r8   r9   Ú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   rX   r   )rW   é   r   )é   é   é	   )rg   rg   r†   ry   c                 S   s   | d S ©Nr   r   ©ro   r   r   r   rG   Ê   rH   z/test_apply_standard_nonunique.<locals>.<lambda>r   rb   )r   rW   r•   c                 S   s   | d S r˜   r   r™   r   r   r   rG   Î   rH   r   )r   r7   r   r8   r9   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‚   ry   )r7   r   r:   r   r;   r8   rM   ©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�   rb   c                    s   i | ]
}|ˆ “qS r   r   ©Ú.0r†   ©Úmr   r   Ú
<dictcomp>Ü   rH   z6test_apply_broadcast_scalars_axis1.<locals>.<dictcomp>)r7   r   r:   r   r   r8   rM   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 rC   )ÚlistÚrangeÚlenr   ra   ©r=   r   r   rG   ã   rH   z4test_apply_broadcast_lists_columns.<locals>.<lambda>r   r›   r�   rˆ   )r   r;   r   )	r7   r¥   r¦   r§   r   r   r;   r8   rM   )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 rC   )r¥   r¦   r§   r;   ra   r¨   r   r   rG   ó   rH   z2test_apply_broadcast_lists_index.<locals>.<lambda>r›   rœ   c                    s   i | ]
}|ˆ “qS r   r   rŸ   r¡   r   r   r£   ÷   rH   z4test_apply_broadcast_lists_index.<locals>.<dictcomp>rˆ   )r   r;   )	r7   r¥   r¦   r§   r;   r   r   r8   rM   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   g d¢S ©Nr“   r   ra   r   r   r   rG     rH   z7test_apply_broadcast_list_lambda_func.<locals>.<lambda>r   r›   r�   ©r7   r8   rM   )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“   Úabcry   )r   r¥   ra   r   r   r   rG     rH   z9test_apply_broadcast_series_lambda_func.<locals>.<lambda>r   r›   r�   )r7   Úcopyr8   rM   ©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   s"   t | tjƒsJ ‚| jdksJ ‚d S ©Nr   ©rZ   r   ÚndarrayÚndimra   r   r   r   Ú_assert_raw  s    z/test_apply_raw_float_frame.<locals>._assert_rawT©r0   r(   rB   )r%   rL   r7   )r=   r0   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 rC   )Úvaluesr:   ra   r   r   r   rG     rH   z3test_apply_raw_float_frame_lambda.<locals>.<lambda>rb   )r7   r   r:   r8   r9   )r=   r0   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 ©NrX   r   ra   r   r   r   rG   %  rH   z9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>T)r(   rB   rX   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   s"   t | tjƒsJ ‚| jdksJ ‚d S r²   r³   ra   r   r   r   r¶   /  s    z4test_apply_raw_mixed_type_frame.<locals>._assert_rawç      ð?rX   Úfooé
   Úfloat32r   r   Úint32)rg   r…   r†   rÀ   rÁ   ry   Tr·   )r%   rL   r   r   Úarrayr   r7   )r0   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   rb   )r;   r7   r   r:   r<   )r=   r@   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½   rq   r   r   rb   r   r   ry   )
r   r7   r   r:   r   rz   rr   ÚIndexr8   r9   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½   rq   c                 S   s   | d S )Nr   r   ra   r   r   r   rG   S  rH   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>r   rb   r   ry   c                 S   s   | d S )Nr   r   ra   r   r   r   rG   W  rH   )r   r7   r   r8   r9   r‘   r   r   r   Ú&test_apply_mixed_dtype_corner_indexingQ  s    rÇ   zignore::RuntimeWarningÚaxr;   r   c                 C   s   | S rC   r   ra   r   r   r   rG   _  rH   rG   c                 C   s   |   ¡ S rC   rx   ra   r   r   r   rG   _  rH   Úidentityr:   )Úidsc                 C   s²   t f i | g d¢i¤Ž}tjdd��| |tjg dd�ƒ}t|tjƒ }|j||||d�}	|r‚| |¡}
t|	tƒsrJ ‚|	j	|
u s�J ‚nt|	t ƒs�J ‚W d   ƒ n1 s¤0    Y  d S )Nr„   r+   r,   Zf8r   r·   )
r   r   r5   rÂ   rZ   r´   r7   Z_get_agg_axisr   r;   )rÈ   rt   rB   r0   r(   r'   r   Ztest_resZis_reductionr>   Z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„   ry   c                 S   s   |   ¡ S rC   rx   ra   r   r   r   rG   u  rH   z7test_apply_empty_infer_type_broadcast.<locals>.<lambda>r›   rœ   )r   r7   rZ   )r|   r>   r   r   r   Ú%test_apply_empty_infer_type_broadcasts  s    rÌ   c                 C   s6   ddd„}| j |dd�}|   dd„ ¡}t ||¡ d S )	Nr   c                 S   s   | | S rC   r   ©rE   Úhowmuchr   r   r   Úadd_somez  s    z4test_apply_with_args_kwds_add_some.<locals>.add_somerX   ©rÎ   c                 S   s   | d S r»   r   ra   r   r   r   rG   ~  rH   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  s    
rÑ   c                 C   s6   ddd„}| j |dd�}|   dd„ ¡}t ||¡ d S )	Nr   c                 S   s   |   ¡ | S rC   rx   rÍ   r   r   r   Úagg_and_addƒ  s    z:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_addrX   rÐ   c                 S   s   |   ¡ d S r»   rx   ra   r   r   r   rG   ‡  rH   z7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>)r   )r7   r8   r9   )r=   rÒ   r>   r?   r   r   r   Ú%test_apply_with_args_kwds_agg_and_add‚  s    
rÓ   c                 C   s8   d	dd„}| j |ddd�}|   dd„ ¡}t ||¡ d S )
Nr   c                 S   s   | | | S rC   r   )rE   ÚsubÚdivider   r   r   Úsubtract_and_divideŒ  s    zJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide)rX   rX   )rJ   rÕ   c                 S   s   | d d S )Nç       @r   ra   r   r   r   rG   �  rH   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_divide‹  s    
rØ   c                 C   s   |   t¡}t || ¡ d S rC   )r7   r¥   r8   rM   )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 )NrX   r   r   rb   )	r   rz   Úilocr   Zget_locr:   r7   r8   r9   )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   rX   r   rW   rQ   rR   Úi0Úi1©r   r;   r   rb   )rÜ   rÝ   ry   rP   )r   r7   Údictr   r   r8   r9   r;   )rj   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 )
NrX   )é   r¿   r   rb   c                 S   s   i | ]\}}||  ¡ “qS r   ©Údescribe©r    ÚiÚvr   r   r   r£   ±  rH   z2test_apply_differently_indexed.<locals>.<dictcomp>r   r   c                 S   s   i | ]\}}||  ¡ “qS r   râ   rä   r   r   r   r£   µ  rH   )r   r   ÚrandomÚdefault_rngÚstandard_normalr7   r   rã   Úitemsr   r8   rM   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á   )rX   ÚABC1rí   )rX   ÚYUM1rá   )rX   ÚDEF1rá   )rg   ÚmarketÚpositionr   c                 S   s   | d S )Nró   r   )Úrr   r   r   ÚfÇ  s    ztest_apply_bug.<locals>.fr   rb   iÝ  rì   rí   rX   rî   rá   r   rï   rW   rð   r”   rñ   r   rò   )r   r7   r   r8   r9   )Z	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ü   rX   é   )r   r   r   rO   ÚEÚFc                 S   s   | S rC   r   ra   r   r   r   rG     rH   z,test_apply_convert_objects.<locals>.<lambda>r   rb   )r   r   rç   rè   ré   r7   r8   rM   rd   r   r   r   Útest_apply_convert_objectsÛ  s    Öÿ/r   c                 C   s.   |   dd„ ¡}t| j| jd�}t ||¡ d S )Nc                 S   s   | j S rC   ©Únamera   r   r   r   rG     rH   z(test_apply_attach_name.<locals>.<lambda>ry   )r7   r   r   r8   r9   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 rC   r  ra   r   r   r   rG     rH   z.test_apply_attach_name_axis1.<locals>.<lambda>r   rb   ry   )r7   r   r;   r8   r9   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 rC   ©r   Úrepeatr  r§   ra   r   r   r   rG     rH   z6test_apply_attach_name_non_reduction.<locals>.<lambda>r   ©r;   r   )	r7   r   r   r   r   r§   r;   r8   rM   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 rC   r  ra   r   r   r   rG   '  rH   z<test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>r   rb   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>)r7   r   Ú
itertuplesr;   r8   r9   r�   r   r¨   r   Ú*test_apply_attach_name_non_reduction_axis1&  s    ÿr  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)rg   rg   r…   )r†   r@   r@   r   rX   r   rW   r”   r   Úcol1Úcol2r  c                 S   s   t t| ƒt| ƒdœƒS )N)ÚminÚmax)r   r  r  ra   r   r   r   rG   2  rH   z(test_apply_multi_index.<locals>.<lambda>r  r  T©Z
check_like)r   Zfrom_arraysr   r7   r8   rM   )r;   ro   r>   r?   r   r   r   Útest_apply_multi_index/  s
    $$r  z	df, dictsr¾   rø   ZspamÚeggs)r   r   rX   r   c                 C   sV   dd„ }| j |dd�}| j |dd�}|   |¡}t ||¡ t || ¡ t ||¡ d S )Nc                 S   s   |   ¡ S rC   )Úto_dictra   r   r   r   rG   C  rH   z!test_apply_dict.<locals>.<lambda>rƒ   rœ   r€   )r7   r8   r9   rM   )r   ZdictsÚfnZreduce_trueZreduce_falseZreduce_noner   r   r   Útest_apply_dict7  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-01r   zEurope/Brussels)rn   r`   c                 S   s   | S rC   r   ra   r   r   r   rG   P  rH   z,test_apply_non_numpy_dtype.<locals>.<lambda>c                 S   s   | t  d¡ S )NZ1day)rr   Z	Timedeltara   r   r   r   rG   S  rH   z
2015-01-02)r   r	   r7   r8   rM   r‘   r   r   r   Útest_apply_non_numpy_dtypeM  s    ÿr  c                  C   s2   t dg d¢idd�} |  dd„ ¡}t || ¡ d S )Nr  )rg   r…   r†   rg   rS   r   c                 S   s   | S rC   r   ra   r   r   r   rG   \  rH   z5test_apply_non_numpy_dtype_category.<locals>.<lambda>r~   r[   r   r   r   Ú#test_apply_non_numpy_dtype_categoryZ  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   rX   r   rg   r   r  rÞ   rh   ©r   r?   r>   r   r   r   Útest_apply_dup_names_multi_agg`  s    r  Úopr7   ri   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 )NrX   r   r   r   r   ©Úrowr   r   r   Ú
apply_listl  s    z3test_apply_nested_result_axis_1.<locals>.apply_list)rW   rW   ÚABCDr   r   rb   )ç        r"  r"  )r   r   Zzerosr¥   r�   r   r8   r9   )r  r   r   r>   r?   r   r   r   Útest_apply_nested_result_axis_1i  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2020r^   r_   zdatetime64[ns, UTC]r   c                 S   s   | S rC   r   ra   r   r   r   rG   |  rH   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>c                 S   s   |   ¡ S rC   )r¯   ra   r   r   r   rG   ~  rH   rc   rd   r   r   r   Ú%test_apply_noreduction_tzaware_objectw  s    ÿr$  c                     sh   t dg d¢iƒ} g ‰ ‡ fdd„}‡ fdd„}||fD ].}ˆ d d …= | j|dd� ˆ t| jƒks4J ‚q4d S )	Nrg   r“   c                    s   ˆ   | j¡ d S rC   ©r‡   r  r  ©Únamesr   r   Úreducing_functionˆ  s    z8test_apply_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | j¡ | S rC   r%  r  r&  r   r   Únon_reducing_function‹  s    z<test_apply_function_runs_once.<locals>.non_reducing_functionr   rb   )r   r7   r¥   r;   )r   r(  r)  rt   r   r&  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 ]6}ˆ d d …= |j|| d	d
d� ˆ t|j ¡ ƒksFJ ‚qFd S )Nr"   z8appending to list outside of numba func is not supportedrg   r“   c                    s   ˆ   | ¡ d S rC   ©Úextendr  ©r¹   r   r   r(  ž  s    z<test_apply_raw_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | ¡ | S rC   r+  r  r-  r   r   r)  ¡  s    
z@test_apply_raw_function_runs_once.<locals>.non_reducing_functionTr   )r(   rB   r0   )r%   rL   r   r7   r¥   rg   Zto_list)r(   r   r(  r)  rt   r   r-  r   Ú!test_apply_raw_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   efghÚcolr   )r   r   c                 S   s
   |   d¡S )NÚobjectrT   ra   r   r   r   rG   ²  rH   z-test_apply_with_byte_string.<locals>.<lambda>)r   r   rÂ   r0  r7   r8   rM   r  r   r   r   Útest_apply_with_byte_string¬  s    r1  Ú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 )Nr3  r4  Zcderg   rS   r   c                    s   | ˆ kS rC   r   ra   ©r2  r   r   rG   ¼  rH   z/test_apply_category_equalness.<locals>.<lambda>c                    s$   g | ]}t  |¡rtjn|ˆ k‘qS r   )rr   Zisnullr   rz   )r    rE   r5  r   r   Ú
<listcomp>¾  rH   z1test_apply_category_equalness.<locals>.<listcomp>r  )r   rz   r   rg   r7   r   r8   r9   )r2  Z	df_valuesr   r>   r?   r   r5  r   Útest_apply_category_equalness¶  s    ÿr7  c                  C   sZ   t tj d¡ d¡ƒ} | jtjjdd�j}|dks6J ‚| jtjjdd�j}|dksVJ ‚d S )NrX   )r¿   rX   r   rb   )r   rX   )r   r   rç   rè   r7   ZfftrY   Zrfftr[   r   r   r   Útest_infer_row_shapeÈ  s
    r8  zops, by_row, expectedrg   c                 C   s   | d S r²   r   ra   r   r   r   rG   Ö  rH   Úcompatc                 C   s   | d S r²   r   ra   r   r   r   rG   ×  rH   c                 C   s   |   ¡ S rC   ©rŠ   ra   r   r   r   rG   Ø  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   Ù  rH   rŠ   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   Û  rH   )r   r   r   )rŠ   rŠ   rG   ry   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   à  rH   c                 C   s   dS r²   r   ra   r   r   r   rG   ä  rH   c                 C   s   dS r²   r   ra   r   r   r   rG   å  rH   c                 C   s.   t dddgiƒ}|j| |d�}t ||¡ d S ©Nrg   r   rX   ©Úby_row©r   r7   r8   Zassert_equal©Úopsr=  r?   r   r>   r   r   r   Útest_dictlike_lambdaÓ  s    rA  r@  c                 C   s   | d S r²   r   ra   r   r   r   rG   ò  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   ó  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   ô  rH   c                 C   s   dS r²   r   ra   r   r   r   rG   õ  rH   c                 C   sP   t dddgiƒ}tjtdd�� |j| dd� W d   ƒ n1 sB0    Y  d S ©Nrg   r   rX   zby_row=True not allowed©ÚmatchTr<  ©r   r%   ÚraisesÚ
ValueErrorr7   ©r@  r   r   r   r   Útest_dictlike_lambda_raisesï  s    rI  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   rX   rg   r…   r   c                 S   s   d| d | d  iS ©Nro   rg   r…   r   ra   r   r   r   rG     rH   z,test_with_dictlike_columns.<locals>.<lambda>rb   c                 S   s   g | ]}d di‘qS )ro   r   r   r	  r   r   r   r6    rH   z.test_with_dictlike_columns.<locals>.<listcomp>ú2017-05-01 00:00:00ú2017-05-02 00:00:00r8   c                 S   s   d| d | d  iS rJ  r   ra   r   r   r   rG   
  rH   c                 S   s   d| iS )Nro   r   ra   r   r   r   rG     rH   ro   r   )r   r7   r   r  r8   r9   r   r‘   r   r   r   Útest_with_dictlike_columnsÿ  s    þrM  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)ZBBCZNBCZN24Z	publisher)z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 rC   r   ra   r   r   r   rG     rH   z:test_with_dictlike_columns_with_datetime.<locals>.<lambda>r   rb   )r   rr   Úto_datetimer7   r   r8   r9   r‘   r   r   r   Ú(test_with_dictlike_columns_with_datetime  s    þ
rT  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   rX   rg   r…   r   c                 S   s   d| d | d  iS rJ  r   ra   r   r   r   rG   $  rH   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>r€   r�   ro   r   rK  rL  r8   c                 S   s   d| d | d  iS rJ  r   ra   r   r   r   rG   ,  rH   )r   r7   r8   rM   r   r‘   r   r   r   Ú%test_with_dictlike_columns_with_infer!  s    þrU  c                 C   s   | d S r²   r   ra   r   r   r   rG   3  rH   )rg   rG   c                 C   s   | d S r²   r   ra   r   r   r   rG   4  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   5  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   6  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   8  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   =  rH   c                 C   s   | d S r²   r   ra   r   r   r   rG   B  rH   c                 C   s   dS ©Nr   r   ra   r   r   r   rG   B  rH   r   c                 C   s   dS r»   r   ra   r   r   r   rG   G  rH   c                 C   s   dS rV  r   ra   r   r   r   rG   G  rH   c                 C   s.   t dddgiƒ}|j| |d�}t ||¡ d S r;  r>  r?  r   r   r   Útest_listlike_lambda0  s    rW  c                 C   s   | d S r²   r   ra   r   r   r   rG   W  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   X  rH   c                 C   s   |   ¡ S rC   r:  ra   r   r   r   rG   Y  rH   c                 C   s   | d S r²   r   ra   r   r   r   rG   Z  rH   c                 C   s   dS rV  r   ra   r   r   r   rG   Z  rH   c                 C   sP   t dddgiƒ}tjtdd�� |j| dd� W d   ƒ n1 sB0    Y  d S rB  rE  rH  r   r   r   Útest_listlike_lambda_raisesT  s    rX  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 )NrX   rW   )rg   r¥   ZofÚwordsz
2016-10-01Úh)rn   Úfreq)rg   r…   rV   rg   r…   r   rb   c                 S   s   g | ]}|d d… ‘qS rf   r   r	  r   r   r   r6  o  rH   z.test_with_listlike_columns.<locals>.<listcomp>rV   c                 S   s   g | ]}|d d… ‘qS rf   r   r	  r   r   r   r6  s  rH   )r   r   r   rç   rè   ré   r	   r7   Útupler  r8   r9   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 )Nrg   r…   ÚqÚzr
  rD   )rÜ   Zj0)rÝ   Zj1c                    s   ‡ fdd„ˆ d D ƒS )Nc                    s   g | ]}|ˆ d  v r|‘qS )rF   r   )r    Úelr  r   r   r6  |  rH   zOtest_with_listlike_columns_returning_list.<locals>.<lambda>.<locals>.<listcomp>rE   r   r  r   r  r   rG   |  rH   z;test_with_listlike_columns_returning_list.<locals>.<lambda>r   rb   ry   )r   r   r   Úfrom_tuplesr;   r7   r8   r9   r‘   r   r   r   Ú)test_with_listlike_columns_returning_listw  s
    *rb  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 rC   ©rc  rd  r  r   r   r   rG   Ž  rH   z1test_infer_output_shape_columns.<locals>.<lambda>r   rb   c                 S   s   g | ]}|j |jf‘qS r   re  r	  r   r   r   r6  �  rH   z3test_infer_output_shape_columns.<locals>.<listcomp>©r   r   r7   r   r  r8   r9   r‘   r   r   r   Útest_infer_output_shape_columns�  s    þýÿ
rg  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 )NrX   )r   r   r   r   c                 S   s   g d¢S r«   r   ra   r   r   r   rG   š  rH   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>r   rb   c                 S   s   g | ]}g d ¢‘qS )r“   r   r	  r   r   r   r6  ›  rH   z<test_infer_output_shape_listlike_columns.<locals>.<listcomp>c                 S   s   ddgS ©Nr   rX   r   ra   r   r   r   rG   ž  rH   c                 S   s   g | ]}d dg‘qS ©r   rX   r   r	  r   r   r   r6  Ÿ  rH   ©
r   r   rç   rè   ré   r7   r   r  r8   r9   r‘   r   r   r   Ú(test_infer_output_shape_listlike_columns“  s    ÿrk  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 )Nrg   r“   r®   ry   c                    s
   t  ˆ ¡S rC   ©r   Zonesr  r5  r   r   rG   ¨  rH   zBtest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>r   rb   c                    s   g | ]}t  ˆ ¡‘qS r   rl  r	  r5  r   r   r6  ©  rH   zDtest_infer_output_shape_listlike_columns_np_func.<locals>.<listcomp>)r   r¥   r7   r   r  r;   r8   r9   )r2  r   r>   r?   r   r5  r   Ú0test_infer_output_shape_listlike_columns_np_func£  s     rm  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”   rW   r   )r”   r   rW   rX   )r   rX   r   rW   )rg   r…   r†   r@   c                 S   s   dS )Nri  r   ra   r   r   r   Úfun½  s    zDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.funr   rb   c                 S   s   g | ]}d ‘qS )ri  r   r	  r   r   r   r6  Á  rH   zKtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.<listcomp>rf  )r   rn  r>   r?   r   r   r   Ú7test_infer_output_shape_listlike_columns_with_timestamp­  s    ü÷ÿro  Ú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 )NrX   )rW   r   r   r   c                    s   ˆ S rC   r   ra   ©rp  r   r   rG   Í  rH   z3test_consistent_coerce_for_shapes.<locals>.<lambda>r   rb   c                    s   g | ]}ˆ ‘qS r   r   r	  rq  r   r   r6  Î  rH   z5test_consistent_coerce_for_shapes.<locals>.<listcomp>rj  )rp  r   r>   r?   r   rq  r   Ú!test_consistent_coerce_for_shapesÅ  s    ÿrr  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Úcolsry   ©r   ra   r   r   r   rG   ×  rH   z'test_consistent_names.<locals>.<lambda>r   rb   rs  rt  ru  r   r   c                 S   s   t ddgddgd�S )Nr   rX   rs  rt  ry   rv  ra   r   r   r   rG   Þ  rH   )r7   Úrenamer8   rM   r°   r   r   r   Útest_consistent_namesÒ  s    ÿ
ÿrx  c                 C   s:   | }|j dd„ ddd�}| ¡ }g d¢|_t ||¡ d S )Nc                 S   s   g d¢S r«   r   ra   r   r   r   rG   è  rH   z"test_result_type.<locals>.<lambda>r   r€   r�   ©r   r   rX   ©r7   r¯   r   r8   rM   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   s   ddgS rh  r   ra   r   r   r   rG   ò  rH   z/test_result_type_shorter_list.<locals>.<lambda>r   r€   r�   r   r   r   rz  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   s   g d¢S r«   r   ra   r   r   r   rG     rH   z,test_result_type_broadcast.<locals>.<lambda>r   r›   ©r0   r‚   r(   ©	r%   r1   r2   r3   r4   r7   r¯   r8   rM   )r    r'   r(   r1   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)   ©rt  r/  r'  c                    s   t g d¢ˆ d�S ©Nr“   ry   rv  ra   r   r   r   rG     rH   z8test_result_type_broadcast_series_func.<locals>.<lambda>r   r›   r}  r~  ©r    r(   r'   r1   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;   ra   r   r   r   rG   %  rH   z0test_result_type_series_result.<locals>.<lambda>r   r/   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                    s   t g d¢ˆ d�S r‚  rv  ra   r   r   r   rG   6  rH   z<test_result_type_series_result_other_index.<locals>.<lambda>r   r/   )
r%   r1   r2   r3   r4   r7   r¯   r   r8   rM   rƒ  r   r   r   Ú*test_result_type_series_result_other_index*  s    ÿr†  Úboxc                 C   s   t | ƒS rC   )r¥   ra   r   r   r   rG   >  rH   c                 C   s   t | ƒS rC   )r\  ra   r   r   r   rG   >  rH   c                 C   s   t j| dd�S )Nr   r   )r   rÂ   ra   r   r   r   rG   >  rH   )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 rh  r   ra   ©r‡  r   r   rG   E  rH   z,test_consistency_for_boxed.<locals>.<lambda>r   rb   c                    s   g | ]}ˆ d dgƒ‘qS ri  r   r	  rˆ  r   r   r6  F  rH   z.test_consistency_for_boxed.<locals>.<listcomp>c                    s   ˆ ddgƒS rh  r   ra   rˆ  r   r   rG   I  rH   r€   r�   r   r   r   rq   r   )r7   r   r  r8   r9   rw  rM   )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 r�t 	|j
dgg¡|_
nt 	|jdgg¡|_t ||¡ |jt jt jg| d�}t||g|d�}| dv röt 	|j
ddgg¡|_
nt 	|jddgg¡|_t ||¡ W d   ƒ n1 �s.0    Y  d S )	N¾   r   r;   r   r   r+   r,   rb   r6   Úabsolute)r   r5   Úabsr6   r¯   r7   r8   rM   r   Zfrom_productr   r;   r
   )r0   r=   Ú
other_axisZf_absZf_sqrtr?   r>   r   r   r   Útest_agg_transformN  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 )
Nr”   rq   r  r  r   rW   r   r   rÞ   )r   r¦   ri   r8   rM   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”   rq   r  r  rŠ   ç      @r"  ç      @g      9@r   r   )r  r  rŠ   rÞ   )r   r¦   ri   r   rz   r8   rM   Z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ø   ÚcountrX   r  )r   ri   r   r8   r9   )rj   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ø   Zbazr   r   r   r½   ç      @rø   Ú	foobarbazr  rŠ   ry   )r   r   r   )r   ri   r8   rM   Z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\0    Y  tjt|d	��& | g d¢  dd
g¡ W d   ƒ n1 s 0    Y  d S )Nr“   r•  r—  rl   r   rm   ©r   r   r   rO   údoes not support reductionrC  r  rŠ   )rO   r   r   r   )r   r	   r%   rF  Ú	TypeErrorri   )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 rr|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   rX   rb   )r:   r  rŠ   r:   rŠ   ry   >   r   r   r  )ZaxesÚuniqueZsort_valuesrr   Úconcatr:   r  rŠ   r   r�   ri   r8   rM   r   r{   r9   r   )r0   r=   r�  Zname1Zname2r?   r>   rt   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 sÆ0    Y  | g d¢  d¡}tg d¢g d¢d�}t ||¡ d}t
jt|d�� |  dg¡ W d   ƒ n1 �s80    Y  d S )Nr“   r•  r—  rl   r   rm   rœ  r  r   r½   rø   ry   Únsr  r�  rC  rŠ   r   )r   r˜  r™  )r   r	   ri   r   r   r   r8   r9   Zas_unitrM   r%   rF  rž  )r   r>   r?   rŸ  r   r   r   Útest_nuiscance_columns  s4    
üÿ	
ý(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©NrX   r   r½   r–  ©r¾   Nrø   r   r   r“  rX   Úsizer   )r“  r©  Tr  )	r   r   rz   r�   r   r8   r9   rM   r“  )r¦  r   r>   r?   Zresult1Z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 rPt|jd	 |jd
�}nt|jd |jd
�}t 	||¡ d S )Nr§  r½   r–  r¨  r   r©  rb   )r   r;   r   ry   r   )
r   r   rz   r�   r   rY   r   r;   r8   r9   )r¦  r0   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)rX   rX   r   g      ø?r¨  r   c                 S   s   t |  ¡  ¡ ƒS rC   )r¥   Zdropnar¡  )Z	group_colr   r   r   rt   t  s    z&test_agg_listlike_result.<locals>.funcrX   r   r¾   rø   ry   rt   )
r   r   rz   ri   r   r8   r9   Zto_framer�   rM   )r   rt   r>   r?   r   r   r   Útest_agg_listlike_resultp  s     
 r¬  zargs, kwargs)r–   r•   é   ri  rI   r…   r   ©rg   r…   r„   c                 C   sj   ddd„}t ddgddggƒ}| dkr4tdd	gƒ}ntd
dgƒ}|j|| g|¢R i |¤Ž}t ||¡ d S )Nr   c                 S   s   |   ¡ || |  S rC   r:  )rE   rg   r…   r†   r   r   r   rö   Ž  s    ztest_agg_args_kwargs.<locals>.fr   rX   rW   r   r‘  g      @r�  g       @)r   ©r   r   ri   r8   r9   )r0   rJ   Úkwargsrö   r   r?   r>   r   r   r   Útest_agg_args_kwargs€  s    
r±  Únum_cols)rX   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slJ ‚d S )
Nr"   z*numba engine only supports numeric indicesr)   )z
1950-06-30z
1952-10-24z
1953-05-29r   r  c                 S   s   | S rC   r   ra   r   r   r   rG   ¦  rH   z,test_frequency_is_original.<locals>.<lambda>r.   )r%   r1   r2   r3   r4   rr   ZDatetimeIndexr¯   r   r¦   r7   r[  )r²  r(   r'   r1   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+0000r^   r_   z2019-03-15 12:34:34.359000+0000z2019-03-15 12:34:34.660000+0000ry  )rj   r;   c                 S   s   | j S rC   r  ra   r   r   r   rG   ¹  rH   z.test_apply_datetime_tz_issue.<locals>.<lambda>r   r/   )r;   rj   )r%   r1   r2   r3   r4   r   r   r7   r   r8   r9   )r(   r'   r1   Z
timestampsr   r>   r?   r   r   r   Útest_apply_datetime_tz_issueª  s    ÿ


ýrµ  r   r†   r@   rq   Úmethod)r  r  rŠ   c                 C   sb   |dkrd}nd}|sRt jt|d�� t| |ƒƒ  W d   ƒ q^1 sF0    Y  nt| |ƒƒ  d S )NrŠ   z>can only concatenate str \(not "int"\) to str|does not supportz4not supported between instances of 'str' and 'float'rC  )r%   rF  rž  r�   )r   r¶  Zusing_infer_stringrŸ  r   r   r   Útest_mixed_column_raises¿  s    ,r·  r/  r½   c                 C   s:   t d| ggddgd�}| dd„ ¡}|j}t ||¡ d S )Nr½   rg   r…   r   c                 S   s   | j S rC   r   ra   r   r   r   rG   Ò  rH   z"test_apply_dtype.<locals>.<lambda>)r   r7   Zdtypesr8   r9   )r/  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 sn0    Y  t ||¡ |sŒ| ršt ||¡ nt ||¡ d S )	Néd   éÈ   r®  c                 S   s*   | j }| jd  d7  < | j |us&J ‚| S )Nrg   r   )Z_mgrr{   )r  Zmgrr   r   r   rt   Ý  s    z!test_apply_mutating.<locals>.funcrg   r   rb   )r   r¦   r¯   r8   Zassert_cow_warningr7   rM   )Zusing_array_managerZusing_copy_on_writeZwarn_copy_on_writer   Zdf_origrt   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   rX   r   rW   r”   r   r•   r–   r—   r¿   rg   r…   r   c                 S   s   g S rC   r   ra   r   r   r   rG   ÷  rH   z.test_apply_empty_list_reduce.<locals>.<lambda>rƒ   rœ   r®  r   )r   r7   r   r0  r8   r9   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)   rW   r—   r   r   r   r   rŠ   c                 S   s   |   ¡ S rC   r:  ra   r   r   r   rG     rH   z,test_apply_no_suffix_index.<locals>.<lambda>r.   )r4  r4  r4  )é   r½  r½  rq   )rŠ   rG   rG   ry   )	r%   r1   r2   r3   r4   r   r7   r8   rM   )r(   r'   r1   Z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   ZaaÚbbbc                 S   s   | d S r˜   r   ra   r   r   r   rG     rH   z/test_apply_raw_returns_string.<locals>.<lambda>r   T)r(   r0   rB   )r%   rL   r   r7   r   r8   r9   ©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   )rX   r   r   )r   r   r   )rW   r”   rW   )r”   r   r   )r   r•   r•   )Zatt1Zatt2Zatt3r   c                 S   s   |   ¡ d S r»   r:  r™   r   r   r   Úsum_div2%  s    z4test_aggregation_func_column_order.<locals>.sum_div2rŠ   r“  r  )g      5@g      %@r˜  r½   )g      2@g      "@r˜  r"  )g      1@g      !@r˜  r"  )rŠ   rÂ  r“  r  ry   rh   )r   rÂ  Zaggsr>   r?   r   r   r   Ú"test_aggregation_func_column_order  s    ÷
ýúrÃ  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)   ry  r“   r®  rg   c                 S   s   | j d | j d  S )Nr   r   )rÚ   ra   r   r   r   rG   >  rH   z+test_apply_getitem_axis_1.<locals>.<lambda>r   r/   )r   rX   rW   )
r%   r1   r2   r3   r4   r   r7   r   r8   r9   )r(   r'   r1   r   r>   r?   r   r   r   Útest_apply_getitem_axis_15  s    ÿ
ÿrÄ  c                  C   sV   dd„ } t dg d¢iƒ}tjtdd�� | | g¡ W d   ƒ n1 sH0    Y  d S )Nc                 S   s   t  d¡ |  ¡ S )NúHello, World!)ÚwarningsÚwarnrŠ   ra   r   r   r   Úexpected_warningL  s    
zDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningrg   r“   rÅ  rC  )r   r8   Úassert_produces_warningÚUserWarningri   )rÈ  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   rd  g      Ð?iä  r   )r  r  r„   ry   r   rb   )
r   rŽ   r   r   rz   r7   Útyper   r8   r9   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   rX   r   r   r®  c                 S   s   t | d | d ƒS )Nrg   r…   )r  ra   r   r   r   rG   j  rH   z/test_apply_on_empty_dataframe.<locals>.<lambda>r/   r   )r   Úheadr7   r   r   rˆ   r8   r9   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   rX   r   r®  c                 S   s   | j gS rC   r-  ra   r   r   r   rG   q  rH   z(test_apply_return_list.<locals>.<lambda>r~   r‘   r   r   r   Útest_apply_return_listo  s    rÐ  ztest, constant)r   r   r   )rX   rX   rX   c                 C   s>   t | ƒ}t|ddgdd�}dddœ}| |¡}t ||¡ d S )Nrg   r…   r0  )rj   r;   r   r¡  r®  r¯  )rs  ZconstantZdf1r?   Zaggregationr>   r   r   r   Útest_unique_agg_type_is_seriesv  s
    	

rÑ  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   rX   r   )r   rX   r   )r   r   r   r   )TTFr   rb   rŒ   )r   r   r8   r9   rŒ   r7   r  r   r   r   Ú/test_any_apply_keyword_non_zero_axis_regressionˆ  s    rÒ  c                  C   s0  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 sˆ0    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0    Y  t g d¢dgd�}t ||¡ d S )NrE   r“   r   r   c                 S   s   | | | S rC   r   )rE   rg   r†   r   r   r   Úfoo1™  s    z.test_agg_mapping_func_deprecated.<locals>.foo1rX   c                 S   s   | | | S rC   r   )rE   r…   r†   r   r   r   Úfoo2œ  s    z.test_agg_mapping_func_deprecated.<locals>.foo2r   rW   )r†   r•   z+using .+ in Series.agg cannot aggregate andrC  r–   r—   r¿   rÓ  rÔ  r   )rX   r   rW   )r   r   )rX   r   )r   ri   r8   rM   rÉ  ÚFutureWarning)r   rÓ  rÔ  r>   r?   rŸ  r   r   r   Ú test_agg_mapping_func_deprecated•  s"    

4"ÿ6rÖ  c                  C   sÖ   t t d¡ dd¡ddgd�} tjtdd�� |  tj¡}W d   ƒ n1 sN0    Y  t	d	d	d
œt
d�}t ||¡ tjtdd�� |  tjg¡}W d   ƒ n1 s¨0    Y  t d	d	d
œdgd�}t ||¡ d S )Nr   r   rX   r   r   r   zusing DataFrame.stdrC  r×   rq   r   zusing Series.stdÚstdry   )r   r   r   r   r8   rÉ  rÕ  ri   r×  r   rŽ   r9   rM   r‘   r   r   r   Útest_agg_std´  s    *,rØ  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   rz   r   ri   r“  r8   r9   r‘   r   r   r   Ú(test_agg_dist_like_and_nonunique_columnsÂ  s    ÿ
rÙ  )�r   rÆ  Únumpyr   r%   Zpandas.compatr   Zpandas.core.dtypes.dtypesr   Zpandasrr   r   r   r   r   r	   Zpandas._testingZ_testingr8   Zpandas.tests.frame.commonr
   Zpandas.util.versionr   Zfixturer    r$   r1   Z
single_cpur(   rA   ZparametrizerN   r\   re   rk   rs   r6   r:   rw   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  r  r  r  r  r  r  r#  r$  r*  r.  r1  rz   r7  r8  rŠ   rA  rI  rM  rT  rU  rW  rX  r]  rb  rg  rk  rm  ro  rr  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Ö  rØ  rÙ  r   r   r   r   Ú<module>   sÚ  


þ





	
ÿ			"4	þ*ûþ

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