a
    Pf                     @   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dd ZGdd ZHdd ZIdd ZJejdddgdd ZKdd ZLdd ZMdd ZNdd ZOejddddejPgdd ZQdd ZRejddddS ide	dd~dgifdddS ide	dd~dgifdddS ideddifdddS ideddifddejSddS gide	dg dig ddfddejSddS gide	dg dig ddfdddS ide	dddgifdddS ideddifgdd ZTejddddS idddS iddejSddS gidddS igdd ZUdd ZVdd ZWdd ZXejdddS gde	dd~dgifddS gde	dd~dgifddS gde	ddgidSgdfddS gde	ddgidSgdfdejSddS gde	dg dig ddfdejSddS gde	dg dig ddfddS ddS gde	d~dgddggddgdSdSggdÍfddS ddS gde	dd~dgidSdSgfgddǄ ZYejdddS gddS gdejSddS gddS ddS ggdd΄ ZZddЄ Z[dd҄ Z\ddԄ Z]ddք Z^ejddd~gdd؄ Z_ddڄ Z`ejdg dܢdd~ggddބ Zadd Zbdd Zcdd Zddd Zedd Zfdd Zgdd ZhejjdddS ddS ddS gg ddWdd Zidd Zjdd Zkdd Zldd Zmdd Zndd Zod d Zpdd Zqejdddgdd Zrejdddgdd Zsd	d
 Ztejdd dgejddi 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	ddgddgdgejdg d d!d" Zxejd#dd$dde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: Ze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 Zd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   \/var/www/ai-form-bot/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pytestZ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sJ | jd }| jtjd	|d
}t| |}|| |ksJ |j| ju sJ W d    n1 s0    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$   r.   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   | | S Nr   xyr   r   r   <lambda>G       z!test_apply_args.<locals>.<lambda>r   )argsr?   r%   r   )r#   r.   r/   r0   r1   r4   r5   assert_frame_equal)r:   r-   r?   r%   r$   r.   r;   r<   r   r   r   test_apply_args@   s    rI   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   DrJ   c0c1c                 S   s
   |  dS )Ncategoryastype)tsr   r   r   rD   P   rE   z-test_apply_categorical_func.<locals>.<lambda>)      rL   rM   )r   r4   shape
isinstancer   r   r   r;   r   r   r   test_apply_categorical_funcM   s
    rW   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 r@   r   rB   r   r   r   rD   Z   rE   z*test_apply_axis1_with_ea.<locals>.<lambda>r   r-   r   r   r4   r5   rH   r<   r;   r   r   r   test_apply_axis1_with_eaW   s    r`   zdata, dtyper   NrX   rY   rZ   c                 C   s<   t | g| ggddg|d}|jdd dd}t|| d S )Na)r8   r   c                 S   s   | S r@   r   r\   r   r   r   rD   e   rE   z0test_agg_axis1_duplicate_index.<locals>.<lambda>r   r]   r   aggr5   rH   )datar   r<   r;   r   r   r   test_agg_axis1_duplicate_index^   s    rf   c                  C   sH   t tdddtjtdddd} | jdd d	d
}t||  d S )N20130101r
   periodss)unitr   r   c                 S   s   | S r@   r   r\   r   r   r   rD   r   rE   z/test_apply_mixed_datetimelike.<locals>.<lambda>r   r]   )	r   r   pdZto_timedeltar   r   r4   r5   rH   r_   r   r   r   test_apply_mixed_datetimelikei   s    
