o
    $j                     @   sv
  d dl m Z  d dlZd dlZd dlZd dlmZ d dlmZ d dl	Z
d dl	mZmZmZmZmZ d dlmZ d dlmZ d dlmZ ejdd	 Zejd
ejdejjdgddd Zdd Zejdd dgejdddgdd Zdd Z dd Z!ejdddedgfedd d!dfgd"d# Z"d$d% Z#ejd&ej$ej%gd'd( Z&d)d* Z'd+d, Z(d-d. Z)ejd&g d/d0d1 Z*d2d3 Z+d4d5 Z,d6d7 Z-d8d9 Z.d:d; Z/d<d= Z0d>d? Z1d@dA Z2ejdd dgdBdC Z3ejdd dgdDdE Z4dFdG Z5ejdd dgdHdI Z6dJdK Z7dLdM Z8dNdO Z9ej:dPejdQdRdSgejjd&dTdU dVdU gdWdXgdYejdddgejdd dgdZd[ Z;d\d] Z<d^d_ Z=d`da Z>dbdc Z?ddde Z@dfdg ZAdhdi ZBdjdk ZCdldm ZDdndo ZEdpdq ZFdrds ZGdtdu ZHdvdw ZIdxdy ZJejdzed{d|gd}d~gged{d}dd|d~dgged dgddgged dddddgggdd ZKdd ZLdd ZMdd ZNejdddgdd ZOdd ZPdd ZQdd ZRdd ZSejddddejTgdd ZUdd ZVejddddU idedddgifdddU idedddgifdddU ideddifdddU ideddifddejWddU gidedg dig ddfddejWddU gidedg dig ddfdddU idedddgifdddU ideddifgdd ZXejddddU idddU iddejWddU gidddU igdd ZYdd ZZdd Z[dd Z\ejdddU gdedddgifddU gdedddgifddU gdeddgidUgdfddU gdeddgidUgdfdejWddU gdedg dig ddfdejWddU gdedg dig ddfddU ddU gdeddgddggddgdUdUggdōfddU ddU gdedddgidUdUgfgddɄ Z]ejdddU gddU gdejWddU gddU ddU ggddЄ Z^dd҄ Z_ddԄ Z`ddք Zadd؄ Zbejdddgddڄ Zcdd܄ Zdejdg dޢddggdd Zedd Zfdd Zgdd Zhdd Zidd Zjdd Zkdd ZlejjdddU ddU ddU gg ddYdd Zmdd Zndd Zodd Zpdd Zqdd Zrd d Zsdd Ztdd Zuejdddgdd Zvejdddgd	d
 Zwdd Zxejdd dgejddi fdi fdi fdddifddddfddddfdddddfgdd Zyejdg ddd Zzdd Z{ejdeddgddgd gejd!g d"d#d$ Z|ejd%dd&ddejTgd'd( Z}d)d* Z~d+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Zejd=g dޢg d>dg dޢdgdfg d?g d>ddgdgdfgd@dA ZdBdC ZdDdE ZdFdG ZdHdI ZdS (J      )datetimeN)is_platform_arm)CategoricalDtype)	DataFrame
MultiIndexSeries	Timestamp
date_range)
zip_frames)Versionc                  C   s2   t ttjddddddd g dd} | S )	z
    Fixture for DataFrame of ints which are constant per column

    Columns are ['A', 'B', 'C'], with values (per column): [1, 2, 3]
       int64dtype      ABCcolumns)r   nptilearangereshape)df r   d/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pandas/tests/apply/test_frame_apply.pyint_frame_const_col   s
    r    pythonnumba)Zmarks)paramsc                 C   s   | j dkr
td | j S )Nr"   )parampytestimportorskip)requestr   r   r   engine&   s   

r(   c                 C   s   |dkrt jjdd}|j| tjdd] t| d }| jtj|dd }t	
|| | jtj|dd }t| d }||k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'   r1   resultexpecteddr   r   r   
test_apply-   s    
"rA   r0   r   rawTFc           	      C   s   |dkr+t d}t|jtdkrt rt d|j  t jjdd}|j	| | j
dd |d||d	}| d
 }t|| d S )Nr"   z0.61z&Segfaults on ARM platforms with numba z!numba engine doesn't support argsr)   c                 S      | | S Nr   xyr   r   r   <lambda>M       z!test_apply_args.<locals>.<lambda>r   )argsrB   r(   r   )r%   r&   r   __version__r   skipr1   r2   r3   r4   r7   r8   assert_frame_equal)	r=   r0   rB   r(   r'   r"   r1   r>   r?   r   r   r   test_apply_argsC   s   
rO   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   DrP   c0c1c                 S   
   |  dS )Ncategoryastype)tsr   r   r   rH   V      
 z-test_apply_categorical_func.<locals>.<lambda>)      rR   rS   )r   r7   shape
isinstancer   r   r   r>   r   r   r   test_apply_categorical_funcS   s
   r_   c                  C   s8   t dtdddgi} | jdd dd}t||  d S )	Nr   
