
    OwgK                     8   d dl mZm Z  d dlZd dl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 Zd Zd Zd Zd	 Zej,                  j/                  d
 eg dg dd      g df eg dg dd      d dgf eddgi      dgf eg d ed      d      ddgf eg dg dd      g df e ed      g dg dd      g df eg dg dgg d      ddgfgg d !      d"        Zd# Zd$ Zej,                  j/                  d%d& d' d( d) g      d*        Zd+ Zd, Zd- Z d. Z!d/ Z"d0 Z#d1 Z$d2 Z%d3 Z&d4 Z'd5 Z(ej,                  j/                  d6d7d8g      d9        Z)d: Z*d; Z+d< Z,d= Z-d> Z.ej,                  j/                  d?d7d8g      d@        Z/dA Z0dB Z1dC Z2dD Z3dE Z4dF Z5dG Z6dH Z7dI Z8dJ Z9dK Z:dL Z;ej,                  j/                  dM e jx                          e jx                         j                          e jx                         j{                         g      dN        Z>dO Z?ej,                  j/                  dPd8d7g      dQ        Z@dR ZAej,                  j/                  dS ej                   edT             ej                  d dU       ej                  dVdUdWX       e	j                  g dY      g      dZ        ZFej,                  j/                  d[d\ d dgddUggfd] d dhddUhgfd^ d_d`gfda d dd_ddUd_gfdb d d iddigd diddUiggfg      dc        ZGdd ZHej,                  j/                  dedf dg g      dh        ZIdi ZJej,                  j/                  djdk dl g      ej,                  j/                  d6d7d8g      dm               ZKdn ZLdo ZMdp ZNdq ZOdr ZPej,                  j/                  dsd7d8g      dt        ZQej,                  j/                  dud8 eg dvg dwg eg dxeRy            gd7 e
ddg e	j                  dzd{gdd|g}      ~      gg      d        ZSd ZTd ZUd ZVd ZWej,                  j/                  dsd7d8g      d        ZXd ZYej,                  j/                  dg dg dg      d        ZZej,                  j/                  dg dg dgg dg dgg dg dgg      d        Z[ej,                  j/                  dd7gi fg dd7ifg      d        Z\ej,                  j/                  dddg      d        Z]ej,                  j/                  ddd fdd fdddg      d        Z^ej,                  j/                  dd7d8g      d        Z_ej,                  j/                  de`eaebg      ej,                  j/                  ddddgg      d               Zcy)    )datedatetimeN)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                     t        dt        t        d            dz  dg      j                         } g fd}d}t	        j
                  t        |      5  | j                  d      j                  |       d d d        t        dgdz  dgdz  d	t        j                  dd
d            }t	        j                  d   |       y # 1 sw Y   PxY w)N   
   r   )indexcolumnsc                 (    j                  |        y N)append)groupgroupss    V/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/groupby/test_apply.pystorezFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.store   s    e    7DataFrameGroupBy.apply operated on the grouping columnsmatchr   )r   r   d   r   )r   listrangereset_indextmassert_produces_warningDeprecationWarninggroupbyapplypd
RangeIndexassert_frame_equal)dfr   msgexpected_valuer   s       @r   7test_apply_func_that_appends_group_to_list_without_copyr+      s     
1DrOb01#	>	J	J	LBF DC		#	#$6c	B )


7!!%()#(sRx(ab0IN &)^4) )s   !CCc                 f   g d}t        dg dit        t        j                  |      d            }|j	                  |j
                  j                        j                         }|j	                  |j
                  j                        j                  d       }t        j                  ||       y )Nz2011-05-16 00:00z2011-05-16 01:00z2011-05-16 02:00z2011-05-16 03:00z2011-05-17 02:00z2011-05-17 03:00z2011-05-17 04:00z2011-05-17 05:00z2011-05-18 02:00z2011-05-18 03:00z2011-05-18 04:00z2011-05-18 05:00value	/?ݓ?Q?j?r0   r1   r2   r3   r0   r1   r2   r3   	date_timenamer   c                 "    | j                         S r   idxmaxxs    r   <lambda>z'test_apply_index_date.<locals>.<lambda>L   s    qxxz r   )r   r   r%   to_datetimer#   r   r   r9   r$   r    r'   )using_infer_stringtsr(   expectedresults        r   test_apply_index_daterB   (   s    
B 
 	
  BNN2&[9#
B& zz"((--(//1HZZ&,,-ABF&(+r   c                    g d}t        |D cg c]  }|j                          c}ddg      }g d|d<   | rdnt        }t        g d|d	      }t	        g d
|      }d}t        j                  t        |      5  |j                  dd      j                  d       }d d d        t        j                  |       y c c}w # 1 sw Y   %xY w)Nr-   r   timer   r/   r.   zstring[pyarrow_numpy])z
2011-05-16z
2011-05-17z
2011-05-18dtyper6   )z00:0002:00rH   r   r   r   F
group_keysc                 4    | d   | d   j                            S )NrD   r.   r8   r:   s    r   r<   z.test_apply_index_date_object.<locals>.<lambda>x   s    ai'
 1 1 34 r   )r   splitobjectr   r   r    r!   r"   r#   r$   assert_series_equal)	r>   r?   rowr(   rG   exp_idxr@   r)   rA   s	            r   test_apply_index_date_objectrQ   P   s    
B 
2.CCIIK.8H	IBBwK (:#vE2%fG 1AH
CC		#	#$6c	B 
Fu5;;4

 68,3 /*
 
s   C =$CCc           	         t        g dg ddddg      | rdnd}t        j                  j                  d	d  j                  d	d  gd	d
|g      }d}t	        j
                  t        |      5  j                  j                  D cg c]  }t        |       c}d	      }d d d        j                  fd      }t	        j                  ||       y c c}w # 1 sw Y   9xY w)NarT   brU   rT         ?       @      @      @g      @keydatar\   r]   rE   stringrM   r   float64axiskeys+DataFrame.groupby with axis=1 is deprecatedr   ra   c                 "    j                   dd  S Nr   ilocr;   r(   s    r   r<   z$test_apply_trivial.<locals>.<lambda>   s     r   )r   r%   concatrh   r    r!   FutureWarningr#   dtypesstrr$   r'   r>   rG   r@   r)   r;   gbrA   r(   s          @r   test_apply_trivialrp   }   s     
)3LM
B +HEyy"''!"+rwwqr{3!9eBTUH
7C		#	#M	= =ZZ3AQ3!Z<=XX+,F&(+ 4= =s   1CC
	CCC'c           	         t        g dg ddddg      | rdnd}t        j                  gd	d
|g      }d}t        j                  t
        |      5  j                  j                  D cg c]  }t        |       c}d	d      }d d d        j                  fd      }t        j                  ||       y c c}w # 1 sw Y   9xY w)NrS   rV   r[   r\   r]   rE   r^   rM   r   r_   r`   rc   r   T)ra   rJ   c                     S r    ri   s    r   r<   z)test_apply_trivial_fail.<locals>.<lambda>   s     r   )r   r%   rj   r    r!   rk   r#   rl   rm   r$   r'   rn   s          @r   test_apply_trivial_failrt      s    	)3LM
B +HEyy"bE0BCH
7C		#	#M	= NZZ3AQ3!ZMNXXl#F&(+ 4N Ns   C1C 

C CCzdf, group_names)r   r   r         )rT   rT   rT   rU   crT   rU   r   ru   rv   r   r   r   r   )r   r   r   r   r   rT   )r   r   r   ru   ru   r   r   ru      ru   r   ru   rv   r   ru   rv   )            r{   	   )rT   two
aaabbbcccc)
rv   r}   rv   r   r~   ru   r   r   r~   r}   )
r}   r   ru   ru   ru   r   r{   r   ru   r{   )rT   BCrT   rU   rw   )ru   ru   rv   rE   )GH2936zGH7739 & GH10519GH10519GH2656GH12155GH20084GH21417)idsc                   	 g 		fd}	fd}	fd}	fd}	fd}|||||fD ]V  }	d d = d}t        j                  t        |      5  | j                  dd	
      j	                  |       d d d        	|k(  rVJ  y # 1 sw Y   xY w)Nc                 Z    j                  | j                         | j                         S r   )r   r6   copyr   namess    r   f_copyz/test_group_apply_once_per_group.<locals>.f_copy   s    UZZ zz|r   c                 >    j                  | j                         | S r   r   r6   r   s    r   f_nocopyz1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZZ r   c                 <    j                  | j                         yNr   r   r   s    r   f_scalarz1test_group_apply_once_per_group.<locals>.f_scalar   s    UZZ r   c                 <    j                  | j                         y r   r   r   s    r   f_nonez/test_group_apply_once_per_group.<locals>.f_none   s    UZZ r   c                 Z    j                  | j                         t        dgdgd      S )Nr   rx   )r   r6   r   r   s    r   f_constant_dfz6test_group_apply_once_per_group.<locals>.f_constant_df   s'    UZZ s!-..r   r   r   rT   FrI   )r    r!   r"   r#   r$   )
r(   group_namesr   r   r   r   r   funcr)   r   s
            @r   test_group_apply_once_per_groupr      s    N E


!/
 8V]C $!HG''(:#F 	:JJsuJ-33D9	:###$	: 	:s   	#A>>B	c                 >   d}t        g dg ddg d      }d}t        j                  t        |      5  |j	                  dd	
      j                  d        d d d        | j                         j                  j                  d      }||k(  sJ y # 1 sw Y   :xY w)Nru   )r   r   r   r   r   r   r   r   )02468101214)group_by_columntest_columnr   r   r   r   FrI   c                     t        d      S )Nfunction_called)printr(   s    r   r<   z2test_group_apply_once_per_group2.<locals>.<lambda>   s    u./ r   r   )	r   r    r!   r"   r#   r$   
readouterroutcount)capsysr@   r(   r)   rA   s        r    test_group_apply_once_per_group2r      s     H	7F	
 :