rn   funcc                 C   s"   t  }|j| |d}|jsJ d S )Nr+   )r   r4   empty)ro   r%   empty_framer;   r   r   r   test_apply_emptyv   s    rr   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 r@   r7   r\   r   r   r   rD      rE   z(test_apply_float_frame.<locals>.<lambda>r+   r8   c                 S   s   |   S r@   rs   r\   r   r   r   rD      rE   r   r,   )	r4   r   r   nanr   r5   r6   locr8   )r:   r%   Zno_rowsr;   r<   no_colsr   r   r   test_apply_float_frame   s    rx   c                 C   s0   t dgd}|jdd d| d}t|| d S )Nrb   rt   c                 S   s   | d S )Nrb   r   r\   r   r   r   rD      rE   z/test_apply_empty_except_index.<locals>.<lambda>r   r,   r   r4   r5   rH   )r%   r<   r;   r   r   r   test_apply_empty_except_index   s    rz   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sJ d S )Nr   expandr-   result_typereducer   rb   bcr   )	r   r4   appendr5   rH   r   r   float64r6   )rq   rB   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   r4   getattrr   rP   floatr5   r6   )ro   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   rt   r   )	r   Znuniquer   r   r5   r6   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   rS   r
   )rR      r   )      	   )rb   rb   r   rt   c                 S   s   | d S Nr   r   rj   r   r   r   rD      rE   z/test_apply_standard_nonunique.<locals>.<lambda>r   r]   )r   rR   r   c                 S   s   | d S r   r   r   r   r   r   rD      rE   r   )r   r4   r   r5   r6   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}   rt   )r4   r   r7   r   r8   r5   rH   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|   r]   c                    s   i | ]
}| qS r   r   .0r   mr   r   
<dictcomp>   rE   z6test_apply_broadcast_scalars_axis1.<locals>.<dictcomp>)r4   r   r7   r   r   r5   rH   r   r   r   r   "test_apply_broadcast_scalars_axis1   s    r   c                    sZ    j  fddddd}ttt j}t|gt j d j jd}t|| d S )Nc                    s   t tt jS r@   )listrangelenr   r\   r:   r   r   rD      rE   z4test_apply_broadcast_lists_columns.<locals>.<lambda>r   r   r|   r   )r   r8   r   )	r4   r   r   r   r   r   r8   r5   rH   )r:   r;   r   r<   r   r   r   "test_apply_broadcast_lists_columns   s    
r   c                    sX    j  fdddd}ttt jtfdd jD d jd}t|| d S )	Nc                    s   t tt jS r@   )r   r   r   r8   r\   r   r   r   rD      rE   z2test_apply_broadcast_lists_index.<locals>.<lambda>r   r   c                    s   i | ]
}| qS r   r   r   r   r   r   r      rE   z4test_apply_broadcast_lists_index.<locals>.<dictcomp>r   )r   r8   )	r4   r   r   r   r8   r   r   r5   rH   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   r\   r   r   r   rD      rE   z7test_apply_broadcast_list_lambda_func.<locals>.<lambda>r   r   r|   r4   r5   rH   )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   abcrt   )r   r   r\   r   r   r   rD     rE   z9test_apply_broadcast_series_lambda_func.<locals>.<lambda>r   r   r|   )r4   copyr5   rH   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   rU   r   ndarrayndimr\   r   r   r   _assert_raw  s    z/test_apply_raw_float_frame.<locals>._assert_rawTr-   r%   r?   )r#   skipr4   )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 r@   )valuesr7   r\   r   r   r   rD     rE   z3test_apply_raw_float_frame_lambda.<locals>.<lambda>r]   )r4   r   r7   r5   r6   )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 NrS   r   r\   r   r   r   rD     rE   z9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>T)r%   r?   rS   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   r\   r   r   r   r   )  s    z4test_apply_raw_mixed_type_frame.<locals>._assert_raw      ?rS   foo
   float32r   r   int32)rb   r   r   r   r   rt   Tr   )r#   r   r   r   arrayr   r4   )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   r]   )r8   r4   r   r7   r9   )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   rl   r   r   r]   r   r   rt   )
r   r4   r   r7   r   ru   rm   Indexr5   r6   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   rl   c                 S   s   | d S )Nr   r   r\   r   r   r   rD   M  rE   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>r   r]   r   rt   c                 S   s   | d S )Nr   r   r\   r   r   r   rD   Q  rE   )r   r4   r   r5   r6   r   r   r   r   &test_apply_mixed_dtype_corner_indexingK  s    r   zignore::RuntimeWarningaxr8   r   c                 C   s   | S r@   r   r\   r   r   r   rD   Y  rE   rD   c                 C   s   |   S r@   rs   r\   r   r   r   rD   Y  rE   identityr7   )Z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 sJ nt|	t sJ W d    n1 s0    Y  d S )Nr   r(   r)   Zf8r   r   )
r   r   r2   r   rU   r   r4   Z_get_agg_axisr   r8   )r   ro   r?   r-   r%   r$   r   Ztest_resZis_reductionr;   Z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   rt   c                 S   s   |   S r@   rs   r\   r   r   r   rD   o  rE   z7test_apply_empty_infer_type_broadcast.<locals>.<lambda>r   r   )r   r4   rU   )rw   r;   r   r   r   %test_apply_empty_infer_type_broadcastm  s    r   c                 C   s6   ddd}| j |dd}|  dd }t|| d S )	Nr   c                 S   s   | | S r@   r   rB   howmuchr   r   r   add_somet  s    z4test_apply_with_args_kwds_add_some.<locals>.add_somerS   r   c                 S   s   | d S r   r   r\   r   r   r   rD   x  rE   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  s    
r   c                 C   s6   ddd}| j |dd}|  dd }t|| d S )	Nr   c                 S   s   |   | S r@   rs   r   r   r   r   agg_and_add}  s    z:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_addrS   r   c                 S   s   |   d S r   rs   r\   r   r   r   rD     rE   z7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>)r   )r4   r5   r6   )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 r@   r   )rB   subdivider   r   r   subtract_and_divide  s    zJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide)rS   rS   )rG   r   c                 S   s   | d d S )N       @r   r\   r   r   r   rD     rE   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 r@   )r4   r   r5   rH   )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 )NrS   r   r   r]   )	r   ru   ilocr   Zget_locr7   r4   r5   r6   )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   rS   r
   rR   rL   rM   i0i1r   r8   r   r]   )r   r   rt   rK   )r   r4   dictr   r   r5   r6   r8   )re   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 )
