
    Owg                        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        Z ej&                  d ej*                  dej,                  j.                  	      g
      d        Zd Zej,                  j5                  dd dg      ej,                  j5                  dddg      d               Zd Zd Zej,                  j5                  ddd edg      f edd      dfg      d        Zd Zej,                  j5                  dej@                  ejB                  g      d        Z"d Z#d Z$d  Z%ej,                  j5                  dg d!      d"        Z&d# Z'd$ Z(d% Z)d& Z*d' Z+d( Z,d) Z-d* Z.ej,                  j5                  dd dg      d+        Z/ej,                  j5                  dd dg      d,        Z0d- Z1ej,                  j5                  dd dg      d.        Z2d/ Z3d0 Z4d1 Z5ej,                  jm                  d2      ej,                  j5                  d3d4d5g      ej,                  j5                  dd6 d7 gd8d9g:      ej,                  j5                  dddg      ej,                  j5                  dd dg      d;                                    Z7d< Z8d= Z9d> Z:d? Z;d@ Z<dA Z=dB Z>dC Z?dD Z@dE ZAdF ZBdG ZCdH ZDdI ZEdJ ZFej,                  j5                  dK e	dLdMgdNdOgg       edLdNdPdMdOdPg      g e	d dgdQdRgg       ed dQdPddRdPg      gg      dS        ZGdT ZHdU ZIdV ZJej,                  j5                  dWdXdYg      dZ        ZKd[ ZLd\ ZMd] ZNd^ ZOej,                  j5                  d_d`dadej                  g      db        ZQdc ZRej,                  j5                  dddedf idg e	dedQdRgi      fdedh id e	dedQdRgi      fdedi idg ededRi      fdedj id ededRi      fdedkej                  dl gidg e	deg dmig dno      fdedkej                  dp gid e	deg dmig dno      fdedq idg e	deddgi      fdedr id ededi      fg      ds        ZTej,                  j5                  dtdedu idedv idedkej                  dw gidedx ig      dy        ZUdz ZVd{ ZWd| ZXej,                  j5                  ddd} gdg e	d~dQdRgi      fd gd e	d~dQdRgi      fd gdg e	dedRgidgo      fd gd e	dedRgidgo      fdkej                  d gdg e	deg dmig dno      fdkej                  d gd e	deg dmig dno      fd d gdg e	dQdRgdRdRggdedegddgg      fd d gd e	dedQdRgiddg      fg      d        ZYej,                  j5                  dtd gd gdkej                  d gd d gg      d        ZZd Z[d Z\d Z]d Z^ej,                  j5                  d_ddQg      d        Z_d Z`ej,                  j5                  dg dddQgg      d        Zad Zbd Zcd Zdd Zed Zfd Zgd Zhej,                  j5                  dd d d gg d:      d        Zid Zjd Zkd Zld Zmd Znd Zod Zpd Zqej,                  j5                  ddYdXg      d        Zrej,                  j5                  ddYdXg      d        Zsd Ztej,                  j5                  dd dg      ej,                  j5                  ddi fdi fdi fdddQifdddQdfddQddfdddQdRdfg      d               Zuej,                  j5                  dg d      d        Zvd Zwej,                  j5                  d e	dedgddgdÜ      g      ej,                  j5                  dg dŢ      dƄ               Zxej,                  j5                  dddddeej                  g      dɄ        Zydʄ Zzd˄ Z{d̄ Z|d̈́ Z}d΄ Z~dτ ZdЄ Zdф Zd҄ Zdӄ Zej,                  j5                  dg dg dբdg ddgdfg d֢g dբddQgdgdfg      dׄ        Zd؄ Zdل Zdڄ Zdۄ Zy)    )datetimeN)CategoricalDtype)	DataFrame
MultiIndexSeries	Timestamp
date_range)
zip_framesc                      t        t        j                  t        j                  dd      d      j	                  dd      dz   g 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)dfs    Z/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/apply/test_frame_apply.pyint_frame_const_colr      sC     

		!7+Q/772>B
B I    pythonnumba)marks)paramsc                 b    | j                   dk(  rt        j                  d       | j                   S )Nr"   )parampytestimportorskip)requests    r   enginer*   #   s&    }}G$==r    c                    |dk(  r;t         j                  j                  d      }|j                  j	                  |       t        j                  d      5  t        j                  | d         }| j                  t
        j                  |      d   }t        j                  ||       | j                  t
        j                  |      d   }t        j                  | d         }||k(  sJ | j                  d   }| j                  t
        j                  d	|
      }t        j                  | j                  |            }||   |k(  sJ |j                  | j                  u sJ 	 d d d        y # 1 sw Y   y xY w)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)   r4   resultexpectedds          r   
test_applyrD   *   sC   {{  (U V%		" 1S)*$$RWWV$<SA
vx0 ""2776":3?77;s+,!!!a ""2776"B77;>>!,-ayH$$$||{000001 1 1s   DE00E9r3   r   rawTFc                     |dk(  r;t         j                  j                  d      }|j                  j	                  |       | j                  d |d||      }| dz   }t        j                  ||       y )Nr"   z!numba engine doesn't support argsr,   c                     | |z   S N xys     r   <lambda>z!test_apply_args.<locals>.<lambda>G   s
    QU r    r   )argsrE   r*   r   )r'   r4   r5   r6   r7   r:   r;   assert_frame_equal)r@   r3   rE   r*   r)   r4   rA   rB   s           r   test_apply_argsrQ   @   sq     {{  (K L%DtV  F QH&(+r    c                      t        g dg dd      } | j                  d       }|j                  dk(  sJ t        |d   j                  t
              sJ t        |d   j                  t
              sJ y )N)r   r   r   r   )r   r   DrS   c0c1c                 $    | j                  d      S )Ncategoryastype)tss    r   rM   z-test_apply_categorical_func.<locals>.<lambda>P   s    :!6 r    )      rU   rV   )r   r:   shape
isinstancer   r   r   rA   s     r   test_apply_categorical_funcra   M   sj    	.6JK	LBXX67F<<6!!!fTl((*:;;;fTl((*:;;;r    c                      t        dt        dd      gi      } | j                  d d      }t        j                  ||        y )Nr   
2013-01-01UTCtzc                     | S rH   rI   rK   s    r   rM   z*test_apply_axis1_with_ea.<locals>.<lambda>Z       a r    r   r3   r   r   r:   r;   rP   rB   rA   s     r   test_apply_axis1_with_earm   W   s=    #	,5 ABCDH^^Ka^0F&(+r    zdata, dtype)r   Nrc   rd   re   c                     t        | g| ggddg|      }|j                  d d      }t        j                  ||       y )Na)r>   r   c                     | S rH   rI   rh   s    r   rM   z0test_agg_axis1_duplicate_index.<locals>.<lambda>e   s    A r    r   rj   r   aggr;   rP   )datar   rB   rA   s       r   test_agg_axis1_duplicate_indexrt   ^   sA     4&4&)#s5IH\\+A\.F&(+r    c                      t        t        dd      t        j                  t	        j
                  d      d      d      } | j                  d d	      }t        j                  ||        y )
N20130101r   periodss)unitr   r   c                     | S rH   rI   rh   s    r   rM   z/test_apply_mixed_datetimelike.<locals>.<lambda>r   ri   r    r   rj   )	r   r	   pdto_timedeltar   r   r:   r;   rP   rl   s     r   test_apply_mixed_datetimeliker   i   sW     J21C8	
H ^^Ka^0F&(+r    funcc                 Z    t               }|j                  | |      }|j                  sJ y )Nr1   )r   r:   empty)r   r*   empty_framerA   s       r   test_apply_emptyr   v   s,     +KtF3F<<<r    c                 r   | d d }|j                  d |      }t        t        j                  | j                        }t        j                  ||       | j                  d d g f   }|j                  d d|      }t        t        j                  | j                        }t        j                  ||       y )Nr   c                 "    | j                         S rH   r=   rh   s    r   rM   z(test_apply_float_frame.<locals>.<lambda>       QVVX r    r1   r>   c                 "    | j                         S rH   r   rh   s    r   rM   z(test_apply_float_frame.<locals>.<lambda>   r   r    r   r2   )	r:   r   r   nanr   r;   r<   locr>   )r@   r*   no_rowsrA   rB   no_colss         r   test_apply_float_framer      s    "1oG]]-f]=FbffK$7$78H68,ooae$G]]-Af]EFbffK$5$56H68,r    c                 t    t        dg      }|j                  d d|       }t        j                  ||       y )Nro   r   c                     | d   S )Nro   rI   rh   s    r   rM   z/test_apply_empty_except_index.<locals>.<lambda>   s
    af r    r   r2   r   r:   r;   rP   )r*   rB   rA   s      r   test_apply_empty_except_indexr      s3    u%H^^,1V^DF&(+r    c                  R   t               } g }| j                  |j                  dd      }t        j                  ||        | j                  |j                  dd      }t        g t        j                        }t        j                  ||       t        g d      }|j                  |j                  dd      }t        j                  ||       |j                  |j                  dd      }t        g t        j                        }t        j                  ||       |g k(  sJ y )Nr   expandr3   result_typereducer   ro   bcr   )	r   r:   appendr;   rP   r   r   float64r<   )r   rK   rA   rB   empty_with_colss        r   test_apply_with_reduce_emptyr      s    +K