B DC		#	#$6c	B 



$
7==/	


  $$**+<=FX
 
s   $BBc                     t        g dt        d      d      } d }d }d}t        j                  t        |      5  | j                  dd	
      j                  |      }d d d        t        j                  t        |      5  | j                  dd	
      j                  |      }d d d        t        j                         y # 1 sw Y   fxY w# 1 sw Y   ,xY w)N)r   r   r   rv   )ArU   c                     | S r   rs   r   s    r   slowz,test_apply_fast_slow_identical.<locals>.slow  s    r   c                 "    | j                         S r   r   r   s    r   fastz,test_apply_fast_slow_identical.<locals>.fast  s    zz|r   r   r   r   FrI   )r   r   r    r!   r"   r#   r$   r'   )r(   r   r   r)   fast_dfslow_dfs         r   test_apply_fast_slow_identicalr     s     
q2	3B DC		#	#$6c	B @**SU*399$?@		#	#$6c	B @**SU*399$?@ '7+@ @@ @s   #C#CCCr   c                     | S r   rs   r:   s    r   r<   r<     s    ! r   c                     | d d  S r   rs   r:   s    r   r<   r<     s
    !A$ r   c                 &    | j                  d      S )NFdeepr   r:   s    r   r<   r<     s    !&&e&$ r   c                 &    | j                  d      S )NTr   r   r:   s    r   r<   r<      s    !&&d&# r   c                    t        g dg dg dd      }d}t        j                  t        |      5  |j	                  dd	      j                  |       }d d d        t        j                  |       y # 1 sw Y    xY w)
Nr   ru   ru   ru   r   ru   rv   r}   )r~   r   r   r{   )grT   rU   r   r   r   FrI   r   r    r!   r"   r#   r$   r'   )r   r(   r)   rA   s       r   5test_groupby_apply_identity_maybecopy_index_identicalr     sm     
L|L	MB
CC		#	#$6c	B ?CE288>?&"%? ?s   #A55A>c                  .   t        t        j                  j                  d      j	                  d      g dd      } | j                  d d      j                  }| j                  }t        j                  ||       t        dg d	i      } | j                  d
z  | d<   | j                  d      j                         j                         j                  }| j                  dd      j                         j                  }t        j                  ||       y )Nru   r   oner   r   threer   r   foo1foo2c                     | S r   rs   r:   s    r   r<   z-test_apply_with_mixed_dtype.<locals>.<lambda>9  s     r   r   rd   c1)r   ru   r   r   r{   rX   c2Fas_index)r   nprandomdefault_rngstandard_normalr$   rl   r    rN   r   r#   meanr   r   )r(   rA   r@   result1result2s        r   test_apply_with_mixed_dtyper   1  s    	II))!,<<Q?@	

B XXkX*11FyyH68, 
D/*	+Buus{BtHjj##%11366Gjjj.33588G7G,r   c                     t        g dg dt        d      d      } | j                  dd      }| j                  dd      }|j                  d	      j                  }|j                  d	      j                  }t        g d
      }t        j                  ||       t        j                  ||       d}t        j                  t        |      5  |j                  d       j                  }d d d        t        j                  t        |      5  |j                  d       j                  }d d d        t        j                  g d      }	g d}
t        j                  |
dd g      }t        j                  |       t        j                  |	       t        t        d            }t        dd	gd	dgddgddgd	dgg|      } d}t        j                  t        |      5  | j                  ddd      j                  d       j                  }d d d        t        j                  |       y # 1 sw Y   ExY w# 1 sw Y   xY w# 1 sw Y   :xY w)N)rU   rU   rT   rw   rT   rU   )r   ru   r   r   rv   r   r   )item_iduser_idrD   r   Tr   Fru   )r   r   ru   r}   r   r   c                 $    | j                  d      S Nru   headr:   s    r   r<   z-test_groupby_as_index_apply.<locals>.<lambda>Z  s    AFF1I r   c                 $    | j                  d      S r   r   r:   s    r   r<   z-test_groupby_as_index_apply.<locals>.<lambda>\  s    AFF1I r   ))r   r   )r   ru   r   r   ru   r}   )r   r   r   ru   )ru   r   )rv   r}   r   abcder   rv   r}   r~   r   r   )r   rJ   c                     | S r   rs   r:   s    r   r<   z-test_groupby_as_index_apply.<locals>.<lambda>k  s    a r   )r   r   r#   r   r   r   r    assert_index_equalr!   r"   r$   r   from_tuplesr   )r(   g_asg_not_asres_as
res_not_asexpr)   res_as_applyres_not_as_applyexp_not_as_applytpexp_as_applyindress                 r   test_groupby_as_index_applyr   E  s   	5)!H	

B ::i$:/Dzz)ez4HYYq\Fq!''J

C&#&*c*
CC		#	#$6c	B =zz"56<<=		#	#$6c	B E#>>*=>DDE
 "--.NO	)B))"Y4EFL,5*,<=
W
C	QFQFQFQFQF;3	GB
CC		#	#$6c	B WjjUuj=CCKPVVW#s#'= =E EW Ws$   H/H<!/I	/H9<I	Ic                 p   | j                  ddg      }d }d }d }d}t        j                  t        |      5  |j	                  |      }d d d        j
                  j                  dk(  sJ d}t        j                  t        |      5  |j	                  |      }d d d        j
                  j                  dk(  sJ d}t        j                  t        |      5  |j	                  |      }d d d        j
                  j                  d	k(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   =xY w)
Nr   r   c                 H    | j                         }d|j                  _        |S Nstat)describer   r6   r   rA   s     r   descz.test_apply_concat_preserve_names.<locals>.descr  s    !"r   c                 d    | j                         }d|j                  _        |d t        |        }|S r   )r  r   r6   lenr  s     r   desc2z/test_apply_concat_preserve_names.<locals>.desc2w  s/    !"#e*%r   c                 ~    | j                         }dt        |       d|j                  _        |d t        |        }|S )Nstat_d)r  r  r   r6   r  s     r   desc3z/test_apply_concat_preserve_names.<locals>.desc3~  s>    ! $CJq>2#e*%r   r   r   )r   r   r  )r   r   N)r#   r    r!   r"   r$   r   r   )	three_groupgroupedr  r  r  r)   rA   r   result3s	            r    test_apply_concat_preserve_namesr  o  s   !!3*-G
 DC		#	#$6c	B %t$%<<!3333
CC		#	#$6c	B '--&'=="4444
CC		#	#$6c	B '--&'=="2222% %
' '
' 's#   DD D,D D),D5c                  t   d } t        dd      }t        t        j                  j	                  d      j                  d      |      }|j                  d d	      }|j                  |       }t        |t              sJ t        |d
      rJ t        j                  |j                  |j                         y )Nc                     t        j                  d      5  t        j                  |       }d d d        t        | | | j	                         z
  d      S # 1 sw Y   )xY w)Nignore)invalid)r.   demeanedlogged)r   errstatelogr   r   )piecer  s     r   fz%test_apply_series_to_frame.<locals>.f  sR    [[* 	#VVE]F	#)=P
 	
	# 	#s   AAz1/1/2000r   )periodsru   r   c                     | j                   S r   monthr:   s    r   r<   z,test_apply_series_to_frame.<locals>.<lambda>  
    177 r   FrI   r6   )r	   r   r   r   r   r   r#   r$   
isinstancer   hasattrr    r   r   )r  drr?   r  rA   s        r   test_apply_series_to_framer"    s    
 
Z	-B			%%a(88=R	HBjj*uj=G]]1Ffi(((vv&&&&,,1r   c                     | j                  ddg      d   j                  t              }|j                  j                  d d dk(  sJ y )Nr   r   r   ru   r   r   )r#   r$   r  r   r   )r(   rA   s     r    test_apply_series_yield_constantr%    sC    ZZc
#C(..s3F<<bq!Z///r   c                    d}t        j                  t        |      5  | j                  ddg      j	                  t
              }d d d        t        t              sJ |j                  J | j                  ddg      ddg   j	                  t
              }t        |t              sJ |j                  J y # 1 sw Y   uxY w)Nr   r   r   r   r   D)	r    r!   r"   r#   r$   r  r  r   r6   )r(   r)   rA   s      r   test_apply_frame_yield_constantr(    s    
CC		#	#$6c	B 3S#J'--c23ff%%%;;ZZc
#S#J/55c:Fff%%%;;3 3s   'B99Cc                    | j                  ddg      }d}t        j                  t        |      5  |j	                  t
              }d d d        |j                         d   }t        j                  j                  |j                         t        j                  |j                  |j                         y # 1 sw Y   qxY w)Nr   r   r   r   r   )r#   r    r!   r"   r$   r  r   r   r   assert_numpy_array_equalvaluesr(   r  r)   rA   r@   s        r   test_apply_frame_to_seriesr-    s    jj#s$G
CC		#	#$6c	B $s#$}}s#H&,,7x?	$ $s   B77C c                    | j                  ddgd      }d}t        j                  t        |      5  |j	                  t
              }d d d        |j                         j                  dt        j                  i      j                  d	      }t        j                  j                  |j                         t        j                  |j                  |j                         y # 1 sw Y   xY w)
Nr   r   Fr   r   r   r   rE   r'  )r#   r    r!   r"   r$   r  r   renamer   nandropr   r   r*  r+  r,  s        r   )test_apply_frame_not_as_index_column_namer2    s    jj#sej4G
CC		#	#$6c	B $s#$}}%%sBFFm%<AA#ANH&,,7x?$ $s   C&&C/c                     d } fd}t        t        j                  j                  d      j	                  ddd      t        j                  j                  d      j	                  ddd      t        j                  j                  d      j                  d      d      d}t        j                  t        |	      5  j                  d
      j                  |       }d d d        j                  d
      d   j                  |      }t        j                  |d       |j                  dk(  sJ y # 1 sw Y   VxY w)Nc                 |    | j                  d      d   j                         j                         j                  d d S )Nr   r   ru   )r#   sumsort_valuesrh   r   s    r   transz-test_apply_frame_concat_series.<locals>.trans  s5    }}S!#&**,88:??CCr   c                     | j                  j                  | j                        d         }|j                         j	                         j
                  d d S )Nr   ru   )r#   reindexr   r5  r6  rh   )r   r  r(   s     r   trans2z.test_apply_frame_concat_series.<locals>.trans2  sE    --

5;; 7 <={{}((*//33r   ru   r   r~     r   r   r   r   r   r   r   F)check_names)r   r   r   r   integersr   r    r!   r"   r#   r$   rN   r6   )r7  r:  r)   rA   r   r(   s        @r   test_apply_frame_concat_seriesr?    s   D4 
&&q)221a>&&q)221a>&&q)99$?	