NrS   )   r   r   r]   c                 S   s   i | ]\}}||  qS r   describer   ivr   r   r   r     rE   z2test_apply_differently_indexed.<locals>.<dictcomp>r   r   c                 S   s   i | ]\}}||  qS r   r   r   r   r   r   r     rE   )r   r   randomdefault_rngstandard_normalr4   r   r   itemsr   r5   rH   r   r8   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   ABC02   )r   YUM0r   )r   DEF0r   )rS   ABC1r   )rS   YUM1r   )rS   DEF1r   )rb   marketpositionr   c                 S   s   | d S )Nr   r   )rr   r   r   f  s    ztest_apply_bug.<locals>.fr   r]   i  r   r   rS   r   r   r
   r   rR   r   r   r   r   r   )r   r4   r   r5   r6   )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   rS      )r   r   r   rJ   EFc                 S   s   | S r@   r   r\   r   r   r   rD     rE   z,test_apply_convert_objects.<locals>.<lambda>r   r]   )r   r   r   r   r   r4   r5   rH   r_   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 r@   namer\   r   r   r   rD   
  rE   z(test_apply_attach_name.<locals>.<lambda>rt   )r4   r   r   r5   r6   r   r   r   r   test_apply_attach_name	  s    r   c                 C   s2   | j dd dd}t| j| jd}t|| d S )Nc                 S   s   | j S r@   r   r\   r   r   r   rD     rE   z.test_apply_attach_name_axis1.<locals>.<lambda>r   r]   rt   )r4   r   r8   r5   r6   r   r   r   r   test_apply_attach_name_axis1  s    r   c                 C   sD   |  dd }tt| jt| jdf| j| jd}t|| d S )Nc                 S   s   t | jt| S r@   r   repeatr   r   r\   r   r   r   rD     rE   z6test_apply_attach_name_non_reduction.<locals>.<lambda>r   r8   r   )	r4   r   r   r   r   r   r8   r5   rH   r   r   r   r   $test_apply_attach_name_non_reduction  s    r  c                    sD    j dd dd}t fdd  D } j|_t|| d S )Nc                 S   s   t | jt| S r@   r   r\   r   r   r   rD   !  rE   z<test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>r   r]   c                 3   s$   | ]}t |d  t jV  qdS )r   N)r   r  r   r   r   tr   r   r   	<genexpr>"  s   z=test_apply_attach_name_non_reduction_axis1.<locals>.<genexpr>)r4   r   
itertuplesr8   r5   r6   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)rb   rb   r   )r   r=   r=   r   rS   r
   rR   r   r   col1col2r  c                 S   s   t t| t| dS )N)minmax)r   r  r  r\   r   r   r   rD   ,  rE   z(test_apply_multi_index.<locals>.<lambda>r  r  TZ
check_like)r   Zfrom_arraysr   r4   r5   rH   )r8   rj   r;   r<   r   r   r   test_apply_multi_index)  s
    $$r  z	df, dictsr   r   Zspameggs)r   r   rS   r
   c                 C   sV   dd }| j |dd}| j |dd}|  |}t|| t||  t|| d S )Nc                 S   s   |   S r@   )to_dictr\   r   r   r   rD   =  rE   z!test_apply_dict.<locals>.<lambda>r~   r   r{   )r4   r5   r6   rH   )r   ZdictsfnZreduce_trueZreduce_falseZreduce_noner   r   r   test_apply_dict1  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)ri   r[   c                 S   s   | S r@   r   r\   r   r   r   rD   J  rE   z,test_apply_non_numpy_dtype.<locals>.<lambda>c                 S   s   | t d S )NZ1day)rm   Z	Timedeltar\   r   r   r   rD   M  rE   z