2013-01-01UTCtzc                 S      | S rD   r   rF   r   r   r   rH   `       z*test_apply_axis1_with_ea.<locals>.<lambda>r   r0   r   r   r7   r8   rN   r?   r>   r   r   r   test_apply_axis1_with_ea]   s   rj   zdata, dtyper   Nr`   ra   rb   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   rd   rD   r   re   r   r   r   rH   k   rf   z0test_agg_axis1_duplicate_index.<locals>.<lambda>r   rg   r   aggr8   rN   )datar   r?   r>   r   r   r   test_agg_axis1_duplicate_indexd   s   rp   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   rd   rD   r   re   r   r   r   rH   x   rf   z/test_apply_mixed_datetimelike.<locals>.<lambda>r   rg   )	r   r	   pdZto_timedeltar   r   r7   r8   rN   ri   r   r   r   test_apply_mixed_datetimelikeo   s   
rx   funcc                 C   s"   t  }|j| |d}|jsJ d S )Nr.   )r   r7   empty)ry   r(   empty_framer>   r   r   r   test_apply_empty|   s   r|   c                 C   s   | d d }|j dd |d}ttj| jd}t|| | jd d g f }|j dd d|d}ttj| jd}t|| d S )	Nr   c                 S      |   S rD   r:   re   r   r   r   rH      rI   z(test_apply_float_frame.<locals>.<lambda>r.   r;   c                 S   r}   rD   r~   re   r   r   r   rH      rI   r   r/   )	r7   r   r   nanr   r8   r9   locr;   )r=   r(   Zno_rowsr>   r?   no_colsr   r   r   test_apply_float_frame   s   r   c                 C   s0   t dgd}|jdd d| d}t|| d S )Nrl   r   c                 S      | d S )Nrl   r   re   r   r   r   rH      rI   z/test_apply_empty_except_index.<locals>.<lambda>r   r/   r   r7   r8   rN   )r(   r?   r>   r   r   r   test_apply_empty_except_index   s   r   c                  C   s   t  } g }| j|jddd}t||  | j|jddd}tg tjd}t|| t g dd}|j|jddd}t|| |j|jddd}tg tjd}t|| |g ks\J d S )Nr   expandr0   result_typereducer   rl   bcr   )	r   r7   appendr8   rN   r   r   float64r9   )r{   rF   r>   r?   Zempty_with_colsr   r   r   test_apply_with_reduce_empty   s   r   )sumprodanyr-   c                 C   sL   t g dd}|tt| }t||  }| dv r|t}t|| d S )Nr   r   )r   r   )r   r7   getattrr   rW   floatr8   r9   )ry   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   Znuniquer   r   r8   r9   Tr   r   r   r>   r?   r   r   r   test_nunique_empty   s   
r   c                  C   sv   t g dg dg dgg dd} | jdd dd	}tg d
g d}t|| | jjdd dd	}t|| d S )Nr   r[   r   )rZ      r   )      	   )rl   rl   r   r   c                 S   r   Nr   r   rt   r   r   r   rH      rI   z/test_apply_standard_nonunique.<locals>.<lambda>r   rg   )r   rZ   r   c                 S   r   r   r   r   r   r   r   rH      rI   r   )r   r7   r   r8   r9   r   r   r   r   r   test_apply_standard_nonunique   s   "r   c                 C   s4   | j tjdd}t|  g| jd}t|| d S )N	broadcastr   r   )r7   r   r:   r   r;   r8   rN   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   rg   c                       i | ]}| qS r   r   .0r   mr   r   
<dictcomp>       z6test_apply_broadcast_scalars_axis1.<locals>.<dictcomp>)r7   r   r:   r   r   r8   rN   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 rD   )listrangelenr   re   r=   r   r   rH      r   z4test_apply_broadcast_lists_columns.<locals>.<lambda>r   r   r   r   )r   r;   r   )	r7   r   r   r   r   r   r;   r8   rN   )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   rD   )r   r   r   r;   re   r   r   r   rH      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;   )	r7   r   r   r   r;   r   r   r8   rN   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   re   r   r   r   rH     rI   z7test_apply_broadcast_list_lambda_func.<locals>.<lambda>r   r   r   r7   r8   rN   )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   re   r   r   r   rH         z9test_apply_broadcast_series_lambda_func.<locals>.<lambda>r   r   r   )r7   copyr8   rN   r    r   r>   r?   r   r   r   'test_apply_broadcast_series_lambda_func  s   r   c                 C   s0   |dkr	t d dd }| j|||dd d S )Nr"   z)numba can't handle when UDF returns None.c                 S   "   t | tjsJ | jdksJ d S Nr   r]   r   ndarrayndimre   r   r   r   _assert_raw     z/test_apply_raw_float_frame.<locals>._assert_rawTr0   r(   rB   )r%   rM   r7   )r=   r0   r(   r   r   r   r   test_apply_raw_float_frame  s   
r   c                 C   s6   | j tj||dd}| j dd |d}t|| d S )NTr   c                 S   s
   | j  S rD   )valuesr:   re   r   r   r   rH     rY   z3test_apply_raw_float_frame_lambda.<locals>.<lambda>rg   )r7   r   r:   r8   r9   )r=   r0   r(   r>   r?   r   r   r   !test_apply_raw_float_frame_lambda  s   r   c                 C   s,   | j dd |dd}| d }t|| d S )Nc                 S   s   | d S Nr[   r   re   r   r   r   rH   %  rI   z9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>T)r(   rB   r[   r   )r=   r(   r>   r?   r   r   r   'test_apply_raw_float_frame_no_reduction#  s   r   c              	   C   sn   |dkr	t d dd }tdddtjdgd d	d
tjdgd dd
dtdd}|j|| |dd d S )Nr"   z(isinstance check doesn't work with numbac                 S   r   r   r   re   r   r   r   r   /  r   z4test_apply_raw_mixed_type_frame.<locals>._assert_raw      ?r[   foo
   float32r   r   int32)rl   r   r   r   r   r   Tr   )r%   rM   r   r   arrayr   r7   )r0   r(   r   r   r   r   r   test_apply_raw_mixed_type_frame*  s   

r   c                 C   s>   | j d }| jtjdd| }t| |}||ksJ d S )Nr   r   rg   )r;   r7   r   r:   r<   )r=   r@   r>   r?   r   r   r   test_apply_axis1A  s   
r   c                  C   sR   t dgdgd} | d d jtjdd}ttjtjg ddd	}t	|| d S )
Nr   r   rv   r   r   rg   r   r   r   )
r   r7   r   r:   r   r   rw   Indexr8   r9   r   r   r   r   test_apply_mixed_dtype_cornerH  s   r   c                  C   sr   t dgdgd} | jdd dd}tdgdgd	}t|| | jd
d dd}tdgdgd	}t|| d S )Nr   r   rv   c                 S   r   )Nr   r   re   r   r   r   rH   S  rI   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>r   rg   r   r   c                 S   r   )Nr   r   re   r   r   r   rH   W  rI   )r   r7   r   r8   r9   r   r   r   r   &test_apply_mixed_dtype_corner_indexingQ  s   r   zignore::RuntimeWarningaxr;   r   c                 C   rd   rD   r   re   r   r   r   rH   _  rf   rH   c                 C   r}   rD   r~   re   r   r   r   rH   _  rI   identityr:   )Z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,   Zf8r   r   r   )
r   r   r5   r   r]   r   r7   Z_get_agg_axisr   r;   )r   ry   rB   r0   r(   r'   r   Ztest_resZis_reductionr>   Zagg_axisr   r   r   test_apply_empty_infer_type\  s   
"r   c                  C   s2   t g dd} | jdd dd}t|t sJ d S )Nr   r   c                 S   r}   rD   r~   re   r   r   r   rH   u  rI   z7test_apply_empty_infer_type_broadcast.<locals>.<lambda>r   r   )r   r7   r]   )r   r>   r   r   r   %test_apply_empty_infer_type_broadcasts  s   r   c                 C   6   ddd}| j |dd}|  dd }t|| d S )	Nr   c                 S   rC   rD   r   rF   howmuchr   r   r   add_somez     z4test_apply_with_args_kwds_add_some.<locals>.add_somer[   r   c                 S      | d S r   r   re   r   r   r   rH   ~  rI   z4test_apply_with_args_kwds_add_some.<locals>.<lambda>r   r   )r=   r   r>   r?   r   r   r   "test_apply_with_args_kwds_add_somey     
r   c                 C   r   )	Nr   c                 S   s   |   | S rD   r~   r   r   r   r   agg_and_add     z:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_addr[   r   c                 S   s   |   d S r   r~   re   r   r   r   rH         z7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>r   )r7   r8   r9   )r=   r   r>   r?   r   r   r   %test_apply_with_args_kwds_agg_and_add  r   r   c                 C   s8   d	dd}| j |ddd}|  dd }t|| d S )
Nr   c                 S   s   | | | S rD   r   )rF   subdivider   r   r   subtract_and_divide  r   zJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide)r[   r[   )rK   r   c                 S   s   | d d S )N       @r   re   r   r   r   rH     r   z?test_apply_with_args_kwds_subtract_and_divide.<locals>.<lambda>rJ   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 rD   )r7   r   r8   rN   )r=   r>   r   r   r   test_apply_yield_list  s   
r   c                 C   sH   t j| jd d d| jdf< | d}| jt jdd}t|| d S )Nr[   r   r   rg   )	r   r   ilocr   Zget_locr:   r7   r8   r9   )r=   r?   r>   r   r   r   test_apply_reduce_Series  s   
r   c                  C   s   t ddgddggddgddgd	} | jtd
d}tddddddg| jd}t|| | jtdd}tddddddg| jd}t|| d S )Nr   r[   r   rZ   rR   rS   i0i1r   r;   r   rg   )r   r   r   rQ   )r   r7   dictr   r   r8   r9   r;   )ro   r>   r?   r   r   r   test_apply_reduce_to_dict  s   "r   c                  C   s   t tjdd} | jtjdd}t dd |  D | j	d}t
|| | jtjdd}t d	d | j D | jdj}t
|| d S )
Nr[   )   r   r   rg   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_normalr7   r   r   itemsr   r8   rN   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   ABC02   )r   YUM0r   )r   DEF0r   )r[   ABC1r  )r[   YUM1r   )r[   DEF1r   )rl   marketpositionr   c                 S   r   )Nr	  r   )rr   r   r   f  r   ztest_apply_bug.<locals>.fr   rg   i  r  r  r[   r  r   r   r  rZ   r  r   r  r   r  )r   r7   r   r8   r9   )Z	positionsr  r?   r>   r   r   r   test_apply_bug  s0   r  c               	   C   sn   t g dg dg dtjddtjddtjddd} | jdd d	d
}t||  d S )N)r   r   r   r   barr  r  r  r   r   r   )oner  r  twor  r  r  r  r  r  r  )dullr  shinyr  r  r  r  r  r  r  r  r[      )r   r   r   rP   EFc                 S   rd   rD   r   re   r   r   r   rH     rf   z,test_apply_convert_objects.<locals>.<lambda>r   rg   )r   r   r   r   r   r7   r8   rN   ri   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 rD   namere   r   r   r   rH         z(test_apply_attach_name.<locals>.<lambda>r   )r7   r   r   r8   r9   r   r   r   r   test_apply_attach_name  s   r  c                 C   s2   | j dd dd}t| j| jd}t|| d S )Nc                 S   r  rD   r  re   r   r   r   rH     r  z.test_apply_attach_name_axis1.<locals>.<lambda>r   rg   r   )r7   r   r;   r8   r9   r   r   r   r   test_apply_attach_name_axis1  s   r  c                 C   sD   |  dd }tt| jt| jdf| j| jd}t|| d S )Nc                 S      t | jt| S rD   r   repeatr  r   re   r   r   r   rH     r   z6test_apply_attach_name_non_reduction.<locals>.<lambda>r   r;   r   )	r7   r   r   r   r   r   r;   r8   rN   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  rD   r  re   r   r   r   rH   '  r   z<test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>r   rg   c                 3   s&    | ]}t |d  t jV  qdS )r   N)r   r  r   r   r   tr   r   r   	<genexpr>(  s    
z=test_apply_attach_name_non_reduction_axis1.<locals>.<genexpr>)r7   r   
itertuplesr;   r8   r9   r   r   r   r   *test_apply_attach_name_non_reduction_axis1&  s   r&  c                  C   s   t g dg dg} tddgddgddgg| d	d
gd}|dd d}tddgddgddgg| ddgd}tj||dd d S )N)rl   rl   r   )r   r@   r@   r   r[   r   rZ   r   r   col1col2r   c                 S   s   t t| t| dS )N)minmax)r   r)  r*  re   r   r   r   rH   2      z(test_apply_multi_index.<locals>.<lambda>r)  r*  TZ
check_like)r   Zfrom_arraysr   r7   r8   rN   )r;   rt   r>   r?   r   r   r   test_apply_multi_index/  s
   $$r-  z	df, dictsr   r  Zspameggs)r   r   r[   r   c                 C   sV   dd }| j |dd}| j |dd}|  |}t|| t||  t|| d S )Nc                 S   r}   rD   )to_dictre   r   r   r   rH   C  rI   z!test_apply_dict.<locals>.<lambda>r   r   r   )r7   r8   r9   rN   )r   ZdictsfnZreduce_trueZreduce_falseZreduce_noner   r   r   test_apply_dict7  s   
