o
    �¨ÊhðÓ  ã                   @   sZ
  d dl m Z  d dlZd dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ 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-¢¡d.d/„ ƒZ&d0d1„ Z'd2d3„ Z(d4d5„ Z)d6d7„ Z*d8d9„ Z+d:d;„ Z,d<d=„ Z-d>d?„ Z.ej dd dg¡d@dA„ ƒZ/ej dd dg¡dBdC„ ƒZ0dDdE„ Z1ej dd dg¡dFdG„ ƒZ2dHdI„ Z3dJdK„ Z4dLdM„ Z5ej 6dN¡ej dOdPdQg¡ejjd$dRdS„ dTdS„ gdUdVgdW�ej dddg¡ej dd dg¡dXdY„ ƒƒƒƒƒZ7dZd[„ Z8d\d]„ Z9d^d_„ Z:d`da„ Z;dbdc„ Z<ddde„ Z=dfdg„ Z>dhdi„ Z?djdk„ Z@dldm„ ZAdndo„ ZBdpdq„ ZCdrds„ ZDdtdu„ ZEdvdw„ ZFej dxe	dydzgd{d|ggƒedyd{d}œdzd|d}œgƒge	d dgd~dggƒed d~d}œddd}œgƒgg¡d€d�„ ƒZGd‚dƒ„ ZHd„d…„ ZId†d‡„ ZJej dˆd‰dŠg¡d‹dŒ„ ƒZKd�dŽ„ ZLd�d�„ ZMd‘d’„ ZNd“d”„ ZOej d•d–d—dejPg¡d˜d™„ ƒZQdšd›„ ZRej dœd�dždS„ idŸe	d�d~dgiƒfd�d dS„ ide	d�d~dgiƒfd�d¡dS„ idŸed�diƒfd�d¢dS„ ided�diƒfd�d£ejSd¤dS„ gidŸe	d�g d¥¢ig d¦¢d§�fd�d£ejSd¨dS„ gide	d�g d¥¢ig d¦¢d§�fd�d©dS„ idŸe	d�ddgiƒfd�dªdS„ ided�diƒfg¡d«d¬„ ƒZTej d­d�d®dS„ id�d¯dS„ id�d£ejSd°dS„ gid�d±dS„ ig¡d²d³„ ƒZUd´dµ„ ZVd¶d·„ ZWd¸d¹„ ZXej dœdºdS„ gdŸe	d»d~dgiƒfd¼dS„ gde	d»d~dgiƒfd½dS„ gdŸe	d�dgidSgd§�fd¾dS„ gde	d�dgidSgd§�fd£ejSd¿dS„ gdŸe	d�g d¥¢ig d¦¢d§�fd£ejSdÀdS„ gde	d�g d¥¢ig d¦¢d§�fdÁdS„ dÂdS„ gdŸe	d~dgddggd�d�gdSdSggdÃ�fdÄdS„ dÅdS„ gde	d�d~dgidSdSgƒfg¡dÆdÇ„ ƒZYej d­dÈdS„ gdÉdS„ gd£ejSdÊdS„ gdËdS„ dÌdS„ gg¡dÍdÎ„ ƒZZdÏdÐ„ Z[dÑdÒ„ Z\dÓdÔ„ Z]dÕdÖ„ Z^ej d•dd~g¡d×dØ„ ƒZ_dÙdÚ„ Z`ej dÛg dÜ¢dd~gg¡dÝdÞ„ ƒZadßdà„ Zbdádâ„ Zcdãdä„ Zddådæ„ Zedçdè„ Zfdédê„ Zgdëdì„ ZhejjdídîdS„ dïdS„ dðdS„ gg dñ¢dW�dòdó„ ƒZidôdõ„ Zjdöd÷„ Zkdødù„ Zldúdû„ Zmdüdý„ Zndþdÿ„ Zo�d �d„ Zp�d�d„ Zqej �ddŠd‰g¡�d�d„ ƒZrej �ddŠd‰g¡�d�d„ ƒZs�d	�d
„ Zte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„ ƒƒZuej �dg �d¢¡�d�d„ ƒZv�d�d„ Zwej �de	d�dg�d�dg�dœƒg¡ej �dg �d ¢¡�d!�d"„ ƒƒZxej �d#d�d$dd�ejPg¡�d%�d&„ ƒZy�d'�d(„ Zz�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ƒ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>�d?„ ƒZ„�d@�dA„ Z…�dB�dC„ Z†�dD�dE„ Z‡�dF�dG„ ZˆdS (H  é    )ÚdatetimeN)ÚCategoricalDtype)Ú	DataFrameÚ
MultiIndexÚSeriesÚ	TimestampÚ
date_range)Ú
zip_framesc                  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   úU/var/www/html/env/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&   r0   ÚresultÚexpectedÚdr   r   r   Ú
test_apply*   s    
"ñr@   r/   r   ÚrawTFc                 C   sR   |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 argsr(   c                 S   ó   | | S ©Nr   ©ÚxÚyr   r   r   Ú<lambda>G   ó    z!test_apply_args.<locals>.<lambda>©r   )ÚargsrA   r'   r   )r$   r0   r1   r2   r3   r6   r7   Úassert_frame_equal)r<   r/   rA   r'   r&   r0   r=   r>   r   r   r   Útest_apply_args@   s   ÿrL   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   ÚDrM   ©Úc0Úc1c                 S   ó
   |   d¡S )NÚcategory©Úastype)Útsr   r   r   rG   P   ó   
 z-test_apply_categorical_func.<locals>.<lambda>)é   é   rO   rP   )r   r6   ÚshapeÚ