2015-01-02)r   r   r4   r5   rH   r   r   r   r   test_apply_non_numpy_dtypeG  s    r  c                  C   s2   t dg didd} | dd }t||  d S )Nr  )rb   r   r   rb   rN   r   c                 S   s   | S r@   r   r\   r   r   r   rD   V  rE   z5test_apply_non_numpy_dtype_category.<locals>.<lambda>ry   rV   r   r   r   #test_apply_non_numpy_dtype_categoryT  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   rS   r
   rb   r   r  r   rc   r   r<   r;   r   r   r   test_apply_dup_names_multi_aggZ  s    r  opr4   rd   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 )NrS   r   r   r   r   rowr   r   r   
apply_listf  s    z3test_apply_nested_result_axis_1.<locals>.apply_list)rR   rR   ZABCDr   r   r]   )        r  r  )r   r   Zzerosr   r   r   r5   r6   )r  r  r   r;   r<   r   r   r   test_apply_nested_result_axis_1c  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2020rY   rZ   zdatetime64[ns, UTC]r   c                 S   s   | S r@   r   r\   r   r   r   rD   v  rE   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>c                 S   s   |   S r@   )r   r\   r   r   r   rD   x  rE   r^   r_   r   r   r   %test_apply_noreduction_tzaware_objectq  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 )	Nrb   r   c                    s     | j d S r@   r   r   r  namesr   r   reducing_function  s    z8test_apply_function_runs_once.<locals>.reducing_functionc                    s     | j | S r@   r  r  r   r   r   non_reducing_function  s    z<test_apply_function_runs_once.<locals>.non_reducing_functionr   r]   )r   r4   r   r8   )r   r"  r#  ro   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 supportedrb   r   c                    s     |  d S r@   extendr  r   r   r   r"    s    z<test_apply_raw_function_runs_once.<locals>.reducing_functionc                    s     |  | S r@   r%  r  r'  r   r   r#    s    
z@test_apply_raw_function_runs_once.<locals>.non_reducing_functionTr   )r%   r?   r-   )r#   r   r   r4   r   rb   Zto_list)r%   r   r"  r#  ro   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objectrO   r\   r   r   r   rD     rE   z-test_apply_with_byte_string.<locals>.<lambda>)r   r   r   r*  r4   r5   rH   r  r   r   r   test_apply_with_byte_string  s    r+  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 )Nr-  r.  Zcderb   rN   r   c                    s   |  kS r@   r   r\   r,  r   r   rD     rE   z/test_apply_category_equalness.<locals>.<lambda>c                    s$   g | ]}t |rtjn| kqS r   )rm   Zisnullr   ru   )r   rB   r/  r   r   
<listcomp>  rE   z1test_apply_category_equalness.<locals>.<listcomp>r   )r   ru   r   rb   r4   r   r5   r6   )r,  Z	df_valuesr   r;   r<   r   r/  r   test_apply_category_equalness  s    r1  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 )NrS   )r   rS   r   r]   )r   rS   )r   r   r   r   r4   ZfftrT   ZrfftrV   r   r   r   test_infer_row_shape  s
    r2  zops, by_row, expectedrb   c                 C   s   | d S r   r   r\   r   r   r   rD     rE   compatc                 C   s   | d S r   r   r\   r   r   r   rD     rE   c                 C   s   |   S r@   r   r\   r   r   r   rD     rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD     rE   r   c                 C   s   |   S r@   r4  r\   r   r   r   rD     rE   )r
   r
   r
   )r   r   rD   rt   c                 C   s   |   S r@   r4  r\   r   r   r   rD     rE   c                 C   s   dS r   r   r\   r   r   r   rD     rE   c                 C   s   dS r   r   r\   r   r   r   rD     rE   c                 C   s.   t dddgi}|j| |d}t|| d S Nrb   r   rS   by_rowr   r4   r5   Zassert_equalopsr7  r<   r   r;   r   r   r   test_dictlike_lambda  s    r;  r:  c                 C   s   | d S r   r   r\   r   r   r   rD     rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD     rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD     rE   c                 C   s   dS r   r   r\   r   r   r   rD     rE   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 Nrb   r   rS   zby_row=True not allowedmatchTr6  r   r#   raises