r1  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)rs   rc   c                 S   rd   rD   r   re   r   r   r   rH   P  rf   z,test_apply_non_numpy_dtype.<locals>.<lambda>c                 S   s   | t d S )NZ1day)rw   Z	Timedeltare   r   r   r   rH   S      z
2015-01-02)r   r	   r7   r8   rN   r   r   r   r   test_apply_non_numpy_dtypeM  s   r4  c                  C   s2   t dg didd} | dd }t||  d S )Nr2  )rl   r   r   rl   rU   r   c                 S   rd   rD   r   re   r   r   r   rH   \  rf   z5test_apply_non_numpy_dtype_category.<locals>.<lambda>r   r^   r   r   r   #test_apply_non_numpy_dtype_categoryZ  s   r5  c                  C   sR   t ddgddggddgd} t ddggddgdgd}| dg}t|| d S )	Nr   r   r[   r   rl   r   r)  r   rm   r   r?   r>   r   r   r   test_apply_dup_names_multi_agg`  s   r7  opr7   rn   c                 C   s`   dd }t tdtdd}t|| |dd}tg dg dg dg dg}t|| d S )	Nc                 S   s"   d| d  d| d  d| d  gS )Nr[   r   r   r   r   rowr   r   r   
apply_listl  s   "z3test_apply_nested_result_axis_1.<locals>.apply_list)rZ   rZ   ZABCDr   r   rg   )        r<  r<  )r   r   Zzerosr   r   r   r8   r9   )r8  r;  r   r>   r?   r   r   r   test_apply_nested_result_axis_1i  s   r=  c                  C   sR   t dtdddgidd} | dd }t||  | d	d }t||  d S )
Nr   Z2020ra   rb   zdatetime64[ns, UTC]r   c                 S   rd   rD   r   re   r   r   r   rH   |  rf   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>c                 S   r}   rD   )r   re   r   r   r   rH   ~  rI   rh   ri   r   r   r   %test_apply_noreduction_tzaware_objectw  s   r>  c                     sh   t dg di} g   fdd} fdd}||fD ]} d d = | j|dd  t| jks1J qd S )	Nrl   r   c                    s     | j d S rD   r   r  r9  namesr   r   reducing_function     z8test_apply_function_runs_once.<locals>.reducing_functionc                    s     | j | S rD   r?  r9  r@  r   r   non_reducing_function  s   z<test_apply_function_runs_once.<locals>.non_reducing_functionr   rg   )r   r7   r   r;   )r   rB  rD  ry   r   r@  r   test_apply_function_runs_once  s   
rE  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 supportedrl   r   c                    s     |  d S rD   extendr9  r   r   r   rB    s   z<test_apply_raw_function_runs_once.<locals>.reducing_functionc                    s     |  | S rD   rF  r9  rH  r   r   rD    s   
z@test_apply_raw_function_runs_once.<locals>.non_reducing_functionTr   )r(   rB   r0   )r%   rM   r   r7   r   rl   Zto_list)r(   r   rB  rD  ry   r   rH  r   !test_apply_raw_function_runs_once  s   

rI  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   rT   )NobjectrV   re   r   r   r   rH     rY   z-test_apply_with_byte_string.<locals>.<lambda>)r   r   r   rK  r7   r8   rN   r6  r   r   r   test_apply_with_byte_string  s   rL  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 )NrN  rO  Zcderl   rU   r   c                    s   |  kS rD   r   re   rM  r   r   rH     rI   z/test_apply_category_equalness.<locals>.<lambda>c                    s$   g | ]}t |rtjn| kqS r   )rw   Zisnullr   r   )r   rF   rP  r   r   
<listcomp>  s   $ z1test_apply_category_equalness.<locals>.<listcomp>r  )r   r   r   rl   r7   r   r8   r9   )rM  Z	df_valuesr   r>   r?   r   rP  r   test_apply_category_equalness  s   rR  c                  C   sZ   t tjdd} | jtjjddj}|dksJ | jtjjddj}|dks+J d S )Nr[   )r   r[   r   rg   )r   r[   )r   r   r   r   r7   Zfftr\   Zrfftr^   r   r   r   test_infer_row_shape  s
   rS  zops, by_row, expectedrl   c                 C   r   r   r   re   r   r   r   rH     rI   compatc                 C   r   r   r   re   r   r   r   rH     rI   c                 C   r}   rD   r   re   r   r   r   rH     rI   c                 C   r}   rD   rU  re   r   r   r   rH     rI   r   c                 C   r}   rD   rU  re   r   r   r   rH     rI   )r   r   r   )r   r   rH   r   c                 C   r}   rD   rU  re   r   r   r   rH     rI   c                 C      dS r   r   re   r   r   r   rH     rf   c                 C   rV  r   r   re   r   r   r   rH     rf   c                 C   .   t dddgi}|j| |d}t|| d S Nrl   r   r[   by_rowr   r7   r8   Zassert_equalopsrZ  r?   r   r>   r   r   r   test_dictlike_lambda  s   r^  r]  c                 C   r   r   r   re   r   r   r   rH     rI   c                 C   r}   rD   rU  re   r   r   r   rH     rI   c                 C   r}   rD   rU  re   r   r   r   rH     rI   c                 C   rV  r   r   re   r   r   r   rH     rf   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 Nrl   r   r[   zby_row=True not allowedmatchTrY  r   r%   raises
ValueErrorr7   r]  r   r   r   r   test_dictlike_lambda_raises     "rg  c                  C   s   t ddgddggddgd} | jdd dd}td	d
 |  D }t|| tdtdg| d< | jdd dd}t|| | d | d  dd }tddiddig}t|| d S )Nr   r[   rl   r   r   c                 S      d| d | d  iS Nrt   rl   r   r   re   r   r   r   rH     r   z,test_with_dictlike_columns.<locals>.<lambda>rg   c                 S   s   g | ]}d diqS )rt   r   r   r"  r   r   r   rQ    r   z.test_with_dictlike_columns.<locals>.<listcomp>2017-05-01 00:00:002017-05-02 00:00:00r8   c                 S   ri  rj  r   re   r   r   r   rH   
  r   c                 S   s   d| iS )Nrt   r   re   r   r   r   rH     rI   rt   r   )r   r7   r   r%  r8   r9   r   r   r   r   r   test_with_dictlike_columns  s   rm  c                  C   sd   t  } g d| d< g d| d< tjg ddd| d< | jd	d
 dd}ti i i g}t|| d S )N)XYZZ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 rD   r   re   r   r   r   rH     rf   z:test_with_dictlike_columns_with_datetime.<locals>.<lambda>r   rg   )r   rw   to_datetimer7   r   r8   r9   r   r   r   r   (test_with_dictlike_columns_with_datetime  s   
rs  c                  C   s   t ddgddggddgd} | jdd ddd	}t d
ddgi}t|| tdtdg| d< | jdd ddd	}t|| d S )Nr   r[   rl   r   r   c                 S   ri  rj  r   re   r   r   r   rH   $  r   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>r   r   rt   r   rk  rl  r8   c                 S   ri  rj  r   re   r   r   r   rH   ,  r   )r   r7   r8   rN   r   r   r   r   r   %test_with_dictlike_columns_with_infer!  s   rt  c                 C   r   r   r   re   r   r   r   rH   3  rI   )rl   rH   c                 C   r   r   r   re   r   r   r   rH   4  rI   c                 C   r}   rD   rU  re   r   r   r   rH   5  rI   c                 C   r}   rD   rU  re   r   r   r   rH   6  rI   c                 C   r}   rD   rU  re   r   r   r   rH   8  rI   c                 C   r}   rD   rU  re   r   r   r   rH   =  rI   c                 C   r   r   r   re   r   r   r   rH   B  rI   c                 C   rV  Nr   r   re   r   r   r   rH   B  rf   r   c                 C   rV  r   r   re   r   r   r   rH   G  rf   c                 C   rV  ru  r   re   r   r   r   rH   G  rf   c                 C   rW  rX  r[  r\  r   r   r   test_listlike_lambda0  s   rv  c                 C   r   r   r   re   r   r   r   rH   W  rI   c                 C   r}   rD   rU  re   r   r   r   rH   X  rI   c                 C   r}   rD   rU  re   r   r   r   rH   Y  rI   c                 C   r   r   r   re   r   r   r   rH   Z  rI   c                 C   rV  ru  r   re   r   r   r   rH   Z  rf   c                 C   r_  r`  rc  rf  r   r   r   test_listlike_lambda_raisesT  rh  rw  c                  C   s   t ttjddg dtddddd} | dd	g jtd
d}tdd | dd	g 	 D }t
|| | ddg jtd
d}tdd | ddg 	 D }t
|| d S )Nr[   rZ   )rl   r   Zofwordsz
2016-10-01h)rs   freq)rl   r   rX   rl   r   r   rg   c                 S      g | ]}|d d qS rk   r   r"  r   r   r   rQ  o      z.test_with_listlike_columns.<locals>.<listcomp>rX   c                 S   r{  rk   r   r"  r   r   r   rQ  s  r|  )r   r   r   r   r   r   r	   r7   tupler%  r8   r9   r   r   r   r   test_with_listlike_columnsd  s   r~  c                  C   sp   t tddgdggtdgddggd} tddg| _| jd	d
 dd}tg dgg| jd}t|| d S )Nrl   r   qzr#  rE   )r   Zj0)r   Zj1c                    s    fdd d D S )Nc                    s   g | ]
}| d  v r|qS )rG   r   )r   elr9  r   r   rQ  |  s    zOtest_with_listlike_columns_returning_list.<locals>.<lambda>.<locals>.<listcomp>rF   r   r9  r   r9  r   rH   |  r+  z;test_with_listlike_columns_returning_list.<locals>.<lambda>r   rg   r   )r   r   r   from_tuplesr;   r7   r8   r9   r   r   r   r   )test_with_listlike_columns_returning_listw  s
   *r  c                  C   s\   t ddgddgtdtdgd} | jdd	 d
d}tdd |  D }t|| d S )Nr   r   r   r  z2017-11-29 03:30:00z2017-11-29 03:45:00)numberstringr   c                 S   s   | j | jfS rD   r  r  r9  r   r   r   rH     r   z1test_infer_output_shape_columns.<locals>.<lambda>r   rg   c                 S   s   g | ]}|j |jfqS r   r  r"  r   r   r   rQ    r|  z3test_infer_output_shape_columns.<locals>.<listcomp>r   r   r7   r   r%  r8   r9   r   r   r   r   test_infer_output_shape_columns  s   
r  c                  C   s   t tjddg dd} | jdd dd}td	d
 |  D }t	|| | jdd dd}tdd
 |  D }t	|| d S )Nr[   )r   r   r   r   c                 S   r   r   r   re   r   r   r   rH     rI   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>r   rg   c                 S   s   g | ]}g d qS )r   r   r"  r   r   r   rQ    r   z<test_infer_output_shape_listlike_columns.<locals>.<listcomp>c                 S      ddgS Nr   r[   r   re   r   r   r   rH     rI   c                 S   s   g | ]}d dgqS r   r[   r   r"  r   r   r   rQ    r   
r   r   r   r   r   r7   r   r%  r8   r9   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 )Nrl   r   r   r   c                    s
   t  S rD   r   Zonesr9  rP  r   r   rH     rY   zBtest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>r   rg   c                    s   g | ]}t  qS r   r  r"  rP  r   r   rQ    r+  zDtest_infer_output_shape_listlike_columns_np_func.<locals>.<listcomp>)r   r   r7   r   r%  r;   r8   r9   )rM  r   r>   r?   r   rP  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   rZ   r   )r   r   rZ   r[   )r   r[   r   rZ   )rl   r   r   r@   c                 S   rV  )Nr  r   re   r   r   r   fun  s   zDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.funr   rg   c                 S   s   g | ]}d qS )r  r   r"  r   r   r   rQ        zKtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.<listcomp>r  )r   r  r>   r?   r   r   r   7test_infer_output_shape_listlike_columns_with_timestamp  s   r  lstr   c                    s^   t tjddg dd}|j fdddd}t fd	d
| D }t	|| d S )Nr[   )rZ   r   r   r   c                    s    S rD   r   re   r  r   r   rH     rf   z3test_consistent_coerce_for_shapes.<locals>.<lambda>r   rg   c                    s   g | ]} qS r   r   r"  r  r   r   rQ    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   re   r   r   r   rH     r   z'test_consistent_names.<locals>.<lambda>r   rg   r  r  r  r   r   c                 S   s   t ddgddgdS )Nr   r[   r  r  r   r  re   r   r   r   rH     r   )r7   renamer8   rN   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   re   r   r   r   rH     rI   z"test_result_type.<locals>.<lambda>r   r   r   r   r   r[   r7   r   r   r8   rN   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   re   r   r   r   rH     rI   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   re   r   r   r   rH     rI   z,test_result_type_broadcast.<locals>.<lambda>r   r   r0   r   r(   	r%   r1   r2   r3   r4   r7   r   r8   rN   )r    r'   r(   r1   r   r>   r?   r   r   r   test_result_type_broadcast  s   r  c                    s`   |dkrt jjdd}|j| | }g d |j fdddd|d	}| }t|| d S )
Nr"   <numba Series constructor only support ndarrays not list datar)   r  rJ  rA  c                       t g d dS Nr   r   r  re   r   r   r   rH     r  z8test_result_type_broadcast_series_func.<locals>.<lambda>r   r   r  r  r    r(   r'   r1   r   r>   r?   r   r   r   &test_result_type_broadcast_series_func  s   
r  c                 C   sR   |dkrt jjdd}|j| | }|jdd d|d}| }t|| d S )Nr"   r  r)   c                 S   s   t g d| jdS r  )r   r;   re   r   r   r   rH   %  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  re   r   r   r   rH   6  r  z<test_result_type_series_result_other_index.<locals>.<lambda>r   r/   )
r%   r1   r2   r3   r4   r7   r   r   r8   rN   r  r   r   r   *test_result_type_series_result_other_index*  s   r  boxc                 C      t | S rD   )r   re   r   r   r   rH   >  rI   c                 C   r  rD   )r}  re   r   r   r   rH   >  rI   c                 C   s   t j| ddS )Nr   r   )r   r   re   r   r   r   rH   >  r3  )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   re   r  r   r   rH   E  r   z,test_consistency_for_boxed.<locals>.<lambda>r   rg   c                    s   g | ]} d dgqS r  r   r"  r  r   r   rQ  F  r|  z.test_consistency_for_boxed.<locals>.<listcomp>c                    r  r  r   re   r  r   r   rH   I  r   r   r   r   r   r   rv   r   )r7   r   r%  r8   r9   r  rN   )r  r    r   r>   r?   r   r  r   test_consistency_for_boxed<  s   r  c                 C   s:  | dv rdnd}t jdd t |}t |}| }|jt j| d}t|| |jt jg| d}| }| dv rGt	|j
dgg|_
n
t	|jdgg|_t|| |jt jt jg| d}t||g|d}| dv rzt	|j
ddgg|_
nt	|jddgg|_t|| W d    d S 1 sw   Y  d S )	N   r   r;   r   r   r+   r,   rg   r6   absolute)r   r5   absr6   r   r7   r8   rN   r   Zfrom_productr   r;   r
   )r0   r=   