B DC		#	#$6c	B .C&&u-.
**S/#

$
$V
,C63E:;;#	. .s   >!D44D=c                     | j                  d d      }|j                  d       }|j                  d       }t        j                  ||       y )Nc                     | j                   S r   r  r:   s    r   r<   z&test_apply_transform.<locals>.<lambda>  r  r   FrI   c                     | dz  S r   rs   r:   s    r   r<   z&test_apply_transform.<locals>.<lambda>  s
    QU r   c                     | dz  S r   rs   r:   s    r   r<   z&test_apply_transform.<locals>.<lambda>  s
    1q5 r   )r#   r$   	transformr    rN   )r?   r  rA   r@   s       r   test_apply_transformrE    sC    jj*uj=G]]?+F  1H68,r   c                     | j                  d d g      }d }|j                  |      }|D ].  \  }}t        j                  |j                  |    ||             0 y )Nc                     | j                   S r   yearr:   s    r   r<   z,test_apply_multikey_corner.<locals>.<lambda>  s
     r   c                     | j                   S r   r  r:   s    r   r<   z,test_apply_multikey_corner.<locals>.<lambda>  s
    177 r   c                 *    | j                  d      dd  S )Nr   r6  r   s    r   r  z%test_apply_multikey_corner.<locals>.f  s      %bc**r   )r#   r$   r    r'   loc)tsframer  r  rA   r\   r   s         r   test_apply_multikey_cornerrP    s[    oo/1BCDG+ ]]1F 9
U
fjjoqx89r   rJ   TFc                    t        g dt        d      d      }d}t        j                  t        |      5  |j                  d|       j                  d       }d d d        |j                  g d	      }| r,t        j                  g d
|j                  gdd g      |_
        t        j                  |       y # 1 sw Y   axY w)N)	r   r   r   ru   ru   ru   rv   rv   rv   r   )r\   r.   r   r   r\   rI   c                      | j                   d d S r   rg   r:   s    r   r<   z'test_apply_chunk_view.<locals>.<lambda>  s    !&&QSRS* r   )r   r   rv   r}   r   r   )r   r   ru   ru   rv   rv   r   )r   r   r    r!   r"   r#   r$   taker   from_arraysr   r'   )rJ   r(   r)   rA   r@   s        r   test_apply_chunk_viewrU    s     
6qJ	KB
CC		#	#$6c	B VEj9??@TUVww)*H#//0
 &(+V Vs   $B;;Cc            	          t        g dg dt        ddd      d      } | j                  ddg      }d}t        j                  t
        |	      5  |j                  d
        d d d        y # 1 sw Y   y xY w)N)
r   r   r   r   r   r   ru   ru   ru   ru   )
r   r   r   r   r   r   r   r   r   r   r   )r6   name2r.   r6   rX  r   r   c                 (    | j                  dd      S )Nr.   TinplacerM  r:   s    r   r<   z4test_apply_no_name_column_conflict.<locals>.<lambda>  s    gt D r   )r   r   r#   r    r!   r"   r$   )r(   r  r)   s      r   "test_apply_no_name_column_conflictr\    st    	231b"%	

B jj&'*+G
CC		#	#$6c	B FDEF F Fs   A++A4c                     t        g dt        j                  g dd      t        j                  dd      d      } d }d}t	        j
                  t        |	      5  | j                  d
d      j                  |      }d d d        | j                         }t        j                  g dd      |d<   t	        j                  |       y # 1 sw Y   KxY w)NrW   rW   rW   rX   rX   rX   r   ru   rW         @r
  rw   vc                     | d   }||j                         z
  |j                         |j                         z
  z  | d<   | S Nra  v2minmaxr   ra  s     r   r  z#test_apply_typecast_fail.<locals>.f'  9    #J1557{quuw'89dr   r   r   r
  FrI           g      ?r   rd  )r   r   tilearanger    r!   r"   r#   r$   r   r'   )r(   r  r)   rA   r@   s        r   test_apply_typecast_failrn    s    	/!,3$	

B
 DC		#	#$6c	B <CE288;< wwyHWW]A.HTN&(+< <s   #C		Cc                     t        j                  g dg dg      } t        g dt        j                  g dd      t        j
                  dd      d| 	      }d
 }d}t        j                  t        |      5  |j                  dd      j                  |      }d d d        |j                         }t        j                  g dd      |d<   t        j                  |       y # 1 sw Y   KxY w)N)r   r   r   r   r   r   r|   r^  r   ru   rW   r_  r`  r   c                     | d   }||j                         z
  |j                         |j                         z
  z  | d<   | S rc  re  rh  s     r   r  z%test_apply_multiindex_fail.<locals>.fA  ri  r   r   r   r
  FrI   rj  rd  )r   rT  r   r   rl  rm  r    r!   r"   r#   r$   r   r'   )r   r(   r  r)   rA   r@   s         r   test_apply_multiindex_failrq  6  s    ""$68J#KLE	/!,3$	

 
B
 DC		#	#$6c	B <CE288;< wwyHWW]A.HTN&(+< <s   9#C&&C/c                     | j                  d d      j                  d       }| dz  }t        j                  ||       y )Nc                     | j                   S r   rH  r:   s    r   r<   z#test_apply_corner.<locals>.<lambda>Q  s
    qvv r   FrI   c                     | dz  S r   rs   r:   s    r   r<   z#test_apply_corner.<locals>.<lambda>Q  s    QRUVQV r   ru   )r#   r$   r    r'   )rO  rA   r@   s      r   test_apply_cornerru  P  s9    __-%_@FFWF{H&(+r   c                     t        g dg dg dd      } d }d }d}t        j                  t        |      5  | j	                  d	      j                  |      }d d d        t        j                  t        |      5  | j	                  d	      j                  |      }d d d        t        j                         y # 1 sw Y   dxY w# 1 sw Y   ,xY w)