ValueErrorr4   r:  r   r   r   r   test_dictlike_lambda_raises  s    rC  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   rS   rb   r   r   c                 S   s   d| d | d  iS Nrj   rb   r   r   r\   r   r   r   rD     rE   z,test_with_dictlike_columns.<locals>.<lambda>r]   c                 S   s   g | ]}d diqS )rj   r
   r   r  r   r   r   r0    rE   z.test_with_dictlike_columns.<locals>.<listcomp>2017-05-01 00:00:002017-05-02 00:00:00r5   c                 S   s   d| d | d  iS rD  r   r\   r   r   r   rD     rE   c                 S   s   d| iS )Nrj   r   r\   r   r   r   rD     rE   rj   r
   )r   r4   r   r  r5   r6   r   r   r   r   r   test_with_dictlike_columns  s    rG  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 r@   r   r\   r   r   r   rD     rE   z:test_with_dictlike_columns_with_datetime.<locals>.<lambda>r   r]   )r   rm   to_datetimer4   r   r5   r6   r   r   r   r   (test_with_dictlike_columns_with_datetime  s    
rN  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   rS   rb   r   r   c                 S   s   d| d | d  iS rD  r   r\   r   r   r   rD     rE   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>r{   r|   rj   r
   rE  rF  r5   c                 S   s   d| d | d  iS rD  r   r\   r   r   r   rD   &  rE   )r   r4   r5   rH   r   r   r   r   r   %test_with_dictlike_columns_with_infer  s    rO  c                 C   s   | d S r   r   r\   r   r   r   rD   -  rE   )rb   rD   c                 C   s   | d S r   r   r\   r   r   r   rD   .  rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD   /  rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD   0  rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD   2  rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD   7  rE   c                 C   s   | d S r   r   r\   r   r   r   rD   <  rE   c                 C   s   dS Nr
   r   r\   r   r   r   rD   <  rE   r   c                 C   s   dS r   r   r\   r   r   r   rD   A  rE   c                 C   s   dS rP  r   r\   r   r   r   rD   A  rE   c                 C   s.   t dddgi}|j| |d}t|| d S r5  r8  r9  r   r   r   test_listlike_lambda*  s    rQ  c                 C   s   | d S r   r   r\   r   r   r   rD   Q  rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD   R  rE   c                 C   s   |   S r@   r4  r\   r   r   r   rD   S  rE   c                 C   s   | d S r   r   r\   r   r   r   rD   T  rE   c                 C   s   dS rP  r   r\   r   r   r   rD   T  rE   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 r<  r?  rB  r   r   r   test_listlike_lambda_raisesN  s    rR  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 )NrS   rR   )rb   r   Zofwordsz
2016-10-01h)ri   freq)rb   r   rQ   rb   r   r   r]   c                 S   s   g | ]}|d d qS ra   r   r  r   r   r   r0  i  rE   z.test_with_listlike_columns.<locals>.<listcomp>rQ   c                 S   s   g | ]}|d d qS ra   r   r  r   r   r   r0  m  rE   )r   r   r   r   r   r   r   r4   tupler  r5   r6   r   r   r   r   test_with_listlike_columns^  s    rW  c                  C   sp   t tddgdggtdgddggd} tddg| _| jd	d
 dd}tg dgg| jd}t|| d S )Nrb   r   qzr  rA   )r   Zj0)r   Zj1c                    s    fdd d D S )Nc                    s   g | ]}| d  v r|qS )rC   r   )r   elr  r   r   r0  v  rE   zOtest_with_listlike_columns_returning_list.<locals>.<lambda>.<locals>.<listcomp>rB   r   r  r   r  r   rD   v  rE   z;test_with_listlike_columns_returning_list.<locals>.<lambda>r   r]   rt   )r   r   r   from_tuplesr8   r4   r5   r6   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 r@   r]  r^  r  r   r   r   rD     rE   z1test_infer_output_shape_columns.<locals>.<lambda>r   r]   c                 S   s   g | ]}|j |jfqS r   r_  r  r   r   r   r0    rE   z3test_infer_output_shape_columns.<locals>.<listcomp>r   r   r4   r   r  r5   r6   r   r   r   r   test_infer_output_shape_columns{  s    
ra  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 )NrS   )r   r
   r   r   c                 S   s   g dS r   r   r\   r   r   r   rD     rE   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>r   r]   c                 S   s   g | ]}g d qS )r   r   r  r   r   r   r0    rE   z<test_infer_output_shape_listlike_columns.<locals>.<listcomp>c                 S   s   ddgS Nr   rS   r   r\   r   r   r   rD     rE   c                 S   s   g | ]}d dgqS r   rS   r   r  r   r   r   r0    rE   