other_axisZf_absZf_sqrtr?   r>   r   r   r   test_agg_transformN  s0   

"r  c                  C   sT   t tddd} | ddg}t ddgddgdddgddgd	}t|| d S )
Nr   rv   r)  r*  r   rZ   r   r   r   )r   r   rn   r8   rN   r   r   r   r   	test_demos  s   r  c                  C   sl   t tddd} | ddgddgd}t ddtjgdtjd	gdd
dgg dd}t||| d S )Nr   rv   r)  r*  r         @r<        @g      9@r   r   )r*  r)  r   r   )r   r   rn   r   r   r8   rN   Zreindex_liker   r   r   r   test_demo_dict_agg~  s   r  c                  C   sl   dddgi} t | }|ddi}tddi}t|| |d ddi}tddidd}t|| d S )Nr  r   r  countr[   r  )r   rn   r   r8   r9   )ro   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   r   )r   r   r   )r   rn   r8   rN   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.w   Y  tjt|d	 | g d dd
g W d    d S 1 sQw   Y  d S )Nr   r  r  rq   r   rr   r   r   r   rP   does not support reductionra  r)  r   )rP   r   r   r   )r   r	   r%   rd  	TypeErrorrn   )r  msgr   r   r   test_agg_multiple_mixed_raises  s   