N)r   r      i,  )rT   rU   rw   rw   r   )id_fieldcategoryr.   c                 j    | j                   d   dk(  r| j                         S | | j                  dk(     S Nr   r   rw   )shaper   ry  r:   s    r   filt1z&test_apply_without_copy.<locals>.filt1b  s0    771:?668OQZZ3&''r   c                 N    | j                   d   dk(  r| S | | j                  dk(     S r{  )r|  ry  r:   s    r   filt2z&test_apply_without_copy.<locals>.filt2h  s*    771:?HQZZ3&''r   r   r   rx  r   )r]   r}  r  r)   r@   rA   s         r   test_apply_without_copyr  V  s     ,,!	
D(( DC		#	#$6c	B 9<<
+11%89		#	#$6c	B 7j)//67&(+	9 97 7s   !B==!C	=C	Ctest_seriesc                 4   t        ddgddgddggddgg d      }| rn|j                  d      d   }|j                  dd	
      j                  d       }|j	                         }|j	                         }t        j                  ||       y d}t        j                  t        |      5  |j                  dd	      j                  d       }d d d        j                  d      }|j                  d      }t        j                  ||       y # 1 sw Y   BxY w)Nr;   poXY)r   ru   ru   r   r   r   F)levelrJ   c                     | S r   rs   r:   s    r   r<   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>~  s     r   r   r   rI   c                     | S r   rs   r:   s    r   r<   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>      q r   )r   	set_indexr#   r$   
sort_indexr    rN   r!   r"   r6  r'   )r  r(   serrA   r@   r)   s         r   *test_apply_with_duplicated_non_sorted_axisr  v  s	    

sc3Z#s,sCj	
B ll3$17==kJ ""$>>#
vx0G''(:#F 	JZZZ6<<[IF	J ##C(>>#&
fh/	J 	Js   )$DDc                      g d} g d}t        ddgdz  | d|      }t        | |d	      }d
 }|j                  dd      j                  j	                  |      }t        j                  ||       y )Nr   r   r   ru   ru   Group1Group2ru   r   r.   r   r.   r   r6   c                     | j                  t        j                  | j                  j	                         | j                  j                         dz               S rf   )r9  r   rm  r   rf  rg  r:   s    r   reindex_helperz1test_apply_reindex_values.<locals>.reindex_helper  s5    yy177;;=!''++-!2CDEEr   r   FrI   )r   r   r#   r.   r$   r    rN   )r+  indicesr(   r@   r  rA   s         r   test_apply_reindex_valuesr    sr    
 FG	h1A5Gw	WBfG':HF ZZEZ288>>~NF8V,r   c                     d} t         j                  j                  d      j                  dd|       }t	        |t         j                  j                  d      j                  |       g d| dz  z  d      }|j                  d	d
      }d }d}t        j                  t        |      5  |j                  |      }d d d        dv sJ y # 1 sw Y   xY w)Nr;  ru   r   r   )size)foobarbazquxr}   )r\   value1value2r\   FrI   c                     | d   dz  | d<   | S )Nr  ru   value3rs   r   s    r   r  z"test_apply_corner_cases.<locals>.f  s    kAo(r   r   r   r  )r   r   r   r>  r   r   r#   r    r!   r"   r$   )Nlabelsr(   r  r  r)   rA   s          r   test_apply_corner_casesr    s     	AYY""1%..q#A.>F	ii++A.>>qA2a1f=	

B jj5j1G DC		#	#$6c	B "q!"v" "s   *CCc                     t        ddgdgdz  ddgd      } d}t        j                  t        |      5  | j	                  d	g      j                  d
       }d d d        t        j                  | j                        | _        d}t        j                  t        |      5  | j	                  d	g      j                  d       }d d d        t        j                  d   d          t        g dg dt        j                  d      gdz  d      } d }d}t        j                  t        |      5  | j	                  d      j                  |      d   }d d d        | j                  }| j                  |_        t        j                  ||       d }t        g dg dg dg dd      }|j                         }t        j                  |j                        |_        d}t        j                  t        |      5  |j	                  d      j                  |      j                   }d d d        t        j                  t        |      5  |j	                  d      j                  |      j                   }d d d        t        j                  ||       y # 1 sw Y   ?xY w# 1 sw Y   xY w# 1 sw Y   [xY w# 1 sw Y   xY w# 1 sw Y   SxY w)Nr   ru   z
2017-03-02r  inf)NumberDateStrr   r   r  c                      | j                   d   S r   rg   r:   s    r   r<   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    !&&) r   c                      | j                   d   S r   rg   r:   s    r   r<   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    q	 r   r  )r         )r  3r   z12:31:22rv   )r   r   Tc                 (    | j                   d   dg   S )Nr   r   rg   r  s    r   get_Bz8test_apply_numeric_coercion_when_datetime.<locals>.get_B  s    vvay#r   r   r   c                    t        g dt              }dt        | j                        v r5t	        | | j                  dk(     j
                  j                  d         |d<   dt        | j                        v rjt	        | | j                  dk(     j
                  j                  d         |d<   t	        | | j                  dk(     j                  j                  d         |d<   |S )	N)p1p2useTime)r   rG   step1r   r  step2r  r  )r   rM   r   Staterm   Machiner+  oTime)toolr   s     r   predictionsz>test_apply_numeric_coercion_when_datetime.<locals>.predictions  s    2&Ad4::&&Dw!67??FFqIJCId4::&&Dw!67??FFqIJCI djjG&;!<!B!B!I!I!!LMC	N
r   )r   r   r   r   )r  r  r  r  ) z2016-09-19 05:24:33r  z2016-09-19 23:59:04)2336L36Rr  )Keyr  r  r  r  )r   r    r!   r"   r#   r$   r%   r=   r  rN   	Timestampr   r   r   r   r  r  )r(   r)   r@   rA   r  r  df1df2s           r   )test_apply_numeric_coercion_when_datetimer    sl    
q6L>A#5uenM
B DC		#	#$6c	B E::xj)//0CDEnnRWW%BG
CC		#	#$6c	B CXJ'--.ABC6%=(5/: 
!2",,z:R9SVW9WX
B  DC		#	#$6c	B 3C&&u-c23ttHTTHN68, '9K2		
C ((*Csyy)CI
CC		#	#$6c	B <;;u%++K8;;<		#	#$6c	B :U#))+699:8V,aE EC C3 36< <: :s;   #J!#J"2$J/=+J<+KJ"J,/J9<KKc                     t        g dt        j                  d      gdz  d      } | j                  | j                  z
  | d<   d}t	        j
                  t        |      5  | j                  d      j                  d	       }d d d        t        g dt        j                  d
d      gdz  t        j                  d      gdz  d      j                  d      }t	        j                  |       y # 1 sw Y   oxY w)Nr<  z2017-02-01 00:00:00rv   )clientidr   time_delta_zeror   r   r  c                 ~    t        | j                  j                         | j                  j                         d      S )N)clientid_ager   )r   r  rf  r   )ddfs    r   r<   z?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>  s/    !$!4!4!8!8!:CLLDTDTDVW r   r   r'  )r  r  r   )r   r   
datetime64r   r    r!   r"   r#   r$   timedelta64r  r'   r(   r)   rA   r@   s       r   -test_apply_aggregating_timedelta_and_datetimer    s     
''<=>B	

B KK"++5B
CC		#	#$6c	B 
J'--

 '^^As34q8]]#89:Q>	
 i
  &(+
 
s   !"C11C:c                  "   ddgddgddgddgddgg} t        | d	d
gt        j                  dd            }|j                  d	      j	                         }t        g dg dd      }|j                  d	d       t        j                  ||       y )Nr   r   r   r  r  r   (   2   NameValuez
2020-09-01z
2020-09-05r  r<  )r   r  Z   )r  r  TrZ  )r   r%   
date_ranger#   r5  r  r    r'   )r]   r(   rA   r@   s       r    test_apply_groupby_datetimeindexr    s     "IRy3)c2Yb	BD	vw'r}}\</X
B ZZ##%F/LIJHvt,&(+r   c                     t        dt        d      D  cg c]  } t        j                          c} d      }d }d }d}t	        j
                  t        |      5  |j                  dg	      j                  |      }d d d        t        d