AqxxaXFF&+.qxxaXFFb

+H68,8O""188!"JF&/2""188!"JFb

+H68, 7N7r    )sumprodanyr0   c                     t        g d      }|j                  t        t        |             } t        ||              }| dv r|j	                  t
              }t        j                  ||       y )Nr   r   )r   r   )r   r:   getattrr   rZ   floatr;   r<   )r   r   rA   rB   s       r   test_apply_funcs_over_emptyr      sZ     
?	+BXXgb$'(F wr4 "H??5)68,r    c                  0   t        g d      } | j                         }t        d| j                        }t	        j
                  ||       | j                  j                         }t        g t        j                        }t	        j
                  ||       y )Nr   r   r   r   r   )	r   nuniquer   r   r;   r<   Tr   r   r   rA   rB   s      r   test_nunique_emptyr      sf    	?	+BZZ\Farzz*H68,TT\\^Fb

+H68,r    c                     t        g dg dg dgg d      } | j                  d d      }t        g d	g d      }t        j                  ||       | j
                  j                  d
 d      }t        j                  ||       y )Nr   r]   r   )r\      r   )      	   )ro   ro   r   r   c                     | d   S Nr   rI   ry   s    r   rM   z/test_apply_standard_nonunique.<locals>.<lambda>   
    ! r    r   rj   )r   r\   r   c                     | d   S r   rI   r   s    r   rM   z/test_apply_standard_nonunique.<locals>.<lambda>   s
    !A$ r    r   )r   r:   r   r;   r<   r   r   s      r   test_apply_standard_nonuniquer      si    	Iy)4O	LBXXn1X-Fi1H68,TTZZQZ/F68,r    c                     | j                  t        j                  d      }t        | j                         g| j                        }t        j                  ||       y )N	broadcastr   r   )r:   r   r=   r   r>   r;   rP   r@   rA   rB   s      r   test_apply_broadcast_scalarsr      sI    rwwK@F+**,-[5F5FGH&(+r    c                     | j                  t        j                  dd      }| j                  d      }t        | j                  D ci c]  }|| c}      }t        j                  ||       y c c}w )Nr   r   r   rj   )r:   r   r=   r   r   r;   rP   r@   rA   mr   rB   s        r   "test_apply_broadcast_scalars_axis1r      sd    rwwQKHFa A(;(;<1!Q$<=H&(+ =s   
A0c                 "     j                   fddd      }t        t        t         j                                    }t        |gt         j                        z  d j                   j                        }t        j                  ||       y )Nc                 R    t        t        t        j                                    S rH   )listrangelenr   rK   r@   s    r   rM   z4test_apply_broadcast_lists_columns.<locals>.<lambda>   s    $uS!4!4567 r    r   r   r   r   )r   r>   r   )	r:   r   r   r   r   r   r>   r;   rP   )r@   rA   r   rB   s   `   r   "test_apply_broadcast_lists_columnsr      s    7  F
 	U3{**+,-A	
c+##$$##	H &(+r    c                      j                   fdd      }t        t        t         j                                    }t         j                  D ci c]  }|| c}d j                        }t        j                  ||       y c c}w )Nc                 R    t        t        t        j                                    S rH   )r   r   r   r>   r   s    r   rM   z2test_apply_broadcast_lists_index.<locals>.<lambda>   s    $uS!2!2345 r    r   r   r   )r   r>   )	r:   r   r   r   r>   r   r   r;   rP   r   s   `    r    test_apply_broadcast_lists_indexr      s~    5;  F 	U3{(()*+A"**+!A+H
 &(+	 	,s   
Bc                 ^    | }|j                  d dd      }t        j                  ||       y )Nc                 
    g dS Nr   rI   rh   s    r   rM   z7test_apply_broadcast_list_lambda_func.<locals>.<lambda>       	 r    r   r   r   r:   r;   rP   )r   r   rA   s      r   %test_apply_broadcast_list_lambda_funcr      s,    	BXX){XKF&"%r    c                 ~    | }|j                  d dd      }|j                         }t        j                  ||       y )Nc                 2    t        g dt        d            S )Nr   abcr   )r   r   rh   s    r   rM   z9test_apply_broadcast_series_lambda_func.<locals>.<lambda>  s    &$u+6 r    r   r   r   )r:   copyr;   rP   r   r   rA   rB   s       r   'test_apply_broadcast_series_lambda_funcr      s@    	BXX6  F
 wwyH&(+r    c                 h    |dk(  rt        j                  d       d }| j                  |||d       y )Nr"   z)numba can't handle when UDF returns None.c                 ^    t        | t        j                        sJ | j                  dk(  sJ y Nr   r_   r   ndarrayndimrh   s    r   _assert_rawz/test_apply_raw_float_frame.<locals>._assert_raw  &    !RZZ(((vv{{r    Tr3   r*   rE   )r'   skipr:   )r@   r3   r*   r   s       r   test_apply_raw_float_framer   
  s5    ?@ kVFr    c                     | j                  t        j                  ||d      }| j                  d |      }t        j                  ||       y )NTr   c                 6    | j                   j                         S rH   )valuesr=   rh   s    r   rM   z3test_apply_raw_float_frame_lambda.<locals>.<lambda>  s    188==? r    rj   )r:   r   r=   r;   r<   )r@   r3   r*   rA   rB   s        r   !test_apply_raw_float_frame_lambdar     sE    rwwT&dKF  !: FH68,r    c                 d    | j                  d |d      }| dz  }t        j                  ||       y )Nc                     | dz  S Nr]   rI   rh   s    r   rM   z9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>  s
    Q r    T)r*   rE   r]   r   )r@   r*   rA   rB   s       r   'test_apply_raw_float_frame_no_reductionr     s2    v4HFQH&(+r    c           
         |dk(  rt        j                  d       d }t        dddt        j                  dgdz  d	      t        j                  d
gdz  d	      dt        j
                  d            }|j                  || |d       y )Nr"   z(isinstance check doesn't work with numbac                 ^    t        | t        j                        sJ | j                  dk(  sJ y r   r   rh   s    r   r   z4test_apply_raw_mixed_type_frame.<locals>._assert_raw)  r   r          ?r]   foo
   float32r   r   int32)ro   r   r   r   r   r   Tr   )r'   r   r   r   arrayr   r:   )r3   r*   r   r   s       r   test_apply_raw_mixed_type_framer   $  s    >?
 
xx
)<XXqcBhg6	
 iim	
B HH[tFH=r    c                     | j                   d   }| j                  t        j                  d      |   }t        j                  | j	                  |            }||k(  sJ y )Nr   r   rj   )r>   r:   r   r=   r?   )r@   rC   rA   rB   s       r   test_apply_axis1r   ;  sU    !ArwwQ/2Fww{~~a()HXr    c                      t        dgdgd      } | d d j                  t        j                  d      }t	        t        j
                  t        j                  g d      	      }t        j                  ||       y )
Nr   r   r{   r   r   rj   r   r   r   )
r   r:   r   r=   r   r   r}   Indexr;   r<   r   s      r   test_apply_mixed_dtype_cornerr   B  s^    	%u-	.BV\\"''\*F bffBHHRw$?@H68,r    c                     t        dgdgd      } | j                  d d      }t        dgdg      }t        j                  ||       | j                  d	 d      }t        dgdg      }t        j                  ||       y )
Nr   r   r{   c                     | d   S )Nr   rI   rh   s    r   rM   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>M  
    # r    r   rj   r   r   c                     | d   S )Nr   rI   rh   s    r   rM   z8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>Q  r   r    )r   r:   r   r;   r<   r   s      r   &test_apply_mixed_dtype_corner_indexingr   K  s{    	%u-	.BXX&QX/FugaS)H68,XX&QX/FseA3'H68,r    zignore::RuntimeWarningaxr>   r   c                     | S rH   rI   rh   s    r   rM   rM   Y      q r    c                 "    | j                         S rH   r   rh   s    r   rM   rM   Y  s    AFFH r    identityr=   )idsc                    t        di | g di}t        j                  d      5   |t        j                  g d            }t	        |t        j
                         }|j                  ||||      }	|r3|j                  |      }