"r  c              	   C   s  | dv rdnd}|j |  d d  \}}tj|j| d|j| d|j| dgdd}g d|_| dv r9|j	n|}|j
g d| d}t|| |d|di}|j
|| d}t|||  |||  g||gd	}t|| |dg|dgi}|j
|| d}t|t|||  gdgd	|t|||  gdgd	i}| d
v r|j	n|}t|| |ddg|ddgi}|j
|| d}tj|t|||  |||  gddgd	|t|||  |||  gddgd	idd}| d
v r|j	n|}t|| d S )Nr  r   r   r[   rg   )r:   r*  r   r:   r   r   >   r   r   r*  )ZaxesuniqueZsort_valuesrw   concatr:   r*  r   r   r   rn   r8   rN   r   r   r9   r   )r0   r=   r  Zname1Zname2r?   r>   ry   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 sw   Y  d S )Nr   r  r  rq   r   rr   r  r)  r   r   r  r   nsr   r  ra  r   r   )r   r  r  )r   r	   rn   r   r   r   r8   r9   Zas_unitrN   r%   rd  r  )r   r>   r?   r  r   r   r   test_nuiscance_columns  s8   

	"r  howc                 C   s  t g ddtjdgg dd}t|| ddi}tddi}t|| t|| dd	i}tdd