isinstancer   r   ©r   r=   r   r   r   Útest_apply_categorical_funcM   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 rC   r   ©rE   r   r   r   rG   Z   ó    z*test_apply_axis1_with_ea.<locals>.<lambda>r   ©r/   ©r   r   r6   r7   rK   ©r>   r=   r   r   r   Útest_apply_axis1_with_eaW   s   rg   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   ra   rC   r   rb   r   r   r   rG   e   rc   z0test_agg_axis1_duplicate_index.<locals>.<lambda>r   rd   ©r   Úaggr7   rK   )Údatar   r>   r=   r   r   r   Útest_agg_axis1_duplicate_index^   s   rm   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   ra   rC   r   rb   r   r   r   rG   r   rc   z/test_apply_mixed_datetimelike.<locals>.<lambda>r   rd   )	r   r   ÚpdÚto_timedeltar   r   r6   r7   rK   rf   r   r   r   Útest_apply_mixed_datetimelikei   s   
þÿrv   Úfuncc                 C   s"   t ƒ }|j| |d�}|jsJ ‚d S )Nr-   )r   r6   Úempty)rw   r'   Úempty_framer=   r   r   r   Útest_apply_emptyv   s   rz   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 rC   ©r9   rb   r   r   r   rG   �   rH   z(test_apply_float_frame.<locals>.<lambda>r-   ©r:   c                 S   r{   rC   r|   rb   r   r   r   rG   †   rH   r   r.   )	r6   r   r   Únanr   r7   r8   Ú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 )Nri   r}   c                 S   ó   | d S )Nri   r   rb   r   r   r   rG   Ž   rH   z/test_apply_empty_except_index.<locals>.<lambda>r   r.   ©r   r6   r7   rK   )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©r/   Úresult_typeÚreducer   ©ri   ÚbÚcr   )	r   r6   Úappendr7   rK   r   r   Úfloat64r8   )ry   rE   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   r6   Úgetattrr   rT   Úfloatr7   r8   )rw   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   r7   r8   Ú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   )é   é   é	   )ri   ri   rŒ   r}   c                 S   rƒ   ©Nr   r   ©rq   r   r   r   rG   Ä   rH   z/test_apply_standard_nonunique.<locals>.<lambda>r   rd   )r   rW   r�   c                 S   rƒ   r    r   r¡   r   r   r   rG   È   rH   r   )r   r6   r   r7   r8   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}   )r6   r   r9   r   r:   r7   rK   ©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‡   rd   c                    ó   i | ]}|ˆ “qS r   r   ©Ú.0rŒ   ©Úmr   r   Ú
<dictcomp>Ö   ó    z6test_apply_broadcast_scalars_axis1.<locals>.<dictcomp>)r6   r   r9   r   r   r7   rK   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 rC   )ÚlistÚrangeÚlenr   rb   ©r<   r   r   rG   Ý   r­   z4test_apply_broadcast_lists_columns.<locals>.<lambda>r   r£   r‡   rŽ   )r   r:   r   )	r6   r°   r±   r²   r   r   r:   r7   rK   )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¯   rC   )r°   r±   r²   r:   rb   r³   r   r   rG   í   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:   )	r6   r°   r±   r²   r:   r   r   r7   rK   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   rb   r   r   r   rG   û   rH   z7test_apply_broadcast_list_lambda_func.<locals>.<lambda>r   r£   r‡   ©r6   r7   rK   )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°   rb   r   r   r   rG     ó    z9test_apply_broadcast_series_lambda_func.<locals>.<lambda>r   r£   r‡   )r6   Úcopyr7   rK   ©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   ©rZ   r   ÚndarrayÚndimrb   r   r   r   Ú_assert_raw  ó   z/test_apply_raw_float_frame.<locals>._assert_rawT©r/   r'   rA   )r$   Úskipr6   )r<   r/   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   )Úvaluesr9   rb   r   r   r   rG     rV   z3test_apply_raw_float_frame_lambda.<locals>.<lambda>rd   )r6   r   r9   r7   r8   )r<   r/   r'   r=   r>   r   r   r   Ú!test_apply_raw_float_frame_lambda  s   rÊ   c                 C   s,   | j dd„ |dd�}| d }t ||¡ d S )Nc                 S   s   | d S ©NrX   r   rb   r   r   r   rG     rH   z9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>T)r'   rA   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   r¿   rÀ   rÁ   rb   r   r   r   rÄ   )  rÅ   z4test_apply_raw_mixed_type_frame.<locals>._assert_rawç      ð?rX   Úfooé
   Úfloat32r   r   Úint32)ri   r‹   rŒ   rÐ   rÑ   r}   TrÆ   )r$   rÇ   r   r   Úarrayr   r6   )r/   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   rd   )r:   r6   r   r9   r;   )r<   r?   r=   r>   r   r   r   Útest_apply_axis1;  s   