t	        |	t              sJ |	j                  |
u sJ t	        |	t               sJ d d d        y # 1 sw Y   y xY w)Nr   r.   r/   f8r   r   rI   )
r   r   r8   r   r_   r   r:   _get_agg_axisr   r>   )r   r   rE   r3   r*   r)   r   test_resis_reductionrA   agg_axiss              r   test_apply_empty_infer_typer	  V  s     
	+b/*	+B		" 
1401%h

;;$T&cB''-Hff---<<8+++fi000
1 
1 
1s   BCCc                  l    t        g d      } | j                  d d      }t        |t               sJ y )Nr   r   c                 "    | j                         S rH   r   rh   s    r   rM   z7test_apply_empty_infer_type_broadcast.<locals>.<lambda>o  r   r    r   r   )r   r:   r_   )r   rA   s     r   %test_apply_empty_infer_type_broadcastr  m  s/    o.G]]-;]GFfi(((r    c                     dd}| j                  |d      }| j                  d       }t        j                  ||       y )Nc                     | |z   S rH   rI   rK   howmuchs     r   add_somez4test_apply_with_args_kwds_add_some.<locals>.add_somet  s    7{r    r]   r  c                     | dz   S r   rI   rh   s    r   rM   z4test_apply_with_args_kwds_add_some.<locals>.<lambda>x  s
    1q5 r    r   r   )r@   r  rA   rB   s       r   "test_apply_with_args_kwds_add_somer  s  s>     x3F  1H&(+r    c                     dd}| j                  |d      }| j                  d       }t        j                  ||       y )Nc                 (    | j                         |z   S rH   r   r  s     r   agg_and_addz:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_add}  s    vvx'!!r    r]   r  c                 (    | j                         dz   S r   r   rh   s    r   rM   z7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>  s    1668a< r    r  )r:   r;   r<   )r@   r  rA   rB   s       r   %test_apply_with_args_kwds_agg_and_addr  |  s?    " {A6F  !78H68,r    c                     dd}| j                  |dd      }| j                  d       }t        j                  ||       y )Nc                     | |z
  |z  S rH   rI   )rK   subdivides      r   subtract_and_dividezJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide  s    C6!!r    )r]   r]   )rO   r  c                     | dz
  dz  S )N       @rI   rh   s    r   rM   z?test_apply_with_args_kwds_subtract_and_divide.<locals>.<lambda>  s    AGs? r    rN   r   )r@   r  rA   rB   s       r   -test_apply_with_args_kwds_subtract_and_divider"    sB    " 2aHF  !:;H&(+r    c                 Z    | j                  t              }t        j                  ||        y rH   )r:   r   r;   rP   )r@   rA   s     r   test_apply_yield_listr$    s"    t$F&+.r    c                 
   t         j                  | j                  d d d| j                  j	                  d      f<   | j                  d      }| j                  t         j
                  d      }t        j                  ||       y )Nr]   r   r   rj   )	r   r   ilocr   get_locr=   r:   r;   r<   )r@   rB   rA   s      r   test_apply_reduce_Seriesr(    si    >@ffKSqS+--55c::;"HrwwQ/F68,r    c                  d   t        ddgddggddgddg	      } | j                  t        d
      }t        ddddddg| j                        }t        j                  ||       | j                  t        d      }t        ddddddg| j                        }t        j                  ||       y )Nr   r]   r   r\   rU   rV   i0i1r   r>   r   rj   )r*  r+  r   rT   )r   r:   dictr   r   r;   r<   r>   )rs   rA   rB   s      r   test_apply_reduce_to_dictr.    s    q!fq!f%d|D$<PDZZ1Z%Faq)!1+=>dllSH68,ZZ1Z%Faq)!1+=>djjQH68,r    c            	         t        t        j                  j                  d      j	                  d            } | j                  t        j                  d      }t        | j                         D ci c]  \  }}||j                          c}}| j                        }t        j                  ||       | j                  t        j                  d      }t        | j                  j                         D ci c]  \  }}||j                          c}}| j                        j                  }t        j                  ||       y c c}}w c c}}w )Nr]   )   r   r   rj   r   r   )r   r   randomdefault_rngstandard_normalr:   r   describeitemsr   r;   rP   r   r>   )r   rA   ivrB   s        r   test_apply_differently_indexedr8    s    	299((+;;HE	FBXXfooAX.FbhhjAda!QZZ\/A2::VH&(+XXfooAX.FbddjjlCda!QZZ\/CRXXVXXH&(+ B Ds   1E	
9E
c                     t        g dg dg dg dg dg dgg d      } d	 }| j                  |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      } | j                  |d
      }t        j                  ||       y )N)r   ABC02   )r   YUM0r0  )r   DEF0r0  )r]   ABC1r;  )r]   YUM1r0  )r]   DEF1r0  )ro   marketpositionr   c                     | d   S )NrA  rI   )rs    r   fztest_apply_bug.<locals>.f  s    {r    r   rj   i  r:  r;  r]   r<  r0  r   r=  r\   r>  r   r?  r   r@  )r   r:   r   r;   r<   )	positionsrE  rB   rA   s       r   test_apply_bugrG    s    	
 ,
I qq)HdAq!62.dAq!62.dAq!62.dAq!62.dAq!62.dAq!62.	
 ,
I __QQ_'F68,r    c            
         t        g dg dg dt        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      d      } | j                  d d	      }t        j                  ||        y )
N)r   r   r   r   barrI  rI  rI  r   r   r   )onerJ  rJ  tworJ  rJ  rJ  rK  rK  rK  rJ  )dullrL  shinyrL  rL  rM  rM  rL  rM  rM  rM  r]      )r   r   r   rS   EFc                     | S rH   rI   rh   s    r   rM   z,test_apply_convert_objects.<locals>.<lambda>  ri   r    r   rj   )r   r   r1  r2  r3  r:   r;   rP   rl   s     r   test_apply_convert_objectsrR    s     &&q)99"=&&q)99"=&&q)99"=U+	
-H^ ^^Ka^0F&(+r    c                     | j                  d       }t        | j                  | j                        }t        j                  ||       y )Nc                     | j                   S rH   namerh   s    r   rM   z(test_apply_attach_name.<locals>.<lambda>
  
     r    r   )r:   r   r   r;   r<   r   s      r   test_apply_attach_namerX  	  s;    /0Fk))1D1DEH68,r    c                     | j                  d d      }t        | j                  | j                        }t        j                  ||       y )Nc                     | j                   S rH   rU  rh   s    r   rM   z.test_apply_attach_name_axis1.<locals>.<lambda>  rW  r    r   rj   r   )r:   r   r>   r;   r<   r   s      r   test_apply_attach_name_axis1r[    s@    /a8Fk''{/@/@AH68,r    c                     | j                  d       }t        t        j                  | j                  t        | j                        df      | j                  | j                        }t        j                  ||       y )Nc                 T    t        j                  | j                  t        |             S rH   r   repeatrV  r   rh   s    r   rM   z6test_apply_attach_name_non_reduction.<locals>.<lambda>      1663q6)B r    r   r>   r   )	r:   r   r   r   r   r   r>   r;   rP   r   s      r   $test_apply_attach_name_non_reductionrb    se    BCF
##c+*;*;&<a%@A##H
 &(+r    c                       j                  d d      }t         fd j                         D              } j                  |_        t	        j
                  ||       y )Nc                 T    t        j                  | j                  t        |             S rH   r^  rh   s    r   rM   z<test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>!  r`  r    r   rj   c              3   v   K   | ]0  }t        j                  |d    t        j                               2 yw)r   N)r   r_  r   r   ).0tr@   s     r   	<genexpr>z=test_apply_attach_name_non_reduction_axis1.<locals>.<genexpr>"  s0      67		!A$K//01s   69)r:   r   
itertuplesr>   r;   r<   r   s   `  r   *test_apply_attach_name_non_reduction_axis1rj     sX    BKF ;F;Q;Q;S H !&&HN68,r    c                      t        j                  g dg dg      } t        ddgddgddgg| d	d
g      }|j                  d d      }t        ddgddgddgg| ddg      }t	        j
                  ||d       y )N)ro   ro   r   )r   rC   rC   r   r]   r   r\   r   r   col1col2ra  c                 B    t        t        |       t        |       d      S )N)minmax)r   ro  rp  rh   s    r   rM   z(test_apply_multi_index.<locals>.<lambda>,  s    vc!fSV&DE r    ro  rp  T
check_like)r   from_arraysr   r:   r;   rP   )r>   ry   rA   rB   s       r   test_apply_multi_indexrt  )  s    ""O_#EFEAq6Aq6Aq6*%&&AQRAWWEqIF1a&1a&1a&1PUWH&(t<r    z	df, dictsr   rI  spameggs)r   r   r]   r   c                     d }| j                  |d      }| j                  |d      }| j                  |      }t        j                  ||       t        j                  ||        t        j                  ||       y )Nc                 "    | j                         S rH   )to_dictrh   s    r   rM   z!test_apply_dict.<locals>.<lambda>=  s    199; r    r   r   r   )r:   r;   r<   rP   )r   dictsfnreduce_truereduce_falsereduce_nones         r   test_apply_dictr  1  sj     
B((28(4K88BH85L((2,K;.,+;.r    c                     t        dt        ddd      i      } | j                  d       }t        j                  ||        | j                  d       }t        dt        ddd      i      }t        j                  ||       y )	Ndtz
2015-01-01r   zEurope/Brussels)rx   rf   c                     | S rH   rI   rh   s    r   rM   z,test_apply_non_numpy_dtype.<locals>.<lambda>J       r    c                 2    | t        j                  d      z   S )N1day)r}   	Timedeltarh   s    r   rM   z,test_apply_non_numpy_dtype.<locals>.<lambda>M  s    BLL$8 8 r    z
2015-01-02)r   r	   r:   r;   rP   r   s      r   test_apply_non_numpy_dtyper  G  sv    	D*\1ARST	UBXXk"F&"%XX89F	z,6GHIH &(+r    c                  v    t        dg did      } | j                  d       }t        j                  ||        y )Nr  )ro   r   r   ro   rX   r   c                     | S rH   rI   rh   s    r   rM   z5test_apply_non_numpy_dtype_category.<locals>.<lambda>V  r  r    r   r`   s     r   #test_apply_non_numpy_dtype_categoryr  T  s2    	D./z	BBXXk"F&"%r    c                      t        ddgddggddg      } t        ddggddgdg      }| j                  dg      }t        j                  ||       y )	Nr   r   r]   r   ro   r   ro  r,  rq   r   rB   rA   s      r   test_apply_dup_names_multi_aggr  Z  sX    	QFQF#c3Z	8B1a&C:eWEHVVUG_F&(+r    opr:   rr   c                     d }t        t        j                  d      t        d            } t	        ||       |d      }t        g dg dg dg dg      }t        j                  ||       y )Nc                 0    d| d   z  d| d   z  d| d   z  gS )Nr]   r   r   r   rI   rows    r   
apply_listz3test_apply_nested_result_axis_1.<locals>.apply_listf  s'    CHa#c(lACL99r    )r\   r\   ABCDr   r   rj   )        r  r  )r   r   zerosr   r   r   r;   r<   )r  r  r   rA   rB   s        r   test_apply_nested_result_axis_1r  c  s^    : 
288F#T&\	:BWR_Za0F	/?OLH 68,r    c                      t        dt        dd      gid      } | j                  d       }t        j                  ||        | j                  d       }t        j                  ||        y )	Nr   2020rd   re   zdatetime64[ns, UTC]r   c                     | S rH   rI   rh   s    r   rM   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>v  ri   r    c                 "    | j                         S rH   )r   rh   s    r   rM   z7test_apply_noreduction_tzaware_object.<locals>.<lambda>x  s    affh r    rk   rl   s     r   %test_apply_noreduction_tzaware_objectr  q  s`    	6e,-.6KH ^^K(F&(+^^./F&(+r    c                      t        dg di      } g fd}fd}||fD ]4  }d d = | j                  |d       t        | j                        k(  r4J  y )Nro   r   c                 <    j                  | j                         y rH   r   rV  r  namess    r   reducing_functionz8test_apply_function_runs_once.<locals>.reducing_function  s    SXXr    c                 >    j                  | j                         | S rH   r  r  s    r   non_reducing_functionz<test_apply_function_runs_once.<locals>.non_reducing_function  s    SXX
r    r   rj   )r   r:   r   r>   )r   r  r  r   r  s       @r   test_apply_function_runs_oncer  |  sg     
C#	$BE #$9: '!H
ARXX&&&	'r    c                    | dk(  rt        j                  d       t        dg di      }g fd}fd}||fD ]D  }d d = |j                  || dd	       t	        |j
                  j                               k(  rDJ  y )
Nr"   z8appending to list outside of numba func is not supportedro   r   c                 (    j                  |        y rH   extendr  r   s    r   r  z<test_apply_raw_function_runs_once.<locals>.reducing_function  s    cr    c                 *    j                  |        | S rH   r  r  s    r   r  z@test_apply_raw_function_runs_once.<locals>.non_reducing_function  s    c
r    Tr   )r*   rE   r3   )r'   r   r   r:   r   ro   to_list)r*   r   r  r  r   r   s        @r   !test_apply_raw_function_runs_oncer    s    NO	C#	$BF #$9: .1I
f$Q7bddlln----	.r    c                      t        t        j                  ddg      dg      } t        t        j                  ddg      dgt              }| j	                  d       }t        j                  ||       y )Ns   abcds   efghcolr   )r   r   c                 $    | j                  d      S )NobjectrY   rh   s    r   rM   z-test_apply_with_byte_string.<locals>.<lambda>  s     2 r    )r   r   r   r  r:   r;   rP   r  s      r   test_apply_with_byte_stringr    s]    	288Wg./%	AB7G"45wfUH XX23F&(+r    valasd   c                 H    dd dddt         j                  g}t        d|id      }|j                  j	                   fd      }t        |D cg c],  }t        j                  |      rt         j                  n| k(  . c}d      }t        j                  ||       y c c}w )	Nr  r  cdero   rX   r   c                     | k(  S rH   rI   )rK   r  s    r   rM   z/test_apply_category_equalness.<locals>.<lambda>  s    !s( r    rU  )
r   r   r   ro   r:   r   r}   isnullr;   r<   )r  	df_valuesr   rA   rK   rB   s   `     r   test_apply_category_equalnessr    s     b%7I	C#:	6BTTZZ*+F7@A!299Q<Q#X	-AH 68, 	Bs   1Bc                  b   t        t        j                  j                  d      j                  d            } | j	                  t        j
                  j
                  d      j                  }|dk(  sJ | j	                  t        j
                  j                  d      j                  }|dk(  sJ y )Nr]   )r   r]   r   rj   )r   r]   )r   r   r1  r2  r:   fftr^   rfftr`   s     r   test_infer_row_shaper    s     
299((+227;	<BXXbffjjqX)//FWXXbffkkX*00FVr    zops, by_row, expectedro   c                     | dz   S r   rI   rh   s    r   rM   rM     
    Q r    compatc                     | dz   S r   rI   rh   s    r   rM   rM     r  r    c                 "    | j                         S rH   r   rh   s    r   rM   rM          r    c                 "    | j                         S rH   r  rh   s    r   rM   rM     r  r    r   c                 "    | j                         S rH   r  rh   s    r   rM   rM         AEEG r    )r   r   r   )r   r   <lambda>r   c                 "    | j                         S rH   r  rh   s    r   rM   rM     r  r    c                      yr   rI   rh   s    r   rM   rM         r    c                      yr   rI   rh   s    r   rM   rM     r  r    c                 t    t        dddgi      }|j                  | |      }t        j                  ||       y Nro   r   r]   by_rowr   r:   r;   assert_equalopsr  rB   r   rA   s        r   test_dictlike_lambdar    s6    . 
C!Q=	!BXXc&X)FOOFH%r    r  c                     | dz   S r   rI   rh   s    r   rM   rM     s
    A r    c                 "    | j                         S rH   r  rh   s    r   rM   rM     s     r    c                 "    | j                         S rH   r  rh   s    r   rM   rM     s     r    c                      yr   rI   rh   s    r   rM   rM     r  r    c                     t        dddgi      }t        j                  t        d      5  |j	                  | d       d d d        y # 1 sw Y   y xY wNro   r   r]   zby_row=True not allowedmatchTr  r   r'   raises
ValueErrorr:   r  r   s     r   test_dictlike_lambda_raisesr    J     
C!Q=	!B	z)B	C #
T"# # #   AAc                     t        ddgddggddg      } | j                  d d      }t        | j                         D cg c]  }dd	i c}      }t	        j
                  ||       t        d
      t        d      g| d<   | j                  d d      }t	        j
                  ||       | d   | d   z   j                  d       }t        dd	idd	ig      }t	        j
                  ||       y c c}w )Nr   r]   ro   r   r   c                     d| d   | d   z   iS Nry   ro   r   rI   rh   s    r   rM   z,test_with_dictlike_columns.<locals>.<lambda>      afqvo 6 r    rj   ry   r   2017-05-01 00:00:002017-05-02 00:00:00r;   c                     d| d   | d   z   iS r  rI   rh   s    r   rM   z,test_with_dictlike_columns.<locals>.<lambda>  r  r    c                 
    d| iS )Nry   rI   rh   s    r   rM   z,test_with_dictlike_columns.<locals>.<lambda>  s
    #q r    )r   r:   r   ri  r;   r<   r   r   rA   rg  rB   s       r   test_with_dictlike_columnsr    s    	QFQF#c3Z	8BXX6QX?F9AQx9:H68, 	'('(BtH XX6QX?F68, g3&&'9:FQx#q*+H68, :s   C/c                      t               } g d| d<   g d| d<   t        j                  g dd      | d<   | j                  d	 d
      }t	        i i i g      }t        j                  ||       y )N)XYZauthor)BBCNBCN24	publisher)z17-10-2010 07:15:30z13-05-2011 08:20:35z15-01-2013 09:09:09T)dayfirstdatec                     i S rH   rI   rh   s    r   rM   z:test_with_dictlike_columns_with_datetime.<locals>.<lambda>       r    r   rj   )r   r}   to_datetimer:   r   r;   r<   r   s      r   (test_with_dictlike_columns_with_datetimer    sg    	B"BxL+B{OMBvJ XXlX+Fr2rl#H68,r    c                  *   t        ddgddggddg      } | j                  d dd      }t        d	d
d
gi      }t        j                  ||       t	        d      t	        d      g| d<   | j                  d dd      }t        j                  ||       y )Nr   r]   ro   r   r   c                     d| d   | d   z   iS r  rI   rh   s    r   rM   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>  r  r    r   r   ry   r   r  r  r;   c                     d| d   | d   z   iS r  rI   rh   s    r   rM   z7test_with_dictlike_columns_with_infer.<locals>.<lambda>&  r  r    )r   r:   r;   rP   r   r   s      r   %test_with_dictlike_columns_with_inferr    s    	QFQF#c3Z	8BXX6QHXUF#1v'H&(+ 	'('(BtH XX6QHXUF&(+r    c                     | dz   S r   rI   rh   s    r   rM   rM   -  
    AE r    )ro   r  c                     | dz   S r   rI   rh   s    r   rM   rM   .  r  r    c                 "    | j                         S rH   r  rh   s    r   rM   rM   /      AEEG r    r  c                 "    | j                         S rH   r  rh   s    r   rM   rM   0  r  r    c                 "    | j                         S rH   r  rh   s    r   rM   rM   2      aeeg r    c                 "    | j                         S rH   r  rh   s    r   rM   rM   7  r  r    c                     | dz   S r   rI   rh   s    r   rM   rM   <  s
    q1u r    c                      yNr   rI   rh   s    r   rM   rM   <  r  r    r   c                      yr   rI   rh   s    r   rM   rM   A  r  r    c                      yr  rI   rh   s    r   rM   rM   A  r  r    c                 t    t        dddgi      }|j                  | |      }t        j                  ||       y r  r  r  s        r   test_listlike_lambdar  *  s6    > 
C!Q=	!BXXc&X)FOOFH%r    c                     | dz   S r   rI   rh   s    r   rM   rM   Q  
    1q5 r    c                 "    | j                         S rH   r  rh   s    r   rM   rM   R  s    1557 r    c                 "    | j                         S rH   r  rh   s    r   rM   rM   S  s    !%%' r    c                     | dz   S r   rI   rh   s    r   rM   rM   T  r  r    c                      yr  rI   rh   s    r   rM   rM   T  r  r    c                     t        dddgi      }t        j                  t        d      5  |j	                  | d       d d d        y # 1 sw Y   y xY wr  r  r  s     r   test_listlike_lambda_raisesr  N  r  r  c            	      @   t        t        t        j                  j	                  d      j                  d            g dt        ddd      d      } | dd	g   j                  t        d
      }t        | dd	g   j                         D cg c]  }|d
d  	 c}      }t        j                  ||       | ddg   j                  t        d
      }t        | ddg   j                         D cg c]  }|d
d  	 c}      }t        j                  ||       y c c}w c c}w )Nr]   r\   )ro   r   ofwordsz
2016-10-01h)rx   freq)ro   r   r[   ro   r   r   rj   r[   )r   r   r   r1  r2  r3  r	   r:   tupleri  r;   r<   r  s       r   test_with_listlike_columnsr"  ^  s   			--a0@@CD-\13?	

B c
^!!%a!0Fb#sn&?&?&ABquBCH68,d_""5q"1Fb#to&@&@&BCquCDH68, C Ds   D,Dc                     t        t        ddgdgg      t        dgddgg      d      } t        j                  ddg      | _        | j                  d	 d
      }t        g dgg| j                        }t        j                  ||       y )Nro   r   qzrg  rJ   )r*  j0)r+  j1c                 B    | d   D cg c]  }|| d   v s| c}S c c}w )NrK   rL   rI   )r  els     r   rM   z;test_with_listlike_columns_returning_list.<locals>.<lambda>v  s"    C"K"B#c(N2"K "Ks   r   rj   r   )r   r   r   from_tuplesr>   r:   r;   r<   r   s      r   )test_with_listlike_columns_returning_listr+  q  s    	#scU 346C53PS*BU;VW	XB%%|\&BCBHXXKRSXTFrC5k2H68,r    c                  *   t        ddgddgt        d      t        d      gd      } | j                  d d	
      }t        | j	                         D cg c]  }|j
                  |j                  f c}      }t        j                  ||       y c c}w )Nr   r!  r   rI  z2017-11-29 03:30:00z2017-11-29 03:45:00)numberstringr   c                 2    | j                   | j                  fS rH   )r-  r.  r  s    r   rM   z1test_infer_output_shape_columns.<locals>.<lambda>  s    3::szz": r    r   rj   )	r   r   r:   r   ri  r-  r.  r;   r<   r  s       r   test_infer_output_shape_columnsr0  {  s     
Cjen/0/0	
	
B XX:XCFR]]_E!((+EFH68, Fs   Bc                     t        t        j                  j                  d      j	                  d      g d      } | j                  d d      }t        | j                         D cg c]  }g d c}      }t        j                  ||       | j                  d	 d      }t        | j                         D cg c]  }ddg c}      }t        j                  ||       y c c}w c c}w )
Nr]   )r   r   r   r   c                 
    g dS r   rI   rh   s    r   rM   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>  r   r    r   rj   r   c                 
    ddgS Nr   r]   rI   rh   s    r   rM   z:test_infer_output_shape_listlike_columns.<locals>.<lambda>  
    A r    
r   r   r1  r2  r3  r:   r   ri  r;   r<   r  s       r   (test_infer_output_shape_listlike_columnsr7    s     

		a 008/
B XX)X2F"--/:Qy:;H68,XX&QX/Fr}}7!1v78H68, ; 8s   'C#:C(c                 (    t        dg dit        d            }|j                   fdd      }t        |j	                         D cg c]  }t        j                          c}|j                        }t        j                  ||       y c c}w )Nro   r   r   r   c                 .    t        j                        S rH   )r   ones)r  r  s    r   rM   zBtest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>  s    "''#, r    r   rj   )
r   r   r:   r   ri  r   r:  r>   r;   r<   )r  r   rA   rg  rB   s   `    r   0test_infer_output_shape_listlike_columns_np_funcr;    sk     
C#4;	7BXX.QX7FR]]_=rwws|=RXXNH68, >s   	Bc                  0   t        t        d      t        d      t        d      t        d      gg dg dg dd      } d	 }| j                  |d
      }t        | j	                         D cg c]  }d c}      }t        j                  ||       y c c}w )Nz
2010-02-01z
2010-02-04z
2010-02-05z
2010-02-06)r   r   r\   r   )r   r   r\   r]   )r   r]   r   r\   )ro   r   r   rC   c                      y)Nr   r]   rI   rh   s    r   funzDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.fun  s    r    r   rj   r>  )r   r   r:   r   ri  r;   r<   )r   r?  rA   rg  rB   s        r   7test_infer_output_shape_listlike_columns_with_timestampr@    s    	 ,',',','	 
	

B XXcX"Fr}}7!v78H68, 8s   ,	Blstr   c                 ,    t        t        j                  j                  d      j	                  d      g d      }|j                   fdd      }t        |j                         D cg c]  }  c}      }t        j                  ||       y c c}w )Nr]   )r\   r   r   r   c                     S rH   rI   )rK   rA  s    r   rM   z3test_consistent_coerce_for_shapes.<locals>.<lambda>  s     r    r   rj   r6  )rA  r   rA   rg  rB   s   `    r   !test_consistent_coerce_for_shapesrD    sr     

		a 008/
B XXm!X,FBMMO4qs45H68, 5s   *	Bc                     | }|j                  d d      }| j                  dddd      }t        j                  ||       |j                  d	 d      }|ddg   }t        j                  ||       y )
Nc                 $    t        g dg d      S )Nr   )testothercolsr   r   rh   s    r   rM   z'test_consistent_names.<locals>.<lambda>  s    &*CD r    r   rj   rG  rH  rI  r   r   c                 $    t        ddgddg      S )Nr   r]   rG  rH  r   rJ  rh   s    r   rM   z'test_consistent_names.<locals>.<lambda>  s    1vfg5F G r    )r:   renamer;   rP   r   s       r   test_consistent_namesrM    s    	BXXD1  F #))78 * H &(+XXGaXPF)*H&(+r    c                     | }|j                  d dd      }|j                         }g d|_        t        j                  ||       y )Nc                 
    g dS r   rI   rh   s    r   rM   z"test_result_type.<locals>.<lambda>  r   r    r   r   r   r   r   r]   r:   r   r   r;   rP   r   s       r   test_result_typerR    sA     
BXX)xXHFwwyH H&(+r    c                     | }|j                  d dd      }|ddg   j                         }ddg|_        t        j                  ||       y )Nc                 
    ddgS r4  rI   rh   s    r   rM   z/test_result_type_shorter_list.<locals>.<lambda>  r5  r    r   r   r   r   r   r   rQ  r   s       r   test_result_type_shorter_listrU    sP     
BXX&QHXEF3*~""$H1vH&(+r    c                     |dk(  r;t         j                  j                  d      }|j                  j	                  |       | }|j                  d dd|      }|j                         }t        j                  ||       y )Nr"   z(numba engine doesn't support list returnr,   c                 
    g dS r   rI   rh   s    r   rM   z,test_result_type_broadcast.<locals>.<lambda>  s    ) r    r   r   r3   r   r*   	r'   r4   r5   r6   r7   r:   r   r;   rP   )r   r)   r*   r4   r   rA   rB   s          r   test_result_type_broadcastrZ    st     {{  (R S%	BXX!V  F wwyH&(+r    c                    |dk(  r;t         j                  j                  d      }|j                  j	                  |       | }g d|j                  fddd|      }|j                         }t        j                  ||       y )	Nr"   <numba Series constructor only support ndarrays not list datar,   rH  r  r  c                 "    t        g d      S Nr   r   rJ  rK   r   s    r   rM   z8test_result_type_broadcast_series_func.<locals>.<lambda>  s    &'2 r    r   r   rX  rY  r   r*   r)   r4   r   rA   rB   r   s          @r   &test_result_type_broadcast_series_funcrb    s     {{  Q ! 
 	%	B'GXX2	  F wwyH&(+r    c                     |dk(  r;t         j                  j                  d      }|j                  j	                  |       | }|j                  d d|      }|j                         }t        j                  ||       y )Nr"   r\  r,   c                 4    t        g d| j                        S r_  )r   r>   rh   s    r   rM   z0test_result_type_series_result.<locals>.<lambda>  s    y @ r    r   r2   rY  )r   r*   r)   r4   r   rA   rB   s          r   test_result_type_series_resultre    sr     {{  Q ! 
 	%	BXX@qQWXXFwwyH&(+r    c                    |dk(  r;t         j                  j                  d      }|j                  j	                  |       | }g d|j                  fdd|      }|j                         }|_        t        j                  ||       y )Nr"   z:no support in numba Series constructor for list of columnsr,   r]  c                 "    t        g d      S r_  rJ  r`  s    r   rM   z<test_result_type_series_result_other_index.<locals>.<lambda>0  s    y @ r    r   r2   )
r'   r4   r5   r6   r7   r:   r   r   r;   rP   ra  s          @r   *test_result_type_series_result_other_indexrh  $  s     {{  O ! 
 	%	B'GXX@qQWXXFwwyHH&(+r    boxc                     t        |       S rH   )r   rh   s    r   rM   rM   8  s
    tAw r    c                     t        |       S rH   )r!  rh   s    r   rM   rM   8  s
    %( r    c                 0    t        j                  | d      S )Nr   r   )r   r   rh   s    r   rM   rM   8  s    bhhq6P r    )r   r!  r   c           	      X    |}|j                   fdd      }t        |j                         D cg c]  }  ddg       c}      }t        j                  ||       |j                   fddd      }|dd	g   j                  d
dd      }t        j                  ||       y c c}w )Nc                      ddg      S r4  rI   rK   ri  s    r   rM   z,test_consistency_for_boxed.<locals>.<lambda>?      QF r    r   rj   r]   c                      ddg      S r4  rI   ro  s    r   rM   z,test_consistency_for_boxed.<locals>.<lambda>C  rp  r    r   r   r   r   r   r{   r   )r:   r   ri  r;   r<   rL  rP   )ri  r   r   rA   rg  rB   s   `     r   test_consistency_for_boxedrr  6  s     
BXX+!X4FBMMO<qsAq6{<=H68,XX+!XJF"C:.55AA>N5OH&(+ =s   B'c                    | dv rdnd}t        j                  d      5  t        j                  |      }t        j                  |      }|j	                         }|j                  t         j                  |       }t        j                  ||       |j                  t         j                  g|       }|j	                         }| dv r(t        j                  |j                  dgg      |_
        n't        j                  |j                  dgg      |_        t        j                  ||       |j                  t         j                  t         j                  g|       }t        ||g|      }| dv r)t        j                  |j                  ddgg      |_
        n(t        j                  |j                  ddgg      |_        t        j                  ||       d d d        y # 1 sw Y   y xY w)	N   r>   r   r   r   r.   r/   rj   r9   absolute)r   r8   absr9   r   r:   r;   rP   r   from_productr   r>   r
   )r3   r@   
other_axisf_absf_sqrtrB   rA   s          r   test_agg_transformr{  H  s   l*J		" 0{#% ;;=""277"6
fh/ ""BGG94"8;;=<)668K8KfX7VWH'44k6G6G&5RSHN
fh/
 ""BFFBGG#44"@ufoJ?<)66$$z6&:; H (44""Z$89HN 	fh/?0 0 0s   F8G  G)c                      t        t        d      dd      } | j                  ddg      }t        ddgddgdddgddg	      }t        j                  ||       y )
Nr   r{   ro  rp  r   r\   r   r   r,  )r   r   rr   r;   rP   r   s      r   	test_demor}  m  s_    	q*	+BVVUEN#F!fAq6"S#JuenH &(+r    c                     t        t        d      dd      } | j                  ddgddgd      }t        ddt        j                  gdt        j                  d	gdd
dgg d      }t        j                  |j                  |      |       y )Nr   r{   ro  rp  r         @r        @g      9@r   r   )rp  ro  r   r,  )r   r   rr   r   r   r;   rP   reindex_liker   s      r   test_demo_dict_aggr  x  s    	q*	+BVV5%.u~>?FC RVVT':;c
#H
 &--h7Br    c                     dddgi} t        |       }|j                  ddi      }t        ddi      }t        j                  ||       |d   j                  ddi      }t        ddid      }t        j                  ||       y )NrV  r   rI  countr]   rU  )r   rr   r   r;   r<   )rs   r   rA   rB   s       r   !test_agg_with_name_as_column_namer    s    UEN#D	4B VVVW%&Fvqk"H68, Z^^VW-.Fvqk/H68,r    c                  >   t        g dg dg dd      } t        ddgddgd	d
gdddg      }| j                  ddg      }t        j                  ||       | g d   j                  ddg      }|g d   j	                  ddg      }t        j                  ||       y )Nr   r   r!        @r   rI  bazr   r   r   r         @rI  	foobarbazro  r   r   )r   r   r   )r   rr   r;   rP   reindex)mdfrB   rA   s      r   test_agg_multiple_mixedr    s    
 &	
C Qs%	

 enH WWeU^$F&(+!%%uen5F (00%@H&(+r    c            	      `   t        g dg dg dt        dd      d      } d}t        j                  t        |	      5  | j                  d
dg       d d d        t        j                  t        |	      5  | g d   j                  dd
g       d d d        y # 1 sw Y   FxY w# 1 sw Y   y xY w)Nr   r  r  rv   r   rw   r   r   r   rS   does not support reductionr  ro  r   )rS   r   r   r   )r   r	   r'   r  	TypeErrorrr   )r  msgs     r   test_agg_multiple_mixed_raisesr    s    
 &J2		
C 'C	y	,    
y	, 6 !%%uen56 6   6 6s   B6B$B!$B-c                    | dv rdnd}|j                   |   j                         d d j                         \  }}t        j                  |j                  |       |j                  |       |j                  |       gd      }g d|_        | dv r|j                  n|}|j                  g d|       }t        j                  ||       |d|di}|j                  ||       }t        |j                  |      |   j                         |j                  |      |   j                         g||g	      }t        j                  ||       |dg|dgi}|j                  ||       }t!        |t        |j                  |      |   j                         gdg	      |t        |j                  |      |   j                         gdg	      i      }| d
v r|j                  n|}t        j                  ||       |ddg|ddgi}|j                  ||       }t        j                  |t        |j                  |      |   j                         |j                  |      |   j                         gddg	      |t        |j                  |      |   j                         |j                  |      |   j                         gddg	      id      }| d
v r|j                  n|}t        j                  ||       y )Nrt  r   r   r]   rj   )r=   rp  r   r=   r   r   >   r   r   rp  )axesuniquesort_valuesr}   concatr=   rp  r   r   r   rr   r;   rP   r   r   r<   r   )r3   r@   rx  name1name2rB   rA   r   s           r   test_agg_reducer    s   l*J##J/668!<HHJLE5 yy$'OOO&OOO&	

 H .H!\1xzzxH__3$_?F&(+ 65%(D__T_-FOOJ'.335OOJ'.224	
 enH 68, F8UUG,D__T_-F6;??:6u=BBDEfXV6;??:6u=AACDUGT	
H "^3xzzH&(+ FE?EE5>:D__T_-Fyy6OOJ/6;;=OOJ/6::< uo 6OOJ/6::<OOJ/6::< en	
  #H& "^3xzzH&(+r    c            	          t        g dg dg dt        dd      d      } | j                  d      }t        d	d
dt	        d      g| j
                        }t        j                  ||       | j                  dg      }t        d	d
dt	        d      j                  d      ggdg| j
                        }t        j                  ||       d}t        j                  t        |      5  | j                  d       d d d        | g d   j                  d      }t        g dg d      }t        j                  ||       d}t        j                  t        |      5  | j                  dg       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r  r  rv   r   rw   r  ro  r   r   rI  r   nsra  r  r  r   r   )r   r  r  )r   r	   rr   r   r   r   r;   r<   as_unitrP   r'   r  r  )r   rA   rB   r  s       r   test_nuiscance_columnsr  	  sX   	 &J2		

B VVE]Fq#ui
&;<BJJOH68,VVUG_F
S%:.66t<	=>g

H
 &(+
&C	y	, 
u  $$U+F+?CH68,
&C	y	, 
w   s   (E8F8FFhowc                    t        g ddt        j                  dgg dd      } t        ||       ddi      }t	        ddi      }t        j                  ||        t        ||       dd	i      }t	        dd
i      }t        j                  ||        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       t        j                  ||d        t        ||       d      }|j                         }t        j                  ||       y )NNr]   r   r   r  r   NrI  r   r   r  r]   sizer   )r  r  Trq  )	r   r   r   r   r   r;   r<   rP   r  )r  r   rA   rB   result1result2s         r   test_non_callable_aggregatesr  -  sW    
#rvvs!3:NO
B
 WRsGn-FsAhH68, WRsFm,FsAhH68, gb#01Ggb#w&7w>OPG a(a(a(	
H '7t<'8= WRg&FxxzH68,r    c                 :   t        g ddt        j                  dgg dd      } t        ||       d|      }|dv r%t	        |j
                  d	   |j                  
      }n$t	        |j
                  d   |j                  
      }t        j                  ||       y )Nr  r   r  r  r   r  rj   )r   r>   r   r   r   )
r   r   r   r   r   r^   r   r>   r;   r<   )r  r3   r   rA   rB   s        r   test_size_as_strr  Z  s     
#rvvs!3:NO
B
 WRf40F|"((1+RZZ8"((1+RXX668,r    c                  T   t        g ddt        j                  dgg dd      } d }| j                  |      }t	        ddgdgdd	ggg d
      }t        j                  ||       | j                  |g      }|j                  d      j                  }t        j                  ||       y )N)r]   r]   r   g      ?r  r   c                 P    t        | j                         j                               S rH   )r   dropnar  )	group_cols    r   r   z&test_agg_listlike_result.<locals>.funcn  s    I$$&--/00r    r]   r   r   rI  r   r   )
r   r   r   rr   r   r;   r<   to_framer   rP   )r   r   rA   rB   s       r   test_agg_listlike_resultr  j  s    	#rvvs);BVW	XB1 VVD\F1vuuen5_MH68,VVTF^F  (**H&(+r    zargs, kwargs)r   r      r>  rN   r   rI   ro   r   r   c                     dd}t        ddgddgg      }| dk(  rt        ddg      }nt        d	d
g      } |j                  || g|i |}t        j                  ||       y )Nr   c                 4    | j                         ||z   |z  z   S rH   r  )rK   ro   r   r   s       r   rE  ztest_agg_args_kwargs.<locals>.f  s    uuw!a%1$$r    r   r]   r\   r   r  g      @r  g       @)r   r   r   rr   r;   r<   )r3   rO   kwargsrE  r   rB   rA   s          r   test_agg_args_kwargsr  z  so    % 
QFQF#	$Bqy3*%3*%RVVAt-d-f-F68,r    num_cols)r]   r   r   c                 ^   |dk(  r;t         j                  j                  d      }|j                  j	                  |       t        j                  g d      }|j                         }t        d|t        |             }|j                  d |       |j                  |j                  k(  sJ y )	Nr"   z*numba engine only supports numeric indicesr,   )z
1950-06-30z
1952-10-24z
1953-05-29r   ra  c                     | S rH   rI   rh   s    r   rM   z,test_frequency_is_original.<locals>.<lambda>  r   r    r1   )r'   r4   r5   r6   r7   r}   DatetimeIndexr   r   r   r:   r   )r  r*   r)   r4   r>   originalr   s          r   test_frequency_is_originalr    s     {{  (T U%GHEzz|H	1E5?	;BHH[H(::&&&r    c                 ^   | dk(  r;t         j                  j                  d      }|j                  j	                  |       t        dd      t        dd      t        dd      g}t        g d	|
      }|j                  d d|       }t        ||      }t        j                  ||       y )Nr"   z0numba engine doesn't support non-numeric indexesr,   z2019-03-15 12:34:31.909000+0000rd   re   z2019-03-15 12:34:34.359000+0000z2019-03-15 12:34:34.660000+0000rP  )rs   r>   c                     | j                   S rH   rU  rh   s    r   rM   z.test_apply_datetime_tz_issue.<locals>.<lambda>  s
     r    r   r2   )r>   rs   )r'   r4   r5   r6   r7   r   r   r:   r   r;   r<   )r*   r)   r4   
timestampsr   rA   rB   s          r   test_apply_datetime_tz_issuer    s     {{  E ! 
 	% 	3>3>3>J
 
		4BXX&QvX>FJZ8H68,r    r   r   rC   r{   method)ro  rp  r   c                     |dk(  rd}nd}|s6t        j                  t        |      5   t        | |              d d d        y  t        | |              y # 1 sw Y   y xY w)Nr   z>can only concatenate str \(not "int"\) to str|does not supportz4not supported between instances of 'str' and 'float'r  )r'   r  r  r   )r   r  using_infer_stringr  s       r   test_mixed_column_raisesr    s`     OD]]9C0 	"GB!	" 	" 	F	" 	"s   AAr  r   c                     t        d| ggddg      }|j                  d       }|j                  }t        j                  ||       y )Nr   ro   r   r   c                     | j                   S rH   r   rh   s    r   rM   z"test_apply_dtype.<locals>.<lambda>  s
     r    )r   r:   dtypesr;   r<   )r  r   rA   rB   s       r   test_apply_dtyper    sB     
S#J<#s	4BXX'(FyyH68,r    c                    t        t        d      t        dd      d      }|j                         }d }|j                         }|dxx   dz  cc<   t        j                  |      5  |j                  |d      }d d d        t        j                  |       |s| rt        j                  ||       y t        j                  ||       y # 1 sw Y   QxY w)Nd      r  c                 l    | j                   }| j                  dxx   dz  cc<   | j                   |usJ | S )Nro   r   )_mgrr   )r  mgrs     r   r   z!test_apply_mutating.<locals>.func  s4    hhxxs"""
r    ro   r   rj   )r   r   r   r;   assert_cow_warningr:   rP   )using_array_managerusing_copy_on_writewarn_copy_on_writer   df_origr   rB   rA   s           r   test_apply_mutatingr    s    	s%S/:	;BggiG wwyHSMQM			1	2 ($Q'( &(+1 	b'*
b&)( (s   'CCc                      t        ddgddgddgddgd	d
ggddg      } | j                  d d      }t        g g dt              }t	        j
                  ||       y )Nr   r]   r   r\   r   r   r   r   r   r   ro   r   r   c                     g S rH   rI   rh   s    r   rM   z.test_apply_empty_list_reduce.<locals>.<lambda>  r  r    r   r   r  r   )r   r:   r   r  r;   r<   r   s      r   test_apply_empty_list_reducer    sd    	QFQFQFQFQG<sCj	QBXXlX9FBR(7H68,r    c                 6   | dk(  r;t         j                  j                  d      }|j                  j	                  |       t        ddggdz  ddg	      }|j                  d
d d g|       }t        g dg ddg d      }t        j                  ||       y )Nr"   z;numba engine doesn't support list-likes/dict-like callablesr,   r\   r   r   r   r   r   r   c                 "    | j                         S rH   r  rh   s    r   rM   z,test_apply_no_suffix_index.<locals>.<lambda>  s     r    c                 "    | j                         S rH   r  rh   s    r   rM   z,test_apply_no_suffix_index.<locals>.<lambda>  s    AEEG r    r1   )r  r  r  )   r  r  r{   )r   r  r  r   )	r'   r4   r5   r6   r7   r   r:   r;   rP   )r*   r)   r4   pdfrA   rB   s         r   test_apply_no_suffix_indexr    s    {{  P ! 
 	%
aVHqL3*
5CYY02CDVYTF.6UH &(+r    c                     | dk(  rt        j                  d       t        dddgi      }|j                  d | dd	      }t	        ddg      }t        j                  ||       y )
Nr"   z No object dtype support in numbar   aabbbc                     | d   S r   rI   rh   s    r   rM   z/test_apply_raw_returns_string.<locals>.<lambda>  r   r    r   T)r*   r3   rE   )r'   r   r   r:   r   r;   r<   r*   r   rA   rB   s       r   test_apply_raw_returns_stringr    s^    67	C$'	(BXXnV!XFFtUm$H68,r    c                      t        g dd      } d }d|ddg}| j                  |      }t        g dg d	g d
dg d      }t        j                  ||       y )N))r   r   r   )r]   r   r   )r   r   r   )r\   r   r\   )r   r   r   )r   r   r   )att1att2att3r   c                 (    | j                         dz  S r   r  r   s    r   sum_div2z4test_aggregation_func_column_order.<locals>.sum_div2  s    uuw{r    r   r  ro  )g      5@g      %@r  r   )g      2@g      "@r  r  )g      1@g      !@r  r  )r   r  r  ro  r   rq   )r   r  aggsrA   rB   s        r   "test_aggregation_func_column_orderr    si     
	
 )

B 8We,DVVD\F*))	

 2H &(+r    c                 "   | dk(  r;t         j                  j                  d      }|j                  j	                  |       t        g dg dd      }|ddg   j                  d d	| 
      }t        g d      }t        j                  ||       y )Nr"   z2numba engine not supporting duplicate index valuesr,   rP  r   r  ro   c                 @    | j                   d   | j                   d   z   S )Nr   r   )r&  rh   s    r   rM   z+test_apply_getitem_axis_1.<locals>.<lambda>8  s    !&&)affQi' r    r   r2   )r   r]   r\   )
r'   r4   r5   r6   r7   r   r:   r   r;   r<   )r*   r)   r4   r   rA   rB   s         r   test_apply_getitem_axis_1r  /  s    {{  G ! 
 	%	3	4Bc
^!!'a " F i H68,r    c                      d } t        dg di      }t        j                  t        d      5  |j	                  | g       d d d        y # 1 sw Y   y xY w)Nc                 L    t        j                  d       | j                         S )NHello, World!)warningswarnr   rh   s    r   expected_warningzDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningF  s    o&uuwr    ro   r   r  r  )r   r;   assert_produces_warningUserWarningrr   )r  r   s     r   *test_nuisance_depr_passes_through_warningsr  >  sM     
C#	$B		#	#K	G #
 !"# # #s   A

Ac            	         t        ddt        gdt        ddd      t        j                  gdg d      } | j                  t        d	
      }t        t        t        d      }t        j                  ||       | j                  t        d
      }t        t        t        t        d      }t        j                  ||       y )Nr   r.  g      ?i  r   )rl  rm  r   r   r   rj   )
r   r   r   r   r   r:   typer   r;   r<   r   s      r   test_apply_typer  O  s    	Xu%htQ6JBFF/ST
B XXdX#Fvv67H68, XXdX#FFf=>H68,r    c                     t        ddgddgd      }|j                  d      j                  d d|       }t        g t        j
                        }t        j                  ||       y )	Nr   r]   r   r   r  c                 &    t        | d   | d         S )Nro   r   )rp  rh   s    r   rM   z/test_apply_on_empty_dataframe.<locals>.<lambda>d  s    AcFAcF(; r    r2   r   )r   headr:   r   r   r   r;   r<   r  s       r   test_apply_on_empty_dataframer   a  sY    	!Qq!f-	.BWWQZ;!FSFb

+H68,r    c                      t        ddgddgd      } | j                  d       }t        ddggddggd      }t        j                  ||       y )Nr   r]   r   r  c                     | j                   gS rH   )r   rh   s    r   rM   z(test_apply_return_list.<locals>.<lambda>k  s    
 r    r   r   s      r   test_apply_return_listr  i  sS    	!Qq!f-	.BXX*+FAx1vh78H&(+r    ztest, constant)r   r   r   )r]   r]   r]   c                     t        |       }t        |ddgd      }ddd}|j                  |      }t        j                  ||       y )Nro   r   r  )rs   r>   r   r  r  r  )rG  constantdf1rB   aggregationrA   s         r   test_unique_agg_type_is_seriesr  p  sG     D/C8C:XFH x0KWW[!F68,r    c                  6   t        g dg dg dd      } t        g d      }t        j                  | j	                  d      |       | j                  dd      }t        j                  ||       | j                  dd      }t        j                  ||       y )	N)r   r]   r   )r   r]   r   )r   r   r   r   )TTFr   rj   r   )r   r   r;   r<   r   r:   r  s      r   /test_any_apply_keyword_non_zero_axis_regressionr
    sz    	C	DB)*H266q6>84XXe!X$F68,XXeQF68,r    c                  b   t        dg di      } dd}dd}| j                  |ddd      }| d	z   }t        j                  ||       d
}t        j                  t
        |      5  | j                  ||gddd      }d d d        t        ddgddgddggddgddgg      }t        j                  ||       t        j                  t
        |      5  | j                  d|iddd      }d d d        t        g ddg      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   <xY w)NrK   r   r   c                     | |z   |z   S rH   rI   )rK   ro   r   s      r   foo1z.test_agg_mapping_func_deprecated.<locals>.foo1      1uqyr    c                     | |z   |z   S rH   rI   )rK   r   r   s      r   foo2z.test_agg_mapping_func_deprecated.<locals>.foo2  r  r    r   r\   )r   r   z+using .+ in Series.agg cannot aggregate andr  r   r   r   r  r  r   )r]   r   r\   )r   r   )r]   r   )r   rr   r;   rP   r  FutureWarning)r   r  r  rA   rB   r  s         r    test_agg_mapping_func_deprecatedr    s1   	C#	$B VVD!Q!V$FAvH&(+
7C		#	#M	= 1taa01
Q!Q"b"c3Z&&9I,JH &(+ 
	#	#M	= 0dQQ/0SE2H&(+1 10 0s   %DD%D"%D.c                  H   t        t        j                  d      j                  dd      ddg      } t	        j
                  t        d      5  | j                  t        j                        }d d d        t        d	d	d
t              }t	        j                  |       t	        j
                  t        d      5  | j                  t        j                  g      }d d d        t        d	d	d
dg      }t	        j                  ||       y # 1 sw Y   xY w# 1 sw Y   =xY w)Nr   r   r]   r   r   r   zusing DataFrame.stdr  r!  r{   r   zusing Series.stdstdr   )r   r   r   r   r;   r  r  rr   r  r   r   r<   rP   r   s      r   test_agg_stdr    s    	299Q<''1-Sz	BB		#	#M9N	O   Cc*%8H68,		#	#M9K	L "!"s-eW=H&(+   
" "s    D;!DDD!c                      t        g ddt        j                  dgg dd      } g d| _        | j	                  ddi      }| d   j                         }t        j                  ||       y )	Nr  r   r  r  r   )r   r   r   r   r  )r   r   r   r   rr   r  r;   r<   r   s      r   (test_agg_dist_like_and_nonunique_columnsr    s\    	#rvvs!3:NO
B !BJVVS'N#F#w}}H68,r    )r   r  numpyr   r'   pandas.core.dtypes.dtypesr   pandasr}   r   r   r   r   r	   pandas._testing_testingr;   pandas.tests.frame.commonr
   fixturer   r&   r4   
single_cpur*   rD   parametrizerQ   ra   rm   rt   r   r9   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.  r8  rG  rR  rX  r[  rb  rj  rt  r  r  r  r  r  r  r  r  r  r   r  r  r   r  r  r  r  r  r  r  r"  r+  r0  r7  r;  r@  rD  rM  rR  rU  rZ  rb  re  rh  rr  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r
  r  r  r  rI   r    r   <module>r"     s
       6    0 
 
 ,&,,wfkk>T>T"UVW X1, !Q(u., / ),<, $aS)*Y|-NPT,UV,	,
, "''277!34 5	-,, !>?- @-
--,,,"
,&, !Q(G )G !Q(- )-, !Q(> )>,-- 4534
[,-J3G   u.!Q(1 ) / 5 61 ),-,/
-
-	,-D1,h--,-=  u~'789&)u+@AB	
 
QFQF#	$f!laL-I&JK		/		/
,&, /0
- 1
-,'(.,, D"&& 9:	- ;	-" 
	9cAq6]+CD
		3A-(@A
 	!8VS!H-=>
 	!5&#q*:;5"&&"345sI&.HI	
 5"&&"345sI&.HI	

 {	Xy#1v'?@
{	UFC8$45!*&+*& 		o	 	ubff/01	k	##-(-, 
	Hi1BQF0K&LM
	E9.?!Q-H#IJ
	h	3*ZL(QR
	eYaSz*%NOBFF-.sI&.HI	
 BFF-.sI&.HI	
 k*1v1v&#sj*=U0VW	
 +&sQFmj*%=>	
):&;:& 				)*	+&	##-&--$-  A'- (--0 QF 34	- 5	-,",,,,(,,$ 	*,PQ"  

,

,"0J,	C- ,86(B,J!H  01)- 2)-X  01- 2-,  !Q(	B	R		Qx	11	11	111%&- )-  Y/	' 0	'-* 	d3**M NOP#89
 : Q
 CsBFF ;<- =-*6-, -,>-#"-$-, y	)!+EFy	)!A3+?@--
-,>,	-r    