i}t|| t|| dd	g}t|| dd	gdd	gdd	gd}t dd
ddd
ddd
dd}tj||dd tj||dd t|| d}| }t|| d S )NNr[   r   r   r  r   Nr  r   r   r  r[   sizer   )r  r  Tr,  )	r   r   r   r   r   r8   r9   rN   r  )r  r   r>   r?   Zresult1Zresult2r   r   r   test_non_callable_aggregates3  s0   r  c                 C   st   t g ddtjdgg dd}t|| d|d}|dv r(t|jd	 |jd
}n
t|jd |jd
}t	|| d S )Nr  r   r  r  r   r  rg   )r   r;   r   r   r   )
r   r   r   r   r   r\   r   r;   r8   r9   )r  r0   r   r>   r?   r   r   r   test_size_as_str`  s   r  c                  C   s   t g ddtjdgg dd} dd }| |}tddgdgd	d
ggg dd}t|| | |g}|dj}t	|| d S )N)r[   r[   r   g      ?r  r   c                 S   s   t |   S rD   )r   Zdropnar  )Z	group_colr   r   r   ry   t  rC  z&test_agg_listlike_result.<locals>.funcr[   r   r   r  r   ry   )
r   r   r   rn   r   r8   r9   Zto_framer   rN   )r   ry   r>   r?   r   r   r   test_agg_listlike_resultp  s    
 r  zargs, kwargs)r   r      r  rJ   r   r   rl   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 rD   rU  )rF   rl   r   r   r   r   r   r    s   ztest_agg_args_kwargs.<locals>.fr   r[   rZ   r   r  g      @r  g       @)r   r   r   rn   r8   r9   )r0   rK   kwargsr  r   r?   r>   r   r   r   test_agg_args_kwargs  s   
r  num_cols)r[   r   r   c                 C   sp   |dkrt jjdd}|j| tg d}| }td|t	| d}|j
dd |d	 |j|jks6J d S )
Nr"   z*numba engine only supports numeric indicesr)   )z
1950-06-30z
1952-10-24z
1953-05-29r   r   c                 S   rd   rD   r   re   r   r   r   rH     rf   z,test_frequency_is_original.<locals>.<lambda>r.   )r%   r1   r2   r3   r4   rw   ZDatetimeIndexr   r   r   r7   rz  )r  r(   r'   r1   r;   originalr   r   r   r   test_frequency_is_original  s   r  c                 C   s   | dkrt jjdd}|j| tdddtdddtdddg}tg d	|d
}|jdd d| d}t||d}t	
|| d S )Nr"   z0numba engine doesn't support non-numeric indexesr)   z2019-03-15 12:34:31.909000+0000ra   rb   z2019-03-15 12:34:34.359000+0000z2019-03-15 12:34:34.660000+0000r  )ro   r;   c                 S   r  rD   r  re   r   r   r   rH     r  z.test_apply_datetime_tz_issue.<locals>.<lambda>r   r/   )r;   ro   )r%   r1   r2   r3   r4   r   r   r7   r   r8   r9   )r(   r'   r1   Z
timestampsr   r>   r?   r   r   r   test_apply_datetime_tz_issue  s   


r  r   r   r@   rv   method)r)  r*  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'ra  )r%   rd  r  r   )r   r  Zusing_infer_stringr  r   r   r   test_mixed_column_raises  s   "r  rJ  r   c                 C   s:   t d| ggddgd}|dd }|j}t|| d S )Nr   rl   r   r   c                 S   r  rD   r   re   r   r   r   rH     r  z"test_apply_dtype.<locals>.<lambda>)r   r7   Zdtypesr8   r9   )rJ  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 )	Nd      r  c                 S   s*   | j }| jd  d7  < | j |usJ | S )Nrl   r   )Z_mgrr   )r:  Zmgrr   r   r   ry     s   z!test_apply_mutating.<locals>.funcrl   r   rg   )r   r   r   r8   Zassert_cow_warningr7   rN   )Zusing_array_managerZusing_copy_on_writeZwarn_copy_on_writer   Zdf_origry   r?   r>   r   r   r   test_apply_mutating  s   r  c                  C   sb   t ddgddgddgddgd	d
ggddgd} | jdd dd}tg g dtd}t|| d S )Nr   r[   r   rZ   r   r   r   r   r   r   rl   r   r   c                 S   s   g S rD   r   re   r   r   r   rH     rf   z.test_apply_empty_list_reduce.<locals>.<lambda>r   r   r  r   )r   r7   r   rK  r8   r9   r   r   r   r   test_apply_empty_list_reduce  s   .r  c                 C   s   | dkrt jjdd}|j| tddggd ddgd	}|jd
dd dd g| d}tg dg ddg dd}t|| d S )Nr"   z;numba engine doesn't support list-likes/dict-like callablesr)   rZ   r   r   r   r   r   r   c                 S   r}   rD   rU  re   r   r   r   rH     rI   z,test_apply_no_suffix_index.<locals>.<lambda>r.   )rO  rO  rO  )   r  r  rv   )r   rH   rH   r   )	r%   r1   r2   r3   r4   r   r7   r8   rN   )r(   r'   r1   Zpdfr>   r?   r   r   r   test_apply_no_suffix_index  s   r  c                 C   sT   | dkr	t d tdddgi}|jdd | dd	d
}tddg}t|| d S )Nr"   z No object dtype support in numbar   Zaabbbc                 S   r   r   r   re   r   r   r   rH     rI   z/test_apply_raw_returns_string.<locals>.<lambda>r   T)r(   r0   rB   )r%   rM   r   r7   r   r8   r9   r(   r   r>   r?   r   r   r   test_apply_raw_returns_string  s   
r  c                  C   sb   t g ddd} dd }d|ddg}| |}t g d	g d
g ddg dd}t|| d S )N))r   r   r   )r[   r   r   )r   r   r   )rZ   r   rZ   )r   r   r   )r   r   r   )Zatt1Zatt2Zatt3r   c                 S   s   |   d S r   rU  r   r   r   r   sum_div2%  r   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)  r   rm   )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)   r  r   r  rl   c                 S   s   | j d | j d  S )Nr   r   )r   re   r   r   r   rH   >  r   z+test_apply_getitem_axis_1.<locals>.<lambda>r   r/   )r   r[   rZ   )
r%   r1   r2   r3   r4   r   r7   r   r8   r9   )r(   r'   r1   r   r>   r?   r   r   r   test_apply_getitem_axis_15  s   
r  c                  C   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   re   r   r   r   expected_warningL  s   
zDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningrl   r   r  ra  )r   r8   assert_produces_warningUserWarningrn   )r  r   r   r   r   *test_nuisance_depr_passes_through_warningsD  s
   "r  c                  C   s   t ddtgdtdddtjgdg dd} | jtd	d
}tttd}t	|| | jtdd
}ttttd}t	|| d S )Nr   r  g      ?i  r   )r'  r(  r   r   r   rg   )
r   r   r   r   r   r7   typer   r8   r9   r   r   r   r   test_apply_typeU  s   r  c                 C   sN   t ddgddgd}|djdd d| d}tg tjd	}t|| d S )
Nr   r[   r   r   r  c                 S   s   t | d | d S )Nrl   r   )r*  re   r   r   r   rH   j  r   z/test_apply_on_empty_dataframe.<locals>.<lambda>r/   r   )r   headr7   r   r   r   r8   r9   r  r   r   r   test_apply_on_empty_dataframeg  s   r  c                  C   sN   t ddgddgd} | dd }t ddggddggd}t|| d S )Nr   r[   r   r  c                 S   s   | j gS rD   rH  re   r   r   r   rH   q  rI   z(test_apply_return_list.<locals>.<lambda>r   r   r   r   r   test_apply_return_listo  s   r  ztest, constant)r   r   r   )r[   r[   r[   c                 C   s>   t | }t|ddgdd}ddd}||}t|| d S )Nrl   r   rK  )ro   r;   r   r  r  r  )r  ZconstantZdf1r?   Zaggregationr>   r   r   r   test_unique_agg_type_is_seriesv  s
   	

r  c                  C   sr   t g dg dg dd} tg d}t| jdd| | jddd}t|| | dd}t|| d S )	N)r   r[   r   )r   r[   r   )r   r   r   r   )TTFr   rg   r   )r   r   r8   r9   r   r7   r6  r   r   r   /test_any_apply_keyword_non_zero_axis_regression  s   r  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 sw   Y  t g ddgd}t|| d S )NrF   r   r   r   c                 S      | | | S rD   r   )rF   rl   r   r   r   r   foo1  r   z.test_agg_mapping_func_deprecated.<locals>.foo1r[   c                 S   r  rD   r   )rF   r   r   r   r   r   foo2  r   z.test_agg_mapping_func_deprecated.<locals>.foo2r   rZ   )r   r   z+using .+ in Series.agg cannot aggregate andra  r   r   r   r  r  r   )r[   r   rZ   )r   r   )r[   r   )r   rn   r8   rN   r  FutureWarning)r   r  r  r>   r?   r  r   r   r    test_agg_mapping_func_deprecated  s&   

"r  c                  C   s   t tdddddgd} tjtdd | tj}W d    n1 s'w   Y  t	d	d	d
t
d}t|| tjtdd | tjg}W d    n1 sTw   Y  t d	d	d
dgd}t|| d S )Nr   r   r[   r   r   r   zusing DataFrame.stdra  r   rv   r   zusing Series.stdstdr   )r   r   r   r   r8   r  r  rn   r  r   r   r9   rN   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   r   r   rn   r  r8   r9   r   r   r   r   (test_agg_dist_like_and_nonunique_columns  s   
r   )r   r  numpyr   r%   Zpandas.compatr   Zpandas.core.dtypes.dtypesr   Zpandasrw   r   r   r   r   r	   Zpandas._testingZ_testingr8   Zpandas.tests.frame.commonr
   Zpandas.util.versionr   Zfixturer    r$   r1   Z
single_cpur(   rA   ZparametrizerO   r_   rj   rp   rx   r6   r:   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   filterwarningsr   r   r   r   r   r   r   r   r  r  r  r  r  r!  r&  r-  r1  r4  r5  r7  r=  r>  rE  rI  rL  r   rR  rS  r   r^  rg  rm  rs  rt  rv  rw  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  r  r  r   r   r   r   r   <module>   s   








	
			"4	*

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

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