rÔ   c                  C   sR   t dgdgdœƒ} | d d… jtjdd�}ttjtjg dd�d	�}t 	||¡ d S )
NrÎ   rÍ   rs   r   r   rd   r   r   r}   )
r   r6   r   r9   r   r~   rt   ÚIndexr7   r8   r™   r   r   r   Útest_apply_mixed_dtype_cornerB  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Í   rs   c                 S   rƒ   )Nr   r   rb   r   r   r   rG   M  rH   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>r   rd   r   r}   c                 S   rƒ   )Nr   r   rb   r   r   r   rG   Q  rH   )r   r6   r   r7   r8   r™   r   r   r   Ú&test_apply_mixed_dtype_corner_indexingK  s   r×   zignore::RuntimeWarningÚaxr:   r   c                 C   ra   rC   r   rb   r   r   r   rG   Y  rc   rG   c                 C   r{   rC   r|   rb   r   r   r   rG   Y  rH   Úidentityr9   )Ú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   r4   rÒ   rZ   rÂ   r6   Ú_get_agg_axisr   r:   )rØ   rw   rA   r/   r'   r&   r   Útest_resÚis_reductionr=   Úagg_axisr   r   r   Útest_apply_empty_infer_typeV  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{   rC   r|   rb   r   r   r   rG   o  rH   z7test_apply_empty_infer_type_broadcast.<locals>.<lambda>r£   r¤   )r   r6   rZ   )r�   r=   r   r   r   Ú%test_apply_empty_infer_type_broadcastm  s   rá   c                 C   ó6   ddd„}| j |dd�}|   dd„ ¡}t ||¡ d S )	Nr   c                 S   rB   rC   r   ©rE   Úhowmuchr   r   r   Úadd_somet  ó   z4test_apply_with_args_kwds_add_some.<locals>.add_somerX   ©rä   c                 S   ó   | d S rË   r   rb   r   r   r   rG   x  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_somes  ó   
rê   c                 C   râ   )	Nr   c                 S   s   |   ¡ | S rC   r|   rã   r   r   r   Úagg_and_add}  ó   z:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_addrX   rç   c                 S   s   |   ¡ d S rË   r|   rb   r   r   r   rG   �  ó    z7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>ré   )r6   r7   r8   )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 rC   r   )rE   ÚsubÚdivider   r   r   Úsubtract_and_divide†  rí   zJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide)rX   rX   )rJ   rñ   c                 S   s   | d d S )Nç       @r   rb   r   r   r   rG   Š  rî   z?test_apply_with_args_kwds_subtract_and_divide.<locals>.<lambda>rI   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   )r6   r°   r7   rK   )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   rd   )	r   r~   Úilocr   Úget_locr9   r6   r7   r8   )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   rO   rP   Úi0Úi1©r   r:   r   rd   )rù   rú   r}   rN   )r   r6   Údictr   r   r7   r8   r:   )rl   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   rd   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_normalr6   r   r  Úitemsr   r7   rK   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þ   )ri   ÚmarketÚpositionr   c                 S   rƒ   )Nr  r   )Úrr   r   r   ÚfÁ  ræ   ztest_apply_bug.<locals>.fr   rd   iÝ  r  r  rX   r  rþ   r
   r  rW   r  rœ   r  r   r  )r   r6   r   r7   r8   )Ú	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   rM   ÚEÚFc                 S   ra   rC   r   rb   r   r   r   rG     rc   z,test_apply_convert_objects.<locals>.<lambda>r   rd   )r   r   r  r  r  r6   r7   rK   rf   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 rC   ©Únamerb   r   r   r   rG   
  ó    z(test_apply_attach_name.<locals>.<lambda>r}   )r6   r   r   r7   r8   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!  rC   r"  rb   r   r   r   rG     r$  z.test_apply_attach_name_axis1.<locals>.<lambda>r   rd   r}   )r6   r   r:   r7   r8   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 rC   ©r   Úrepeatr#  r²   rb   r   r   r   rG     r­   z6test_apply_attach_name_non_reduction.<locals>.<lambda>r   ©r:   r   )	r6   r   r   r   r   r²   r:   r7   rK   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'  rC   r(  rb   r   r   r   rG   !  r­   z<test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>r   rd   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>)r6   r   Ú