didg      }d|j                  _
        d}t	        j
                  t        |      5  |j                  dg	      j                  |      }d d d        t        t        j                  ddd      j                  d      dddg      }d|j                  _
        t	        j                  |       t	        j                  |       y c c} w # 1 sw Y   xY w# 1 sw Y   xY w)Nr   r   rx   c                     t        ddi      S )Nrw   ru   r   batchs    r   func_with_no_datez.test_time_field_bug.<locals>.func_with_no_date.  s    sAhr   c                 4    t        t        ddd      dd      S )N  r   ru   rU   rw   )r   r   r  s    r   func_with_datez+test_time_field_bug.<locals>.func_with_date1  s    HT1a0q9::r   r   r   rT   byrw   ru   r   r  nsr  )r   r   r   nowr    r!   r"   r#   r$   r   r6   r%   r  as_unitr'   )	nnr(   r  r  r)   dfg_no_conversiondfg_no_conversion_expecteddfg_conversiondfg_conversion_expecteds	            r   test_time_field_bugr  &  sZ    
59!ER(,,.!EF	GB ; DC		#	#$6c	B JJJ3%J0667HIJ!*C8A3!?,/$$)
CC		#	#$6c	B Du-33NCD'll4A&..t41=aS *-!!&+-GH.*AB/ "FJ JD Ds   E"
#E'#E3'E03E<c                      t        g dg dg dg dd      } | j                  ddg      } | j                  ddgd	      }d
 |j                  fd       y )N)rT   rT   rT   rU   rU   rU   rT   rT   rT   rU   rU   rU   )rw   rw   r
  r
  r
  erw   rw   r
  r
  r
  r  )g?ru   rv   r}   r~   r   ru   r}   r   r{   r   ru   )gffffff@r{   r   r         r{   r   r   r~   r}   rv   )group1group2weightr.   r  r  T)r  sortc                 T    t        j                  | |z        j                  d      }|S )Nrv   )r   arrayrepeat)r.   r  r   s      r   noddyz7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyS  s$    hhuv~&--a0
r   c                 >     | j                   | j                        S r   )r.   r  )r;   r  s    r   r<   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>]  s    uQWWahh7 r   )r   r  r#   r$   )r(   
df_groupedr  s     @r   (test_gb_apply_list_of_unequal_len_arraysr  F  s`    	RR<>		

B 
x*	+B8X"6TBJ 78r   c                     t        g dg dd      } d }d}t        j                  t        |      5  | j	                  d      j                  |      }d d d        t               }t        j                  |       y # 1 sw Y   *xY w)Nrz   )r{   r   r}   r~   )r   random_varsc                      y r   rs   r:   s    r   	test_funcz.test_groupby_apply_all_none.<locals>.test_funce  s    r   r   r   r   r   )test_dfr  r)   rA   r@   s        r   test_groupby_apply_all_noner  `  sv     <MNG DC		#	#$6c	B <*00;<{H&(+< <s   !A==Bc                     t        g dg dd      } t        g dg dd      }d }d}t        j                  t        |      5  | j	                  d      j                  |      }d d d        t        j                  t        |      5  |j	                  d      j                  |      }d d d        t        j                  d	d	gd
dggdd g      }t        j                  ddgd	dggdd g      }t        d	d	gd
dgd|      }t        ddgd	dgd|      }	t        j                  |       t        j                  |	       y # 1 sw Y   xY w# 1 sw Y   xY w)N)r   r   r   ru   )r   r   ru   rv   )r   varsr   c                 J    | j                   d   dk  ry | j                  ddg   S )Nr   ru   rW  )r|  rh   r:   s    r   r  z0test_groupby_apply_none_first.<locals>.test_funct  s&    771:>vvq"gr   r   r   r   r   r   ru   r   rv   r   )	r   r    r!   r"   r#   r$   r   rT  r'   )
test_df1test_df2r  r)   r   r   index1index2	expected1	expected2s
             r   test_groupby_apply_none_firstr  o  sI   L,GHHL,GHH
 DC		#	#$6c	B >""8,229=>		#	#$6c	B >""8,229=>##aVaV$4Xt<LMF##aVaV$4Xt<LMFaVaV<FKIaVaV<FKI'9-'9-> >> >s   !E	!EEEc            	      r   t        ddgddgd      } | j                  d      }d}t        j                  t        |      5  |j                  d	       }d d d        t        dgd
t        j                  ddgdggdd g      j                  d            }t        j                  |       y # 1 sw Y   ZxY w)Nr   r   filledempty)r.   r   r   r   r   c                 ,    | | j                   dk7     d   S )Nr   r.   )r.   r   s    r   r<   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>  s    E%++2B,CG,L r   r.   r   )r6   r   )r   r#   r    r!   r"   r$   r   r   from_productr1  rN   )r(   r   r)   rA   r@   s        r   %test_groupby_apply_return_empty_chunkr    s    	aVx.AB	CBZZ F
CC		#	#$6c	B NLMN	
%%x 1#&wo

$w-H 68,N Ns   B--B6c                  0   t        dj                         g dg dd      } | j                  dd      }|j                  d       }t        g d	g d
d      }t	        j
                  ||       |j                  d       }t	        j
                  ||       y )Nza a bry   r}   r   r~   r<  r   FrI   c                 (    | | j                         z  S r   r5  r:   s    r   r<   z-test_apply_with_mixed_types.<locals>.<lambda>  s    1quuw; r   )gUUUUUU?gUUUUUU?r   )皙?g333333?rW   r   r   c                 (    | | j                         z  S r   r  r:   s    r   r<   z-test_apply_with_mixed_types.<locals>.<lambda>  s    q1557{ r   )r   rL   r#   rD  r    r'   r$   )r(   r   rA   r@   s       r   test_apply_with_mixed_typesr    sy    	yyI	JB


35
)A[[./F4?KLH&(+WW*+F&(+r   c                  n   t        dddgit        ddg            } d}t        j                  t        |      5  | j                  d      j                  d       }d d d        t        t        dg      t        dg      gt        ddgd            }t        j                  |       y # 1 sw Y   PxY w)	NrT   r   ru   r   r   r   c                     | j                   S r   r   r  s    r   r<   z*test_func_returns_object.<locals>.<lambda>  s
     r   r5   )	r   r   r    r!   r"   r#   r$   r   rN   r  s       r   test_func_returns_objectr    s    	C!Q=q!f	6B
CC		#	#$6c	B :C&&'89:uaSz5!:.eQF6MNH68,	: :s   "B++B4group_column_dtlikec                 <   t        dg| gd      }d}t        j                  t        |      5  |j	                  d      j                  d       }d d d        |rdnd}t        d	gt        dg|d
      dg      }t        j                  |       y # 1 sw Y   CxY w)Nr  rx   r   r   rT   c                      t        dgdg      S )Nspam*   r   r  r:   s    r   r<   z+test_apply_datetime_issue.<locals>.<lambda>  s    1M r   r^   rM   r#  rF   r$  rE   )r   r    r!   r"   r#   r$   r   r'   )r   r>   r(   r)   rA   rG   r@   s          r   test_apply_datetime_issuer%    s     
%(;'<=	>B
CC		#	#$6c	B OC&&'MNO +HE&5%C#HSURVWH&(+O Os   "BBc            
      *   t        t        j                  d      t        j                  d      t        j                  d      t        j                  d      t        j                  d      dddddddddddddd      } d }d}t        j                  t
        |	      5  | j                  d
      j                  |      d   }d d d        t        dgt        j                  dgd
      d      }t        j                  |       y # 1 sw Y   ExY w)Nz2015-02-24 00:00:00)r   r   ru   rv   r}   zsome UA stringzanother UA string17661101)day	userAgentuserIdc           	          t        | j                         D ci c]#  \  }}||j                         j                  d   % c}}      S c c}}w r   )r   itemsvalue_countsr   )r(   rw   ss      r   most_common_valueszEtest_apply_series_return_dataframe_groups.<locals>.most_common_values  s<    
K1q!..*0033KLLKs   (A	
r   r   r(  r*  z
2015-02-24r5   r  )r   r%   r  r    r!   r"   r#   r$   r   DatetimeIndexrN   )tdfr/  r)   rA   r@   s        r   )test_apply_series_return_dataframe_groupsr2    s   
 << 56<< 56<< 56<< 56<< 56 $##&# 	
C4M DC		#	#$6c	B HU#))*<=hGH	B,,l^%HxH 68,H Hs   !$D		Dry  c           
      ,   ddgdz  }| r:t        j                  |g d      }t        j                  g dg dd      }g d}nt        ddgd	      }d