r   r   r   r   r   r4   r   r  r5   r6   r   r   r   r   (test_infer_output_shape_listlike_columns  s    re  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 )Nrb   r   r   rt   c                    s
   t  S r@   r   Zonesr  r/  r   r   rD     rE   zBtest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>r   r]   c                    s   g | ]}t  qS r   rf  r  r/  r   r   r0    rE   zDtest_infer_output_shape_listlike_columns_np_func.<locals>.<listcomp>)r   r   r4   r   r  r8   r5   r6   )r,  r   r;   r<   r   r/  r   0test_infer_output_shape_listlike_columns_np_func  s     rg  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   rR   r
   )r   r
   rR   rS   )r   rS   r
   rR   )rb   r   r   r=   c                 S   s   dS )Nrc  r   r\   r   r   r   fun  s    zDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.funr   r]   c                 S   s   g | ]}d qS )rc  r   r  r   r   r   r0    rE   zKtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.<listcomp>r`  )r   rh  r;   r<   r   r   r   7test_infer_output_shape_listlike_columns_with_timestamp  s    ri  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 )NrS   )rR   r
   r   r   c                    s    S r@   r   r\   rj  r   r   rD     rE   z3test_consistent_coerce_for_shapes.<locals>.<lambda>r   r]   c                    s   g | ]} qS r   r   r  rk  r   r   r0    rE   z5test_consistent_coerce_for_shapes.<locals>.<listcomp>rd  )rj  r   r;   r<   r   rk  r   !test_consistent_coerce_for_shapes  s    rl  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colsrt   r   r\   r   r   r   rD     rE   z'test_consistent_names.<locals>.<lambda>r   r]   rm  rn  ro  r   r   c                 S   s   t ddgddgdS )Nr   rS   rm  rn  rt   rp  r\   r   r   r   rD     rE   )r4   renamer5   rH   r   r   r   r   test_consistent_names  s    
rr  c                 C   s:   | }|j dd ddd}| }g d|_t|| d S )Nc                 S   s   g dS r   r   r\   r   r   r   rD     rE   z"test_result_type.<locals>.<lambda>r   r{   r|   r   r   rS   r4   r   r   r5   rH   r   r   r   r   test_result_type  s
    
ru  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 rb  r   r\   r   r   r   rD     rE   z/test_result_type_shorter_list.<locals>.<lambda>r   r{   r|   r   r   r   rt  r   r   r   r   test_result_type_shorter_list  s
    
rv  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   r\   r   r   r   rD     rE   z,test_result_type_broadcast.<locals>.<lambda>r   r   r-   r}   r%   	r#   r.   r/   r0   r1   r4   r   r5   rH   )r   r$   r%   r.   r   r;   r<   r   r   r   test_result_type_broadcast  s    ry  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&   rn  r)  r!  c                    s   t g d dS Nr   rt   rp  r\   r   r   r   rD     rE   z8test_result_type_broadcast_series_func.<locals>.<lambda>r   r   rw  rx  r   r%   r$   r.   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    rz  r&   c                 S   s   t g d| jdS r|  )r   r8   r\   r   r   r   rD     rE   z0test_result_type_series_result.<locals>.<lambda>r   r,   rx  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|  rp  r\   r   r   r   rD   0  rE   z<test_result_type_series_result_other_index.<locals>.<lambda>r   r,   )
r#   r.   r/   r0   r1   r4   r   r   r5   rH   r}  r   r   r   *test_result_type_series_result_other_index$  s    r  boxc                 C   s   t | S r@   )r   r\   r   r   r   rD   8  rE   c                 C   s   t | S r@   )rV  r\   r   r   r   rD   8  rE   c                 C   s   t j| ddS )Nr   r   )r   r   r\   r   r   r   rD   8  rE   )r   rV  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 rb  r   r\   r  r   r   rD   ?  rE   z,test_consistency_for_boxed.<locals>.<lambda>r   r]   c                    s   g | ]} d dgqS rc  r   r  r  r   r   r0  @  rE   z.test_consistency_for_boxed.<locals>.<listcomp>c                    s    ddgS rb  r   r\   r  r   r   rD   C  rE   r{   r|   r   r   r   rl   r   )r4   r   r  r5   r6   rq  rH   )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 rt	|j
dgg|_
nt	|jdgg|_t|| |jt jt jg| d}t||g|d}| dv rt	|j
ddgg|_
nt	|jddgg|_t|| W d    n1 s.0    Y  d S )	N   r   r8   r   r   r(   r)   r]   r3   absolute)r   r2   absr3   r   r4   r5   rH   r   Zfrom_productr   r8   r	   )r-   r:   
other_axisZf_absZf_sqrtr<   r;   r   r   r   test_agg_transformH  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   rl   r  r  r   rR   r   r   r   )r   r   rd   r5   rH   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   rl   r  r  r         @r        @g      9@r   r   )r  r  r   r   )r   r   rd   r   ru   r5   rH   Z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   countrS   r   )r   rd   r   r5   r6   )re   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   rt   )r   r   r   )r   rd   r5   rH   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 s0    Y  d S )Nr   r  r  rg   r
   rh   r   r   r   rJ   does not support reductionr=  r  r   )rJ   r   r   r   )r   r   r#   r@  	TypeErrorrd   )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   rS   r]   )r7   r  r   r7   r   rt   >   r   r   r  )ZaxesuniqueZsort_valuesrm   concatr7   r  r   r   r   rd   r5   rH   r   rv   r6   r   )r-   r:   r  Zname1Zname2r<   r;   ro   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 s0    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  rg   r
   rh   r  r  r   r   r   rt   nsr  r  r=  r   r   )r   r  r  )r   r   rd   r   r   r   r5   r6   Zas_unitrH   r#   r@  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NrS   r
   r   r  r   Nr   r   r   r  rS   sizer
   )r  r  Tr  )	r   r   ru   r   r   r5   r6   rH   r  )r  r   r;   r<   Zresult1Z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 rPt|jd	 |jd
}nt|jd |jd
}t	|| d S )Nr  r   r  r  r   r  r]   )r   r8   r   rt   r   )
r   r   ru   r   r   rT   r   r8   r5   r6   )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)rS   rS   r
   g      ?r  r   c                 S   s   t |   S r@   )r   Zdropnar  )Z	group_colr   r   r   ro   n  s    z&test_agg_listlike_result.<locals>.funcrS   r
   r   r   rt   ro   )
r   r   ru   rd   r   r5   r6   Zto_framer   rH   )r   ro   r;   r<   r   r   r   test_agg_listlike_resultj  s     
 r  zargs, kwargs)r   r      rc  rF   r   r   rb   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 r@   r4  )rB   rb   r   r   r   r   r   r     s    ztest_agg_args_kwargs.<locals>.fr   rS   rR   r   r  g      @r  g       @)r
   r   r   rd   r5   r6   )r-   rG   kwargsr   r   r<   r;   r   r   r   test_agg_args_kwargsz  s    
r  num_cols)rS   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 r@   r   r\   r   r   r   rD     rE   z,test_frequency_is_original.<locals>.<lambda>r+   )r#   r.   r/   r0   r1   rm   ZDatetimeIndexr   r   r   r4   rU  )r  r%   r$   r.   r8   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+0000rY   rZ   z2019-03-15 12:34:34.359000+0000z2019-03-15 12:34:34.660000+0000rs  )re   r8   c                 S   s   | j S r@   r   r\   r   r   r   rD     rE   z.test_apply_datetime_tz_issue.<locals>.<lambda>r   r,   )r8   re   )r#   r.   r/   r0   r1   r   r   r4   r   r5   r6   )r%   r$   r.   Z
timestampsr   r;   r<   r   r   r   test_apply_datetime_tz_issue  s    


r  r   r   r=   rl   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'r=  )r#   r@  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   rb   r   r   c                 S   s   | j S r@   r   r\   r   r   r   rD     rE   z"test_apply_dtype.<locals>.<lambda>)r   r4   Zdtypesr5   r6   )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| rt|| nt|| d S )	Nd      r  c                 S   s*   | j }| jd  d7  < | j |us&J | S )Nrb   r   )Z_mgrrv   )r  Zmgrr   r   r   ro     s    z!test_apply_mutating.<locals>.funcrb   r   r]   )r   r   r   r5   Zassert_cow_warningr4   rH   )Zusing_array_managerZusing_copy_on_writeZwarn_copy_on_writer   Zdf_origro   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   rS   r
   rR   r   r   r   r   r   r   rb   r   r   c                 S   s   g S r@   r   r\   r   r   r   rD     rE   z.test_apply_empty_list_reduce.<locals>.<lambda>r~   r   r  r   )r   r4   r   r*  r5   r6   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&   rR   r   r
   r   r   r   r   c                 S   s   |   S r@   r4  r\   r   r   r   rD     rE   z,test_apply_no_suffix_index.<locals>.<lambda>r+   )r.  r.  r.  )   r  r  rl   )r   rD   rD   rt   )	r#   r.   r/   r0   r1   r   r4   r5   rH   )r%   r$   r.   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   r\   r   r   r   rD     rE   z/test_apply_raw_returns_string.<locals>.<lambda>r   T)r%   r-   r?   )r#   r   r   r4   r   r5   r6   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   )rS   r   r   )r
   r   r   )rR   r   rR   )r   r   r   )r   r   r   )Zatt1Zatt2Zatt3r   c                 S   s   |   d S r   r4  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  rt   rc   )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&   rs  r   r  rb   c                 S   s   | j d | j d  S )Nr   r   )r   r\   r   r   r   rD   8  rE   z+test_apply_getitem_axis_1.<locals>.<lambda>r   r,   )r   rS   rR   )
r#   r.   r/   r0   r1   r   r4   r   r5   r6   )r%   r$   r.   r   r;   r<   r   r   r   test_apply_getitem_axis_1/  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   r\   r   r   r   expected_warningF  s    
zDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningrb   r   r  r=  )r   r5   assert_produces_warningUserWarningrd   )r  r   r   r   r   *test_nuisance_depr_passes_through_warnings>  s    r  c                  C   s   t ddtgdtdddtjgd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   )r	  r
  r   rt   r   r]   )
r   r   r   r   ru   r4   typer   r5   r6   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   rS   r
   r   r  c                 S   s   t | d | d S )Nrb   r   )r  r\   r   r   r   rD   d  rE   z/test_apply_on_empty_dataframe.<locals>.<lambda>r,   r   )r   headr4   r   r   r   r5   r6   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   rS   r
   r  c                 S   s   | j gS r@   r'  r\   r   r   r   rD   k  rE   z(test_apply_return_list.<locals>.<lambda>ry   r   r   r   r   test_apply_return_listi  s    r  ztest, constant)r   r   r   )rS   rS   rS   c                 C   s>   t | }t|ddgdd}ddd}||}t|| d S )Nrb   r   r*  )re   r8   r   r  r  r  )rm  ZconstantZdf1r<   Zaggregationr;   r   r   r   test_unique_agg_type_is_seriesp  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   rS   r   )r   rS   r   )r   r   r   r   )TTFr   r]   r   )r   r   r5   r6   r   r4   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 s0    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 )NrB   r   r   r   c                 S   s   | | | S r@   r   )rB   rb   r   r   r   r   foo1  s    z.test_agg_mapping_func_deprecated.<locals>.foo1rS   c                 S   s   | | | S r@   r   )rB   r   r   r   r   r   foo2  s    z.test_agg_mapping_func_deprecated.<locals>.foo2r
   rR   )r   r   z+using .+ in Series.agg cannot aggregate andr=  r   r   r   r  r  r   )rS   r
   rR   )r   r   )rS   r   )r   rd   r5   rH   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 s0    Y  t d	d	d
dgd}t|| d S )Nr   r
   rS   r   r   r   zusing DataFrame.stdr=  r   rl   r   zusing Series.stdstdrt   )r   r   r   r   r5   r  r  rd   r  r   r   r6   rH   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   ru   r   rd   r  r5   r6   r   r   r   r   (test_agg_dist_like_and_nonunique_columns  s    
r  )r   r  numpyr   r#   Zpandas.core.dtypes.dtypesr   Zpandasrm   r   r   r   r   r   Zpandas._testingZ_testingr5   Zpandas.tests.frame.commonr	   Zfixturer   r"   r.   Z
single_cpur%   r>   ZparametrizerI   rW   r`   rf   rn   r3   r7   rr   rx   rz   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(  r+  ru   r1  r2  r   r;  rC  rG  rN  rO  rQ  rR  rW  r\  ra  re  rg  ri  rl  rr  ru  rv  ry  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$,(		
&&