itertuplesr:   r7   r8   r¥   r   r³   r   Ú*test_apply_attach_name_non_reduction_axis1   s   ÿr0  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)ri   ri   r‹   )rŒ   r?   r?   r   rX   r
   rW   rœ   r   Úcol1Úcol2r*  c                 S   s   t t| ƒt| ƒdœƒS )N)ÚminÚmax)r   r3  r4  rb   r   r   r   rG   ,  ó    z(test_apply_multi_index.<locals>.<lambda>r3  r4  T©Ú
check_like)r   Úfrom_arraysr   r6   r7   rK   )r:   rq   r=   r>   r   r   r   Útest_apply_multi_index)  s
   $$r9  z	df, dictsrÎ   r  ÚspamÚeggs)r   r   rX   r
   c                 C   sV   dd„ }| j |dd�}| j |dd�}|   |¡}t ||¡ t || ¡ t ||¡ d S )Nc                 S   r{   rC   )Úto_dictrb   r   r   r   rG   =  rH   z!test_apply_dict.<locals>.<lambda>r‰   r¤   r†   )r6   r7   r8   rK   )r   ÚdictsÚfnÚreduce_trueÚreduce_falseÚreduce_noner   r   r   Útest_apply_dict1  s   
rB  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)rp   r`   c                 S   ra   rC   r   rb   r   r   r   rG   J  rc   z,test_apply_non_numpy_dtype.<locals>.<lambda>c                 S   s   | t  d¡ S )NÚ1day)rt   Ú	Timedeltarb   r   r   r   rG   M  ó    z
2015-01-02)r   r   r6   r7   rK   r™   r   r   r   Útest_apply_non_numpy_dtypeG  s   ÿrG  c                  C   s2   t dg d¢idd�} |  dd„ ¡}t || ¡ d S )NrC  )ri   r‹   rŒ   ri   rR   r   c                 S   ra   rC   r   rb   r   r   r   rG   V  rc   z5test_apply_non_numpy_dtype_category.<locals>.<lambda>r„   r[   r   r   r   Ú#test_apply_non_numpy_dtype_categoryT  s   rH  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
   ri   r   r3  rû   rj   ©r   r>   r=   r   r   r   Útest_apply_dup_names_multi_aggZ  s   rJ  Úopr6   rk   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_listf  s   "z3test_apply_nested_result_axis_1.<locals>.apply_list)rW   rW   ÚABCDr   r   rd   )ç        rP  rP  )r   r   Úzerosr°   r”   r   r7   r8   )rK  rN  r   r=   r>   r   r   r   Útest_apply_nested_result_axis_1c  s   ÿrR  c                  C   sR   t dtddd�gidd�} |  dd„ ¡}t || ¡ |  d	d„ ¡}t || ¡ d S )
NrÎ   Ú2020r^   r_   zdatetime64[ns, UTC]r   c                 S   ra   rC   r   rb   r   r   r   rG   v  rc   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>c                 S   r{   rC   )r¼   rb   r   r   r   rG   x  rH   re   rf   r   r   r   Ú%test_apply_noreduction_tzaware_objectq  s   ÿrT  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 )	Nri   r›   c                    s   ˆ   | j¡ d S rC   ©r�   r#  rL  ©Únamesr   r   Úreducing_function‚  ó   z8test_apply_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | j¡ | S rC   rU  rL  rV  r   r   Únon_reducing_function…  s   z<test_apply_function_runs_once.<locals>.non_reducing_functionr   rd   )r   r6   r°   r:   )r   rX  rZ  rw   r   rV  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 supportedri   r›   c                    s   ˆ   | ¡ d S rC   ©ÚextendrL  ©rÉ   r   r   rX  ˜  s   z<test_apply_raw_function_runs_once.<locals>.reducing_functionc                    s   ˆ   | ¡ | S rC   r\  rL  r^  r   r   rZ  ›  s   
z@test_apply_raw_function_runs_once.<locals>.non_reducing_functionTr   )r'   rA   r/   )r$   rÇ   r   r6   r°   ri   Úto_list)r'   r   rX  rZ  rw   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   rQ   )NÚobjectrS   rb   r   r   r   rG   ¬  rV   z-test_apply_with_byte_string.<locals>.<lambda>)r   r   rÒ   rb  r6   r7   rK   rI  r   r   r   Útest_apply_with_byte_string¦  s   rc  Ú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 )Nre  rf  Úcderi   rR   r   c                    s   | ˆ kS rC   r   rb   ©rd  r   r   rG   ¶  rH   z/test_apply_category_equalness.<locals>.<lambda>c                    s$   g | ]}t  |¡rtjn|ˆ k‘qS r   )rt   Úisnullr   r~   )r©   rE   rh  r   r   Ú
<listcomp>¸  s   $ z1test_apply_category_equalness.<locals>.<listcomp>r"  )r   r~   r   ri   r6   r   r7   r8   )rd  Ú	df_valuesr   r=   r>   r   rh  r   Útest_apply_category_equalness°  s   ÿrl  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 )NrX   )rÏ   rX   r   rd   )r   rX   )r   r   r  r  r6   ÚfftrY   Úrfftr[   r   r   r   Útest_infer_row_shapeÂ  s
   ro  zops, by_row, expectedri   c                 C   rè   rÀ   r   rb   r   r   r   rG   Ð  rH   Úcompatc                 C   rè   rÀ   r   rb   r   r   r   rG   Ñ  rH   c                 C   r{   rC   ©r‘   rb   r   r   r   rG   Ò  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   Ó  rH   r‘   c                 C   r{   rC   rq  rb   r   r   r   rG   Õ  rH   )r
   r
   r
   )r‘   r‘   rG   r}   c                 C   r{   rC   rq  rb   r   r   r   rG   Ú  rH   c                 C   ó   dS rÀ   r   rb   r   r   r   rG   Þ  rc   c                 C   rr  rÀ   r   rb   r   r   r   rG   ß  rc   c                 C   ó.   t dddgiƒ}|j| |d�}t ||¡ d S ©Nri   r   rX   ©Úby_row©r   r6   r7   Úassert_equal©Úopsrv  r>   r   r=   r   r   r   Útest_dictlike_lambdaÍ  s   r{  rz  c                 C   rè   rÀ   r   rb   r   r   r   rG   ì  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   í  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   î  rH   c                 C   rr  rÀ   r   rb   r   r   r   rG   ï  rc   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 ©Nri   r   rX   zby_row=True not allowed©ÚmatchTru  ©r   r$   ÚraisesÚ
ValueErrorr6   ©rz  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   rX   ri   r‹   r   c                 S   ó   d| d | d  iS ©Nrq   ri   r‹   r   rb   r   r   r   rG   ü  r»   z,test_with_dictlike_columns.<locals>.<lambda>rd   c                 S   s   g | ]}d di‘qS )rq   r
   r   r,  r   r   r   rj  ý  r»   z.test_with_dictlike_columns.<locals>.<listcomp>ú2017-05-01 00:00:00ú2017-05-02 00:00:00r7   c                 S   r†  r‡  r   rb   r   r   r   rG     r»   c                 S   s   d| iS )Nrq   r   rb   r   r   r   rG     rH   rq   r
   )r   r6   r   r/  r7   r8   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 rC   r   rb   r   r   r   rG     rc   z:test_with_dictlike_columns_with_datetime.<locals>.<lambda>r   rd   )r   rt   Úto_datetimer6   r   r7   r8   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   rX   ri   r‹   r   c                 S   r†  r‡  r   rb   r   r   r   rG     r»   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>r†   r‡   rq   r
   rˆ  r‰  r7   c                 S   r†  r‡  r   rb   r   r   r   rG   &  r»   )r   r6   r7   rK   r   r™   r   r   r   Ú%test_with_dictlike_columns_with_infer  s   þr—  c                 C   rè   rÀ   r   rb   r   r   r   rG   -  rH   )ri   rG   c                 C   rè   rÀ   r   rb   r   r   r   rG   .  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   /  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   0  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   2  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   7  rH   c                 C   rè   rÀ   r   rb   r   r   r   rG   <  rH   c                 C   rr  ©Nr
   r   rb   r   r   r   rG   <  rc   r   c                 C   rr  rË   r   rb   r   r   r   rG   A  rc   c                 C   rr  r˜  r   rb   r   r   r   rG   A  rc   c                 C   rs  rt  rw  ry  r   r   r   Útest_listlike_lambda*  s   r™  c                 C   rè   rÀ   r   rb   r   r   r   rG   Q  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   R  rH   c                 C   r{   rC   rq  rb   r   r   r   rG   S  rH   c                 C   rè   rÀ   r   rb   r   r   r   rG   T  rH   c                 C   rr  r˜  r   rb   r   r   r   rG   T  rc   c                 C   r|  r}  r€  rƒ  r   r   r   Útest_listlike_lambda_raisesN  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 )NrX   rW   )ri   r°   ÚofÚwordsz
2016-10-01Úh)rp   Úfreq)ri   r‹   rU   ri   r‹   r   rd   c                 S   ó   g | ]}|d d… ‘qS rh   r   r,  r   r   r   rj  i  ó    z.test_with_listlike_columns.<locals>.<listcomp>rU   c                 S   rŸ  rh   r   r,  r   r   r   rj  m  r   )r   r   r   r  r  r  r   r6   Útupler/  r7   r8   r™   r   r   r   Útest_with_listlike_columns^  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 )Nri   r‹   ÚqÚzr-  rD   )rù   Új0)rú   Új1c                    s   ‡ fdd„ˆ d D ƒS )Nc                    s   g | ]
}|ˆ d  v r|‘qS )rF   r   )r©   ÚelrL  r   r   rj  v  s    zOtest_with_listlike_columns_returning_list.<locals>.<lambda>.<locals>.<listcomp>rE   r   rL  r   rL  r   rG   v  r5  z;test_with_listlike_columns_returning_list.<locals>.<lambda>r   rd   r}   )r   r   r   Úfrom_tuplesr:   r6   r7   r8   r™   r   r   r   Ú)test_with_listlike_columns_returning_listq  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 rC   ©rª  r«  rL  r   r   r   rG   ˆ  rî   z1test_infer_output_shape_columns.<locals>.<lambda>r   rd   c                 S   s   g | ]}|j |jf‘qS r   r¬  r,  r   r   r   rj  ‰  r   z3test_infer_output_shape_columns.<locals>.<listcomp>©r   r   r6   r   r/  r7   r8   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 )NrX   )r   r
   r   r   c                 S   r¶   r·   r   rb   r   r   r   rG   ”  rH   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>r   rd   c                 S   s   g | ]}g d ¢‘qS )r›   r   r,  r   r   r   rj  •  r»   z<test_infer_output_shape_listlike_columns.<locals>.<listcomp>c                 S   ó   ddgS ©Nr   rX   r   rb   r   r   r   rG   ˜  rH   c                 S   s   g | ]}d dg‘qS ©r   rX   r   r,  r   r   r   rj  ™  r»   ©
r   r   r  r  r  r6   r   r/  r7   r8   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 )Nri   r›   rº   r}   c                    s
   t  ˆ ¡S rC   ©r   ÚonesrL  rh  r   r   rG   ¢  rV   zBtest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>r   rd   c                    s   g | ]}t  ˆ ¡‘qS r   r´  r,  rh  r   r   rj  £  r5  zDtest_infer_output_shape_listlike_columns_np_func.<locals>.<listcomp>)r   r°   r6   r   r/  r:   r7   r8   )rd  r   r=   r>   r   rh  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œ   rW   r
   )rœ   r
   rW   rX   )r   rX   r
   rW   )ri   r‹   rŒ   r?   c                 S   rr  )Nr±  r   rb   r   r   r   Úfun·  s   zDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.funr   rd   c                 S   s   g | ]}d ‘qS )r±  r   r,  r   r   r   rj  »  ó    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 )NrX   )rW   r
   r   r   c                    s   ˆ S rC   r   rb   ©rº  r   r   rG   Ç  rc   z3test_consistent_coerce_for_shapes.<locals>.<lambda>r   rd   c                    s   g | ]}ˆ ‘qS r   r   r,  r»  r   r   rj  È  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   rb   r   r   r   rG   Ñ  r»   z'test_consistent_names.<locals>.<lambda>r   rd   r½  r¾  r¿  r   r   c                 S   s   t ddgddgd�S )Nr   rX   r½  r¾  r}   rÀ  rb   r   r   r   rG   Ø  r»   )r6   Úrenamer7   rK   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   rb   r   r   r   rG   â  rH   z"test_result_type.<locals>.<lambda>r   r†   r‡   ©r   r   rX   ©r6   r¼   r   r7   rK   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   rb   r   r   r   rG   ì  rH   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   rb   r   r   r   rG   û  rH   z,test_result_type_broadcast.<locals>.<lambda>r   r£   ©r/   rˆ   r'   ©	r$   r0   r1   r2   r3   r6   r¼   r7   rK   )r   r&   r'   r0   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¾  ra  rW  c                    ó   t g d¢ˆ d�S ©Nr›   r}   rÀ  rb   r   r   r   rG     r¸  z8test_result_type_broadcast_series_func.<locals>.<lambda>r   r£   rÇ  rÈ  ©r   r'   r&   r0   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:   rb   r   r   r   rG     r­   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                    rÌ  rÍ  rÀ  rb   r   r   r   rG   0  r¸  z<test_result_type_series_result_other_index.<locals>.<lambda>r   r.   )
r$   r0   r1   r2   r3   r6   r¼   r   r7   rK   rÎ  r   r   r   Ú*test_result_type_series_result_other_index$  s   ÿrÑ  Úboxc                 C   ó   t | ƒS rC   )r°   rb   r   r   r   rG   8  rH   c                 C   rÓ  rC   )r¡  rb   r   r   r   rG   8  rH   c                 C   s   t j| dd�S )Nr   r   )r   rÒ   rb   r   r   r   rG   8  rF  )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   rb   ©rÒ  r   r   rG   ?  rî   z,test_consistency_for_boxed.<locals>.<lambda>r   rd   c                    s   g | ]}ˆ d dgƒ‘qS r±  r   r,  rÕ  r   r   rj  @  r   z.test_consistency_for_boxed.<locals>.<listcomp>c                    rÔ  r°  r   rb   rÕ  r   r   rG   C  rî   r†   r‡   r   r   r   rs   r   )r6   r   r/  r7   r8   rÁ  rK   )rÒ  r   r   r=   r>   r   rÕ  r   Útest_consistency_for_boxed6  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+   rd   r5   Úabsolute)r   r4   Úabsr5   r¼   r6   r7   rK   r   Úfrom_productr   r:   r	   )r/   r<   Ú
other_axisÚf_absÚf_sqrtr>   r=   r   r   r   Útest_agg_transformH  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œ   rs   r3  r4  r   rW   r   r   rû   )r   r±   rk   r7   rK   r™   r   r   r   Ú	test_demom  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œ   rs   r3  r4  r‘   ç      @rP  ç      @g      9@r   r   )r4  r3  r‘   rû   )r   r±   rk   r   r~   r7   rK   Úreindex_liker™   r   r   r   Útest_demo_dict_aggx  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   rk   r   r7   r8   )rl   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  Ú	foobarbazr3  r‘   r}   )r   r   r   )r   rk   r7   rK   Ú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è  rn   r
   ro   ©r   r   r   rM   údoes not support reductionr~  r3  r‘   )rM   r   r   r   )r   r   r$   r�  Ú	TypeErrorrk   )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   rX   rd   )r9   r4  r‘   r9   r‘   r}   >   r   r   r4  )ÚaxesÚuniqueÚsort_valuesrt   Úconcatr9   r4  r‘   r   r˜   rk   r7   rK   r   r   r8   r   )r/   r<   rÛ  Úname1Úname2r>   r=   rw   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è  rn   r
   ro   rï  r3  r   rÍ   r  r}   Únsr*  rð  r~  r‘   r   )r   rê  rë  )r   r   rk   r   r   r   r7   r8   Úas_unitrK   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©NrX   r
   rÍ   rç  ©rÎ   Nr  r   r   rä  rX   Úsizer
   )rä  r  Tr6  )	r   r   r~   r”   r   r7   r8   rK   rä  )rþ  r   r=   r>   Úresult1Úresult2r   r   r   Útest_non_callable_aggregates-  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  rd   )r   r:   r   r}   r   )
r   r   r~   r”   r   rY   r   r:   r7   r8   )rþ  r/   r   r=   r>   r   r   r   Útest_size_as_strZ  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°   Údropnarõ  )Ú	group_colr   r   r   rw   n  rY  z&test_agg_listlike_result.<locals>.funcrX   r
   rÎ   r  r}   rw   )
r   r   r~   rk   r   r7   r8   Úto_framer˜   rK   )r   rw   r=   r>   r   r   r   Útest_agg_listlike_resultj  s    
 r	  zargs, kwargs)rž   r�   é   r±  rI   r‹   r   ©ri   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 rC   rq  )rE   ri   r‹   rŒ   r   r   r   r  ˆ  s   ztest_agg_args_kwargs.<locals>.fr   rX   rW   r   rá  g      @rà  g       @)r
   ©r   r   rk   r7   r8   )r/   rJ   Úkwargsr  r   r>   r=   r   r   r   Útest_agg_args_kwargsz  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s6J ‚d S )
Nr    z*numba engine only supports numeric indicesr(   )z
1950-06-30z
1952-10-24z
1953-05-29r   r*  c                 S   ra   rC   r   rb   r   r   r   rG      rc   z,test_frequency_is_original.<locals>.<lambda>r-   )r$   r0   r1   r2   r3   rt   ÚDatetimeIndexr¼   r   r±   r6   rž  )r  r'   r&   r0   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+0000rÃ  )rl   r:   c                 S   r!  rC   r"  rb   r   r   r   rG   ³  r$  z.test_apply_datetime_tz_issue.<locals>.<lambda>r   r.   )r:   rl   )r$   r0   r1   r2   r3   r   r   r6   r   r7   r8   )r'   r&   r0   Ú
timestampsr   r=   r>   r   r   r   Útest_apply_datetime_tz_issue¤  s   ÿ


ýr  r   rŒ   r?   rs   Úmethod)r3  r4  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  ra  rÍ   c                 C   s:   t d| ggddgd�}| dd„ ¡}|j}t ||¡ d S )NrÍ   ri   r‹   r   c                 S   r!  rC   r   rb   r   r   r   rG   Ì  r$  z"test_apply_dtype.<locals>.<lambda>)r   r6   Údtypesr7   r8   )ra  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 )Nri   r   )Ú_mgrr   )rM  Úmgrr   r   r   rw   ×  s   z!test_apply_mutating.<locals>.funcri   r   rd   )r   r±   r¼   r7   Úassert_cow_warningr6   rK   )Úusing_array_managerÚusing_copy_on_writeÚwarn_copy_on_writer   Údf_origrw   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Ï   ri   r‹   r   c                 S   s   g S rC   r   rb   r   r   r   rG   ñ  rc   z.test_apply_empty_list_reduce.<locals>.<lambda>r‰   r¤   r  r   )r   r6   r   rb  r7   r8   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   r{   rC   rq  rb   r   r   r   rG   þ  rH   z,test_apply_no_suffix_index.<locals>.<lambda>r-   )rf  rf  rf  )é   r%  r%  rs   )r‘   rG   rG   r}   )	r$   r0   r1   r2   r3   r   r6   r7   rK   )r'   r&   r0   Ú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   rb   r   r   r   rG     rH   z/test_apply_raw_returns_string.<locals>.<lambda>r   T)r'   r/   rA   )r$   rÇ   r   r6   r   r7   r8   ©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�   )Úatt1Úatt2Úatt3r   c                 S   s   |   ¡ d S rË   rq  r¡   r   r   r   Úsum_div2  rí   z4test_aggregation_func_column_order.<locals>.sum_div2r‘   rä  r3  )g      5@g      %@rê  rÍ   )g      2@g      "@rê  rP  )g      1@g      !@rê  rP  )r‘   r/  rä  r3  r}   rj   )r   r/  Úaggsr=   r>   r   r   r   Ú"test_aggregation_func_column_order  s   ÷
ýúr1  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  ri   c                 S   s   | j d | j d  S )Nr   r   )rö   rb   r   r   r   rG   8  r»   z+test_apply_getitem_axis_1.<locals>.<lambda>r   r.   )r   rX   rW   )
r$   r0   r1   r2   r3   r   r6   r   r7   r8   )r'   r&   r0   r   r=   r>   r   r   r   Útest_apply_getitem_axis_1/  s   ÿ
ÿr2  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‘   rb   r   r   r   Úexpected_warningF  s   
zDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningri   r›   r3  r~  )r   r7   Úassert_produces_warningÚUserWarningrk   )r6  r   r   r   r   Ú*test_nuisance_depr_passes_through_warnings>  s
   "ÿr9  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   )r1  r2  rŠ   r}   r   rd   )
r   r•   r   r   r~   r6   Útyper   r7   r8   r™   r   r   r   Útest_apply_typeO  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 )Nri   r‹   )r4  rb   r   r   r   rG   d  r­   z/test_apply_on_empty_dataframe.<locals>.<lambda>r.   r   )r   Úheadr6   r   r   rŽ   r7   r8   r*  r   r   r   Útest_apply_on_empty_dataframea  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^  rb   r   r   r   rG   k  rH   z(test_apply_return_list.<locals>.<lambda>r„   r™   r   r   r   Útest_apply_return_listi  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 )Nri   r‹   rb  )rl   r:   r   rõ  r  r  )r½  ÚconstantÚdf1r>   Úaggregationr=   r   r   r   Útest_unique_agg_type_is_seriesp  s
   	

rB  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   rd   r“   )r   r   r7   r8   r“   r6   rI  r   r   r   Ú/test_any_apply_keyword_non_zero_axis_regression‚  s   rC  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 )NrE   r›   r   r   c                 S   ó   | | | S rC   r   )rE   ri   rŒ   r   r   r   Úfoo1“  rí   z.test_agg_mapping_func_deprecated.<locals>.foo1rX   c                 S   rD  rC   r   )rE   r‹   rŒ   r   r   r   Úfoo2–  rí   z.test_agg_mapping_func_deprecated.<locals>.foo2r
   rW   )rŒ   r�   z+using .+ in Series.agg cannot aggregate andr~  rž   rŸ   rÏ   rE  rF  r   )rX   r
   rW   )r   r   )rX   r   )r   rk   r7   rK   r7  ÚFutureWarning)r   rE  rF  r=   r>   rò  r   r   r   Ú test_agg_mapping_func_deprecated�  s&   

ÿ"ÿÿrH  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
   rX   r   r   r   zusing DataFrame.stdr~  ró   rs   r   zusing Series.stdÚstdr}   )r   r   r   r   r7   r7  rG  rk   rI  r   r•   r8   rK   r™   r   r   r   Útest_agg_std®  s   ÿÿrJ  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   rk   rä  r7   r8   r™   r   r   r   Ú(test_agg_dist_like_and_nonunique_columns¼  s   ÿ
rK  )‰r   r4  Únumpyr   r$   Úpandas.core.dtypes.dtypesr   Úpandasrt   r   r   r   r   r   Úpandas._testingÚ_testingr7   Úpandas.tests.frame.commonr	   Úfixturer   r#   r0   Ú
single_cpur'   r@   ÚparametrizerL   r\   rg   rm   rv   r5   r9   rz   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+  r0  r9  rB  rG  rH  rJ  rR  rT  r[  r`  rc  r~   rl  ro  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+  r1  r2  r9  r;  r=  r>  rB  rC  rH  rJ  rK  r   r   r   r   Ú<module>   sØ   


þ





	
ÿ			"4	þ*ûþ

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

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