dg}t	        ||d|      }t	        t        j                  d      |t        t        d            t        t        d            d      j                  ddg      }|j                  dd      j                  d       }t        j                  ||       |j                  j                  ddgk(  sJ y )Nr   ru   r~   ry   )
categoriesr   )r4  r6   )r     r   r5   r  r5  )r   r'  r   r   )r   r   r   r'  r   F)observedc                 "    | j                         S r   r  r:   s    r   r<   z-test_apply_multi_level_name.<locals>.<lambda>  s    QUUW r   )r%   CategoricalCategoricalIndexr   r   r   rm  r   r   r  r#   r$   r    r'   r   r   )ry  rU   expected_indexexpected_valuesr@   r(   rA   s          r   test_apply_multi_level_namer<    s     
A
ANN13,,Y9SVW%1vC0r(O4NH 
iim!$uRy/U2YP
ic
  ZZeZ,223DEF&(+88>>c3Z'''r   c           
      r   t        j                  t        j                  ddd      ddddft        j                  ddd      ddd	d
ft        j                  ddd      ddddft        j                  ddd      ddddfgg d      }d}t	        j
                  t        |      5  |j                  d      j                  d       j                  }d d d        | rdnt        }t        t        j                  d      ||t        j                  |gg d      }t	        j                  |       y # 1 sw Y   _xY w)Ni  r   reddarkr   r  greenstormyru   9i  bluebrightrv   r   i  calmr}   potato)observationcolormood	intensityscorerE   r   r   rH  c                      | j                   d   S r   rg   r  s    r   r<   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    qvvay r   r^   zdatetime64[ns]r   )r   from_recordsr%   r  r    r!   r"   r#   r$   rl   rM   r   r   rG   int64rN   )r>   r]   r)   rA   rG   r@   s         r   )test_groupby_apply_datetime_result_dtypesrO    s   !!\\$1%ufa=\\$1%w!SA\\$1%vxDA\\$1%vvq(C		
 GD DC		#	#$6c	B Ig&,,-@AHHI*HE	"	#UE288UCDH 68,I Is   #,D--D6r   abcrv   2020r'  )r  freq))rT   r   )rT   r   )rU   r   c                    t        g dg dd|       }d}t        j                  t        |      5  |j	                  dd	      j                  d
       }d d d        t        j                  |       y # 1 sw Y    xY w)Nr   r   ru   )r   r   r   r  r   r   r   r   FrI   c                     | S r   rs   r:   s    r   r<   z8test_apply_index_has_complex_internals.<locals>.<lambda>&  r  r   r   )r   r(   r)   rA   s       r   &test_apply_index_has_complex_internalsrV    sq     
Y;5	IB
CC		#	#$6c	B JG6<<[IJ&"%J Js   $A55A>zfunction, expected_valuesc                 6    | j                   j                         S r   )r   to_listr:   s    r   r<   r<   -  s    177??$ r   c                 H    t        | j                  j                               S r   )setr   rX  r:   s    r   r<   r<   .  s    3qww() r   c                 H    t        | j                  j                               S r   )tupler   rX  r:   s    r   r<   r<   /  s    5*+ r   )r   r   ru   rv   c                 Z    t        t        | j                  j                                     S r   )dict	enumerater   rX  r:   s    r   r<   r<   1  s    d9QWW__%678 r   c                 ~    t        | j                  j                               D cg c]	  \  }}||i c}}S c c}}w r   )r`  r   rX  )r;   nis      r   r<   r<   5  s,    Iaggoo6G,HI&1a1vI Is   9c                 (   t        g ddg      }d}t        j                  t        |      5  |j	                  d      j                  |       }d d d        t        |t        ddgd      	      }t        j                  |       y # 1 sw Y   :xY w)
N)r   r   r   r   r   rE   r   r   r   r   r5   r   	r   r    r!   r"   r#   r$   r   r   rN   )functionr;  r(   r)   rA   r@   s         r   1test_apply_function_returns_non_pandas_non_scalarrg  *  s~    $ 
'(	<B
CC		#	#$6c	B 6H%++H56oUC:H-MNH68,6 6s   !BBc                  |   d } t        g ddddt        j                  gd      }d}t        j                  t
        |      5  |j                  d	      j                  |       }d d d        t        d
dgdgt        j                  ggt        g dd	            }t        j                  |       y # 1 sw Y   OxY w)Nc                 <    | d   j                   j                         S )Nr   )r+  flattenr   s    r   fctz4test_apply_function_returns_numpy_array.<locals>.fctF  s    Sz  ((**r   )rT   rT   rU   noner   ru   rv   r$  r   r   r   rW   rX   rY   )rT   rU   rl  r5   r   )r   r   r0  r    r!   r"   r#   r$   r   r   rN   )rk  r(   r)   rA   r@   s        r   'test_apply_function_returns_numpy_arrayrm  D  s    + 
01a7HI	JB
CC		#	#$6c	B ,C&&s+,
scURVVH%U3EC-PH 68,, ,s   !B22B;rf  c                     | j                   S r   r   grs    r   r<   r<   T  s
     r   c                 &    | j                   dz   dz
  S rf   r   ro  s    r   r<   r<   T  s    bhhQRlUVFV r   c                 p   t        g ddg      }d}t        j                  t        |      5  |j	                  d      j                  |       }d d d        t        t        g d      t        g d      t        dd	g      gt        g d
d            }t        j                  |       y # 1 sw Y   ^xY w)N)
r   ru   ru   ru   r   ru   rv   r   rv   r   idrE   r   r   )r   r}   r   r   )r   ru   rv   r~   r   r{   ry   r5   r   re  )rf  r(   r)   rA   r@   s        r    test_apply_function_index_returnrt  T  s     
1D6	BB
CC		#	#$6c	B 2D!''12	|	eL15!Q=AID)H 68,2 2s   !B,,B5c                      t        g dg dd      } | j                  dd      j                  d       }t        g dg d	d      }t        j                  ||       y )
Nr   )r   ru   r}   r}   r~   r   r   r   Fr   c                 "    | j                         S r   )r   r:   s    r   r<   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>j  s     r   )r   r   r   )rY   rZ   rZ   )r   r#   r$   r    r'   )r(   rA   r@   s      r   /test_apply_function_with_indexing_return_columnrw  b  s^    	@&	

B ZZZ/556HIF+#	
H &(+r   udfc                 "    | j                         S r   r   r:   s    r   r<   r<   v  s     r   c                 B    | j                         j                  d       S )Nc                     | dz   S rf   rs   )ys    r   r<   z<lambda>.<locals>.<lambda>v  s
    A r   )r   r/  r:   s    r   r<   r<   v  s    affhooo&F r   c                    t        ddgddgd      }d}t        j                  t        |      5  |j	                  d| 	      j                  |      }d d d        |j                  j	                  |j                  | 	      j                  |      }| r7j                  j                  dk(  sJ |j                  j                  dk(  sJ y j                  j                  dk(  sJ |j                  j                  dk(  sJ y # 1 sw Y   xY w)
NrT   rU   r   ru   r$  r   r   r   rI   )
r   r    r!   r"   r#   r$   r   r   r   nlevels)rJ   rx  r(   r)   	df_resultseries_results         r   test_apply_result_typer  t  s     
#s1a&1	2B
CC		#	#$6c	B FJJszJ:@@E	FDDLL*L=CCCHM&&!+++""**a///&&!+++""**a///F Fs   #DD
c                     t        g dg dd      } d}t        j                  t        |      5  | j	                  dd      j                  d	       }d d d        t        j                  t        |      5  | j	                  dd      j                  d
       }d d d        t        j                         y # 1 sw Y   gxY w# 1 sw Y   ,xY w)N)ru   r   ru   ry   r$  r   r   r   FrI   c                     | S r   rs   r:   s    r   r<   z4test_result_order_group_keys_false.<locals>.<lambda>  s    1 r   c                 "    | j                         S r   r   r:   s    r   r<   z4test_result_order_group_keys_false.<locals>.<lambda>  s    QVVX r   r   r  s       r   "test_result_order_group_keys_falser    s     
3	4B
CC		#	#$6c	B FCE288EF		#	#$6c	B O::ce:4::;MNO&(+	F FO Os   $B:7$C:CCc                     dgdz  dgdz  z   dgdz  z   } t        j                  |       }t        j                  | d      }t        t        t	        d            dz  t	        d      |d	      }t        t        t	        d            dz  t	        d      |d	      }d
}t        j                  t        |      5  |j                  dd      j                  d       }d d d        t        j                  t        |      5  |j                  dd      j                  d       }d d d        t        j                         y # 1 sw Y   gxY w# 1 sw Y   ,xY w)Nz
2001-01-01ru   z
2001-01-02z
2001-01-03UTC)tzrv   r   )r;   r|  tr   r   r;   FrI   c                 ,    | ddg   j                         S Nr;   r|  r   r   s    r   r<   z1test_apply_with_timezones_aware.<locals>.<lambda>      r3*~**, r   c                 ,    | ddg   j                         S r  r   r   s    r   r<   z1test_apply_with_timezones_aware.<locals>.<lambda>  r  r   )r%   r0  r   r   r   r    r!   r"   r#   r$   r'   )datesindex_no_tzindex_tzr  r  r)   r   r   s           r   test_apply_with_timezones_awarer    s1   NQ,!!33|nq6HHE""5)K%0H
$uQx.1,58+N
OC
$uQx.1,58(K
LC
CC		#	#$6c	B 
++ce+4::,

 
	#	#$6c	B 
++ce+4::,


 '7+
 

 
s   8$E?$EEEc                 j   t        g dg dg dd      }t        ddgddgd	t        d
dgd            }|j                  d      }d}t        j                  t
        |d      5  |j                  t        d      }d d d        t        j                  |       |j                  d      }t        | |      } t        ||       | }t        j                  t
        |d      5  |j                  t        d      }d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   ,xY w)N)c   r  r  X   r  r  )r   ru   rv   r}   r~   r   )r   r  r  r  r  <   r      r      r  r  r  r  rT   r5   r   r  :The behavior of DataFrame.sum with axis=None is deprecatedF)r   check_stacklevelinclude_groups)r   r   r#   r    r!   rk   r$   r5  r'   r
   getattr)reduction_funcr(   r@   grpr)   rA   args_s           r   ;test_apply_is_unchanged_when_other_methods_are_called_firstr    s     
)#)	

B 1gS"I&RH3'H ***
C
FC		#	#Mu	U 63u56&(+ ***
C">26D$^$d+A		#	#Mu	U 63u56&(+6 66 6s   'D&D)D&)D2c                     t        g dt        ddd      t        ddd      t        ddd      t        ddd      gg ddt        g dd	
            } | j                  ddg      }d}t	        j
                  t        |      5  |j                  d       }d d d        | j                  g d   }|j                         }t        j                  |g d         |_        |j                  d	      }t	        j                  |       |j                  j                  d   D ]  }t!        |      t        u rJ  y # 1 sw Y   xY w)N)rT   rT   rT   rU   i  r   r   ru   r   r<  )r   e   f   g   idxr5   r   r   r   r   r   c                 $    | j                  d      S rf   r   r:   s    r   r<   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>  s    QVVAY r   )r   ru   rv   )r   r   r  rE   )r   r   r   r#   r    r!   r"   r$   rh   r   r   
from_framer   r1  r'   levelstype)r(   r  r)   rA   r@   vals         r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestampr    s1    
%T1b!T1b!T1b!T1b!	 		
 (u5
B **c3Z
 C
CC		#	#$6c	B 0./0 wwy!H##%H**84E+FGHN}}U}+H&(+||""1% !CyD   !0 0s   D88Ec                     t        t        j                  j                  d      j                  ddg      t	        j
                  ddgddgg            } d}t        j                  t        |	      5  | j                  j                  d
d
      }d d d        j                  d       }d}t        j                  t        |	      5  | j                  dd
      }d d d        j                  d       }t        j                  ||j                         t        j                  ||        y # 1 sw Y   xY w# 1 sw Y   ^xY w)Nru   r   r}   r   r   r   rE   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   ra   r  c                 (    | j                  dd      S )Nr   r  	droplevelr:   s    r   r<   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>  s    !1!= r   rc   c                 (    | j                  dd      S )Nr   r   r  r  r:   s    r   r<   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>  s    !++1A+"> r   )r   r   r   r   r   r  r    r!   rk   r  r#   r$   r'   )r(   r)   ro   by_rowsgb2by_colss         r   2test_apply_by_cols_equals_apply_by_rows_transposedr    s    

		a ''A/''#saV(<=
B
 BC		#	#M	= +TT\\q\*+hh=>G
7C		#	#M	= *jjaqj)*ii>?G'799-'2&+ +
* *s   2D,D8,D58Edropnac                    t        g ddt        j                  t        j                  ddgdt        d            }d}t	        j
                  t        |      5  |j                  d	| d
      j                  d       }d d d        | r|j                         n|j                  g d   }t	        j                  |       y # 1 sw Y   CxY w)Nr   ru   rv   r}   r~   rT   rU   )colr   xxyxzr   r   r   r   F)r  rJ   c                     | S r   rs   r:   s    r   r<   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>  s    VW r   )r   rv   r   ru   r}   )r   r   r0  r   r    r!   r"   r#   r$   r  rh   r'   )r  r(   r)   rA   r@   s        r   #test_apply_dropna_with_indexed_samer    s     
"26626634	
 7m
B DC		#	#$6c	B YGFuEKKKXY$ryy{"''/*BH&(+Y Ys   %CC
zas_index, expected)r   r   r   )ru   ru   r   )rT   rU   N)rG   r   )ru   ru   rU   r   r   c                    t        g dg dg dd      }d}t        j                  t        |      5  |j	                  ddg|       j                  d	       }d d d        t        j                  |       y # 1 sw Y    xY w)
Nr  )r   r   r   r   r   r   r   rT   rU   r   c                      yrf   rs   r:   s    r   r<   z5test_apply_as_index_constant_lambda.<locals>.<lambda>-  s    r   )r   r    r!   r"   r#   r$   assert_equal)r   r@   r(   r)   rA   s        r   #test_apply_as_index_constant_lambdar    ss    & 
L|L	MB
CC		#	#$6c	B NS#J:@@MNOOFH%N Ns   &A88Bc                  x   t        g dg dg ddt        d            } d}t        j                  t        |      5  | j                  d	      j                  d
       }d d d        t        t        dd      t        j                  g dd	d g      d      }t        j                  |       y # 1 sw Y   QxY w)Nr  )r   r   r{   r   r   )r   r   r   ru   ru   r<  r~   r   r   r   r   c                 6    | j                   j                         S r   )r   r  r:   s    r   r<   z(test_sort_index_groups.<locals>.<lambda>9  s    1A r   r   r   )r   r   r   r]  r   r   r   r  )r   r   r    r!   r"   r#   r$   r   r   r   rN   r  s       r   test_sort_index_groupsr  1  s    	O/JAh
B DC		#	#$6c	B CC&&'ABCa$$4S$K
 H 68,C Cs   "B00B9c                     t        t        j                  ddd      t        d      t	        d      d      } d}t        j                  t        |      5  | j                  | j                  | j                  j                  j                  gd	
      j                  d       }d d d        t        j                  |        y # 1 sw Y    xY w)Nz
2010-01-0112hr~   )rR  r  r   )r   valsletr   r   FrI   c                      | j                   dd  S r   rg   r:   s    r   r<   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>Q  s    !&&* r   )r   r%   r  r   r   r    r!   r"   r#   r  r   dtr$   r'   )r@   r)   rA   s      r   )test_positional_slice_groups_datetimeliker  D  s    MM,UAF!H=	
H DC		#	#$6c	B &!!\\8==++001e " 

%$
% 	& &(+	& &s   ACCc                      t        g dg dg dd      } | j                  d      }|ddg   j                  d       }t        d	d
gdd
gdt        ddgd            }t	        j
                  ||       y )N)rT   rT   rU   ry   r  r<  r   r   r   c                 j    | j                  t              j                         | j                         z
  S r   )astypefloatrg  rf  r:   s    r   r<   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>Y  s"    AHHUO,?,?,AAEEG,K r   rW   rk  rX   r  rT   rU   r5   r   )r   r#   r$   r   r    r'   )r(   ro   rA   r@   s       r   %test_groupby_apply_shape_cache_safetyr  U  sr    	yyI	JB	CBc
^!!"KLFCjSz*%c
2MH &(+r   c                     t        j                  g dg dg dd      } | j                  d      ddg   }|j                  d       }t	        j
                  g d	g d
gdd g      }t        g d|d      }t        j                  ||       y )N)rT   rU   rT   rU   )aaacr  ad)r  r  r  r  )rT   b1b2rT   r  r  c                 >    | j                         j                         S r   )unstackr-  r:   s    r   r<   z3test_groupby_apply_to_series_name.<locals>.<lambda>k  s    !9!9!; r   )rT   rT   rU   rU   rU   )r  r  r  r  r  )arraysr   )rv   r   ru   r   r   r   r  )	r   	from_dictr#   r$   r   rT  r   r    rN   )r(   r  rA   expected_idxr@   s        r   !test_groupby_apply_to_series_namer  a  s    			%**	

B **S/4,
'CYY;<F)))+IJDkL o\HH68,r   c                    t        g dg dddt        j                  t        j                  gd      }|j                  d|       }d}t	        j
                  t        |	      5  |j                  d
       }d d d        t	        j
                  t        |	      5  |j                  d       }d d d        t	        j                         y # 1 sw Y   VxY w# 1 sw Y   ,xY w)Nr  )r   r   ru   r~   r   ru   )r  r|  zr  )r  r   r   c                 &    | j                  dd      S )Nr   r  )nlargest)grp_dfs    r   r<   ztest_apply_na.<locals>.<lambda>~  s    FOOAs,C r   c                 F    | j                  dd      j                  d      S )Nr  F)	ascendingr   )r6  r   r:   s    r   r<   ztest_apply_na.<locals>.<lambda>  s    se)L)Q)QRS)T r   )	r   r   r0  r#   r    r!   r"   r$   r'   )r  r(   dfgrpr)   rA   r@   s         r   test_apply_nar  u  s     
<q!RVVRVV6LM
B JJuVJ,E
CC		#	#$6c	B ECDE		#	#$6c	B V;;TUV&(+	E EV Vs   $CCCC!c            	         d} t        j                  t        |       5  t        g dg dt	        j
                  g dd      d      j                  d	d
g      j                  d       }d d d        t        ddt	        j
                  dd      gddt	        j
                  dd      ggg dt        j                  ddgd	d
g            }t        j                  |       y # 1 sw Y   {xY w)Nr   r   r  )r  r  r  r  r   r.  )unitr   rT   rU   c                      | j                   d   S NrW  rg   r   s    r   r<   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>  s    bggbk r   r   r  ru   r}   )r   r  )ru   r  r   r  )r    r!   r"   r   r%   r=   r#   r$   r   r   r'   )r)   rA   r@   s      r   &test_apply_empty_string_nan_coerce_bugr    s    
CC		#	#$6c	B 
%)3? Wc3Z U)* 	
 
R,	-2r~~ac7R/ST$$gw%7SzJH
 &(+#
 
s   AC$$C-index_values)rW   rX   rY   c                 L   t        g dg ddt        |             }t        dg dit        g dd	            }d
}t        j                  t        |      5  |j                  d      j                  d       }d d d        t        j                  ||       y # 1 sw Y    xY w)N)r  a2a3ry   rx   r   b_mean)rX   rY   rW   )r  r  r  rT   r5   r   r   c                 B    t        | d   j                         gdg      S )NrU   r  r   )r   r   r   s    r   r<   z0test_apply_index_key_error_bug.<locals>.<lambda>  s    vr#w||~.xjA r   )r   r   r    r!   r"   r#   r$   r'   )r  rA   r@   r)   s       r   test_apply_index_key_error_bugr    s     #	
 L!F o	
 &S1	H DC		#	#$6c	B 
$**A

 &(+	
 
s   "BB#zarg,idx)皙?333333?皙?)r  r  r  )r   r}   rv   )r  r  r  c                     t        d| i|      }d}t        j                  t        |      5  |j	                  dd      j                  d       }d d d        t        j                  |       y # 1 sw Y    xY w)Nr  r   r   r   FrI   c                     | S r   rs   r:   s    r   r<   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>  s    1 r   r   )argr  r@   r)   rA   s        r   #test_apply_nonmonotonic_float_indexr    st    V %S1H
CC		#	#$6c	B N!!%E!:@@MN&(+N Ns   $A00A9zargs, kwargsnumeric_onlyc                     | j                  d      } |j                  dg|i |}|j                  d      }t        j                  ||       y )Nr   r5  T)r  )r#   r$   r5  r    r'   )r(   r  kwargsro   rA   r@   s         r   test_apply_str_with_argsr    sK     
CBRXXe-d-f-Fvv4v(H&(+r   r6   	some_namec                     t        ddg|       }|j                  ddgd      j                  d       }t        ddg|       }t        j                  ||       y )Nr   ru   r5   rT   FrI   c                     | S r   rs   r:   s    r   r<   z1test_result_name_when_one_group.<locals>.<lambda>  r  r   )r   r#   r$   r    rN   )r6   r  rA   r@   s       r   test_result_name_when_one_groupr     sU     !Qd
#C[[#s[6<<[IFq!f4(H68,r   z
method, opr$   c                      | j                   d   S r  )r+  ro   s    r   r<   r<     s    RYYr] r   c                 &    | d   j                   d   S )NrU   r   rg   r  s    r   r<   r<     s    RW\\!_ r   )aggskew)r  prod)r  r5  c           
          t        g g d      }|j                  dd      }t        |d      } t        ||       |      }t        g ddt	        g dd            }t        j                  ||       y )	Nrx   rT   TrI   rU   r_   rF   )r6   rG   r   )r   r#   r  r   r   r    rN   )methodopempty_dfro   r   rA   r@   s          r   test_empty_dfr    su     r+,H			#$		/BBE#WUF#B'F
IU2YS-QH 68,r   r  c                 `   t        g dg dd      }|j                  d      }| rt        nd }d}t        j                  ||      5  |j                  d |       }d d d        t        d	d	gd
dgdt        dd	gd            }| s|dg   }t        j                  |       y # 1 sw Y   IxY w)NrT  )rv   r}   r~   rx   rT   r   r   c                 "    | j                         S r   r  r:   s    r   r<   z%test_include_groups.<locals>.<lambda>  s    AEEG r   r  ru   r   r~   r   r5   r   rU   )r   r#   r"   r    r!   r$   r   r'   )r  r(   ro   warnr)   rA   r@   s          r   test_include_groupsr    s     
3	4B	CB!/TD
CC		#	#D	4 L+NKL1vQF35!Qc;RSHSE?&(+L Ls   B$$B-r  rb   jimjoec                    t         j                  j                  d      }t        |j	                  ddd      ddg      }|j                  d      |d	<   |j                  |       }|j                  |t        urd nt        }d
}t        j                  ||dd      5  |j                  |      }d d d        t        |j                  |             }dj                   d| d}	|j                  |dfk(  sJ |	       fdd}t        j                  t         |      5  |j                        }
d d d        t        j"                  |
       t        j                  t         |      5  |j                  fd      }d d d        t        j"                  |       |t        k7  rK|j%                        j'                         }
|
j)                  | dd       t        j"                  ||
d       t        j*                   t-        |      d       t-        |      d             y # 1 sw Y   }xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nru   r   r   )r   ru   r  r  rE   r   jolier  F)r   r  raise_on_extra_warnings)subsetzinvalid frame shape: z (expected (z, 3))rv   c                 4     t        t              | d      S )Nr   rd   )r  r   )r;   fnames    r   r<   z%test_builtins_apply.<locals>.<lambda>7  s    )wr5)!!4 r   r   r   c                      |       S r   rs   )r;   npfuncs    r   r<   z%test_builtins_apply.<locals>.<lambda>>  s    vay r   T)r[  r1  )check_dtyper   rd   )r   r   r   r   r>  r   r#   __name__r5  rk   r    r!   r$   r  drop_duplicatesr|  r"   r'   r  r   r  rN   r  )rb   r  rsr(   ro   r  r)   rA   ngroups
assert_msgr@   r  r  r  s               @@r   test_builtins_applyr     s    
		q	!B	2;;q!W-u~	FB$$R(BwK	D	BJJEC<4]D
FC		#	#C%
  !	
 "$$D$12G(l7)5QJ<<GQ<'33'4F
CC		#	#$6c	B $88F#$&(+		#	#$6c	B 2HH01	2&),Cx66%=,,.4E:
fhEB17651q9;M72u;MST;UV3 $ $2 2s$   H+ H8+I+H58II)dr   r   numpyr   pytestpandasr%   r   r   r   r   r	   pandas._testing_testingr    pandas.tests.groupbyr
   r+   rB   rQ   rp   rt   markparametrizer   r   r   r   r   r   r   r   r  r"  r%  r(  r-  r2  r?  rE  rP  rU  r\  rn  rq  ru  r  r  r  r  r  r  r  r  r  r  r  r  r  r  todayrD   r%  r2  r<  rO  r9  interval_rangeperiod_ranger   rV  rg  rm  rt  rw  r  r  r  r  r  r  r  rM   r  r  r  r  r  r  r  r  r  r  r   r  r  rg  rf  r5  r   rs   r   r   <module>r,     s1  
      85&%,P*-Z,$,  	/HI	JIV	L9	:QFC	C!:	$	1aA	BQFK	+4FG	H)Tl+77 		
 
Iy)?	CaVL!$	)  <+$=<+$\2,, 
$#	&&-('$T&3R2&0

@	@0-9 e}5, 6, F ,0,4,,@ u60 700-$2;-|,:,"C@94,..-"
,- X^^~x~~',,.0@0E0E0GH,	, %-P eT]3( 4(,-, DK(!Q4
=>	&& 	$1v1v&67	)QFQF+;<	+ff-=>8q\qQ<(	

 J!fq!fAA/0	
 -! --  &9;V%WX
- Y
-,$ 	FH e}50 6	
0$	,,*,@!@'2 D%=1, 2,"  I&6Ff0U	
 A4j44ff5EcSVZX	
"&#"&-&,"	,-( D%=1, 2,,. )_)EF, G,. 
	

	

	
3%(R,S(R, D62,nd=S8T)UV, W, +t!45- 6- 	*+	,-	-	- )D%=9, :, sCo.%%!89%W : /%Wr   