+
    xȇi`                        R t ^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RIHt ^ RI	H
u Ht ^ RIHt ^ RIt^ RIHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt R tR	 tR
 t R t!R t"R t#R t$R t%R t&R t']PP                  PS                  RR R R ..4      R 4       t*R t+R t,R t-R t.R t/R t0R t1R t2R t3R  t4R! t5R" t6R# t7R$ t8]PP                  PS                  R%R& R' R( R) R* R+ .4      R, 4       t9]PP                  PS                  R-R..]! ^.R.R/7      3R.R0.]! ^.^..^ .^ ..R.R0.R17      3.4      ]PP                  PS                  R2. RO4      ]PP                  PS                  R3. RO4      ]PP                  PS                  R4. RO4      R5 4       4       4       4       t:]PP                  PS                  R-R..]! ^.R.R/7      3R.R0.]! ^.^..^ .^ ..R.R0.R17      3.4      ]PP                  PS                  R6. RO4      ]PP                  PS                  R7];]<]=.4      ]PP                  PS                  R4. RO4      R8 4       4       4       4       t>R9 t?R: t@]PP                  PS                  R7]P                  ]P                  .4      ]PP                  PS                  R;. RO4      R? 4       4       tCR@ tD]PP                  PS                  RA]P                  ! ]F! RB4      4      ]P                  ! ^ ^4      ]P                  ! RC^RDRE7      ]P                  ! . RO4      .4      RF 4       tJRG tKRH tL ! RI RJ4      tM ! RK RL4      tN]PP                  PS                  RMRR]P                  3R^^.RPRQ.RRRS.3RRT 3RRU 3R]P                  3^^.^^.RRRS.3]P                  ! RR=4      ]P                  ! R]P                  4      ]P                  ! RRV 4      ^^.RRRS.^^.3.4      RW 4       tQRX tRRY tS]PP                  PS                  RZR[R<./R0. R[R<./.4      R\ 4       tTR] tUR^ tVR_ tWR` tXRa tY]PP                  PS                  RbRc Rd Re .4      Rf 4       tZRg t[]PP                  PS                  RbRh ][.4      Ri 4       t\Rj t]]PP                  P                  RkRl7      Rm 4       t_ ! Rn Ro4      t`Rp taRq tb]PP                  PS                  RrRsR<RtR</Rs^^.RtR.R[./3RtR</RtR.R[./3RsR</Rs^^./3.4      Ru 4       tc]PP                  PS                  RrRsR<R=.RtR</RR.3RsR<RtR<R=./RR.3RtR<R=./RR.3.4      Rv 4       tdRw teRx tfRy tgRz thR{ tiR| tjR} tk]PP                  PS                  R~. ROR.3. ROR.3.4      R 4       tl]PP                  PS                  RR>RR.3RRR.3.4      R 4       tm]PP                  PS                  Rb. RO4      R 4       tn]PP                  PS                  R^RN.^RO.^
R..^ ^
^.^RRNRO../3^RN.^RO.^R..^ ^^.^RNRO.R./3R.^.R.^.R0^.R0^..^ R.R0.^^^^../3]P                  ! R.^.R.^.R0^.R0^..^ R.R0.^^^.^./]PP                  P                  R7      .4      R 4       tpR tqR trR tsR ttR tuR tvR twR txR tyR tzR t{R t|]P                  ! R4      ]PP                  PS                  R7. RO4      R 4       4       t~]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       tR tR tR# )zN
test .agg behavior / note that .apply is tested generally in test_groupby.py
N)partial)SpecificationError)is_integer_dtype)	DataFrameIndex
MultiIndexSeriesconcatto_datetime)ArrowExtensionArray)Groupingc                      \        R . ROR. RO/4      p V P                  R 4      R,          pR pVP                  V4       R# )keyvaluec                 F    \        V 4      ^ 8w  g   Q hV P                  4       #     )lensumxs   &}/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/groupby/aggregate/test_aggregate.py
dummy_func3test_groupby_agg_no_extra_calls.<locals>.dummy_func$   s    1v{{uuw    Nabcr               )r   groupbyagg)dfgbr   s      r   test_groupby_agg_no_extra_callsr(      s<    	E/,G	HB	E	7	#B FF:r   c                     V P                  R  R .4      pVP                  R4      pVP                  4       p\        P                  ! W#4       R# )c                     V P                   # Nyearr   s   &r   <lambda>&test_agg_regression1.<locals>.<lambda>,   s    r   c                     V P                   # r+   monthr   s   &r   r.   r/   ,   s    177r   meanNr$   r%   r3   tmassert_frame_equal)tsframegroupedresultexpecteds   &   r   test_agg_regression1r;   +   s>    oo/1BCDG[[ F||~H&+r   c                    V P                  R 4      R,          pRp\        P                  ! \        VR7      ;_uu_ 4        VP	                  R 4       RRR4       \        P                  ! \        VR7      ;_uu_ 4        VP	                  R 4       RRR4       R#   + '       g   i     LQ; i  + '       g   i     R# ; i)ACzMust produce aggregated valuematchc                 "    V P                  4       # r+   )describer   s   &r   r.   #test_agg_must_agg.<locals>.<lambda>7   s
    ajjlr   Nc                 (    V P                   R ,          # ):Nr!   Nindexr   s   &r   r.   rC   9   s    aggbkr   )r$   pytestraises	Exceptionr%   )r&   r8   msgs   &  r   test_agg_must_aggrK   2   su    jjoc"G
)C	y	,	,*+ 
-	y	,	,)* 
-	, 
-	,	,	,	,s   B>B.B+	.B?	c                    R  pV P                   P                  V P                  V P                  .4      P	                  V4      pV P                  RR.4      P                  4       R,          p\        P                  ! W#4       R# )c                 "    V P                  4       # r+   r   r   s   &r   r.   (test_agg_ser_multi_key.<locals>.<lambda>=   
    !%%'r   r=   Br>   N)r>   r$   r=   rQ   	aggregater   r5   assert_series_equal)r&   fresultsr:   s   &   r   test_agg_ser_multi_keyrV   <   s^    AddllBDD"$$<(2215Gzz3*%))+C0H7-r   c                     \        R \        P                  \        P                  \        P                  \        P                  .R\        P                  \        P                  \        P                  \        P                  .R\        P
                  \        P
                  \        P
                  \        P
                  .R. R	OR. R
O/4      p V P                  RRRR7      p\        R \        P                  \        P                  \        P                  .R\        P                  \        P                  \        P                  .R\        P                  \        P                  R./. ROR7      p\        P                  ! W4       R# )nannanatnoneNvaluesr   yzg      $@rE   )NNNNr   )rX   min)rY   r`   )r\   r   )	r   nprX   pdNANaTr%   r5   r6   )
missing_dfr9   r:   s      r   test_agg_with_missing_valuesrf   C   s    BFFBFFBFFBFF3255"%%.BFFBFFBFFBFF3,l	
J ^^nAR^SFBFFBFFBFF+266266266*rvvrvvt,	

 H &+r   c                     \        R ^^^\        P                  ^^^^.R^7^7^M\        P                  ^!^!^,^./\        P                  ! . RORR	.R
7      R7      p \        R ^^^^^^^\        P                  ^^^^	.R^^!^7^M^X^!^7\        P                  ^,^7^M^c.RRR^^\        P                  R^^R^\        P                  ^.R	RR^c^_\        P                  R^_^cR^c\        P                  \        P                  ./4      pVP                  RR	.4      pVR R.,          P                  4       p\        P                  ! W04       R# )v1v2bigdampbluedryredwetby1by2namesrE   N))r    _   )r    c   )r!   rt   )r!   ru   )rj   rk   )rl   rm   )rn   rn   )rn   ro   )	r   ra   rX   r   from_tuplesr$   r3   r5   r6   )r:   r&   gr9   s       r   $test_groupby_aggregation_mixed_dtyperx   ]   sO   1aBFFAq!Q/2r2rvvr2r26	
 $$	 %.
H( 
1aAq!Q1a;2r2r2r2rvvr2r2FE61a1eQPRS		

B, 	

E5>"Ad|_!!#F&+r   c           
         V P                  V \        P                  ,          R R7      pV P                  \        P                  8X  g   Q h\        . \        P                  \        . \        P                  R7      R7      p\        P                  ! VP                  4       V4       \        P                  ! VP                  R4      V4       \        P                  ! VP                  R4      VR R7       VP                  VR,          \        P                  ,          R R7      p\        VP                  \        \        . R\        P                  R7      R7      p\        P                  ! VP                  4       V4       \        P                  ! VP                  R4      V4       VP                  \        P                  ^ R	7      pVP!                  R
R7      p\        P                  ! WT4       R# )F
group_keysdtyper}   rF   r   )check_index_typer=   )namer}   )columnsr}   rF   axisTdropN)r$   ra   rX   r}   float64r   r   r5   rS   r   r%   applyr   r   floatr6   reset_index)tsr7   r8   expexp_dfress   &&    r   test_agg_apply_cornerr      sH   jjbffj7G88rzz!!! 2::U2RZZ-H
IC7;;=#.7;;u-s37==/uM oogclRVV3oFGBS

3F
 '++-0'++e,f5
--Q-
'CT*F#&r   c                    \        \        P                  ! ^
4      4      p\        \        P                  ! ^
4      WR7      p\        \        P
                  RRR\        P
                  \        P
                  RR\        P
                  R.
VR7      pVP                  V4      pVP                  \        4      p\        ^^.RR.R7      p\        P                  ! WVRR7       R pVP                  V4      p\        RR	.RR.R7      pVP                  \        P                  8X  d    VP                  \        P                  4      p\        P                  ! WV4       R
# )
   r|   foobarrE   F)check_dtypec                 *    \        \        V 4      4      # r+   )r   r   r   s   &r   rT   test_with_na_groups.<locals>.f   s    SV}r         @       @N)r   ra   aranger   onesrX   r$   r%   r   r5   rS   r}   float32astype)any_real_numpy_dtyperF   r\   labelsr8   aggedr:   rT   s   &       r   test_with_na_groupsr      s    "))B- EBGGBKCF	ubffbffeUBFFERF nnV$GKKEq!fUEN3H5>
 KKNEsCj7H||rzz!??2::.5+r   c           
         \        \        P                  P                  ^4      P	                  R
4      \        \        R4      \        R7      \        P                  ! R^RR7      R7      pVP                  R 4      pVP                  P                  ^ ,          P                  p\        V P                  \        V4      4      VP                  P                  ^ &   VP!                  R4      pVP#                  4       p\$        P&                  ! WE4       \        V P                  \)        V4      4      VP                  P                  ^ &   VP!                  R4      pVP#                  4       p\$        P&                  ! WE4       R	# )r!   ABCDr|   z
2000-01-01rQ   periodsfreqr   rF   c                     V P                   # r+   r,   r   s   &r   r.   1test_agg_grouping_is_list_tuple.<locals>.<lambda>   s    166r   r3   N)   r#   )r   ra   randomdefault_rngstandard_normalr   listobjectrb   
date_ranger$   _grouper	groupingsgrouping_vectorr   rF   r%   r3   r5   r6   tuple)r   r&   r8   grouperr9   r:   s   &     r   test_agg_grouping_is_list_tupler      s   	
		a 009d6l&1mmL"3?
B jj)*G((+;;G$,RXXtG}$EGq![[ F||~H&+$,RXXuW~$FGq![[ F||~H&+r   c                     V P                  R R.4      pVP                  R4      pVP                  4       p\        P                  ! W#4       R# )r=   rQ   r3   Nr4   ) multiindex_dataframe_random_datar8   r9   r:   s   &   r   test_agg_python_multiindexr      s=    .66SzBG[[ F||~H&+r   groupbyfuncc                 "    V P                  4       # r+   weekdayr   s   &r   r.   r.      s
    aiikr   c                     V P                   # r+   r1   r   s   &r   r.   r.      s    aggr   c                 "    V P                  4       # r+   r   r   s   &r   r.   r.      s
    r   c                 L   V P                  V4      pVR ,          P                  R4      pVR ,          P                  4       p\        P                  ! W44       VP                  R4      pVP                  4       p\        P                  ! W44       VP                  R RRRRRRR/4      p\        R VR ,          P                  4       RVR,          P                  4       RVR,          P                  4       RVR,          P                  4       /4      p\        P                  ! W44       R# )	r=   stdvarrQ   r>   r3   DsemN)r$   r%   r   r5   rS   rR   r   r6   r   r3   r   )r7   r   r8   r9   r:   s   &&   r   test_aggregate_str_funcr      s     ook*G S\e$Fs|!H6, u%F{{}H&+ [[#uc5#vsEJKF!!#!!#""$!!#		
H &+r   c                    \        R . ROR\        \        P                  ^^^^^^.RR7      /4      pVP	                  R 4      P                  4       p\        RR^ ./\        ^^.R R7      RR7      p\        P                  ! W#4       R# )	r   r   Float64r|   g(y?r   rF   r}   N)r!   r    r    r    r!   r!   r    )	r   r   rb   rc   r$   r   r   r5   r6   )any_numeric_ea_dtyper&   r9   r:   s   &   r   test_std_masked_dtyper      s    	&1aAq1C	

B ZZ_  "F	wl5!Qc#:)H &+r   c                     V P                  ^ R7      pRV R2p\        P                  ! \        VR7      ;_uu_ 4        VP	                  V^R7       RRR4       R#   + '       g   i     R# ; i)r   levelz
Operation z does not support axis=1r?   r   N)r$   rG   rH   
ValueErrorr%   )r&   reduction_funcr'   rJ   s   &&  r   %test_agg_str_with_kwarg_axis_1_raisesr     sR    	!	B~&&>
?C	z	-	-
~A& 
.	-	-	-s   AA,	c                    V P                  R 4      pR pVP                  V4      pV P                  R8H  P                  4       pV P                  R8H  P                  4       p\	        VP
                  4      p\        \        P                  ! V.V,          4      \        R4      RR7      p\        P                  ! VP                  R4      V4       \        \        P                  ! V.V,          4      \        R4      RR7      p\        P                  ! VP                  R4      V4       R p\        4       P                  V P                  4      P                  V4      p\        V\        4      '       g   Q h\	        V4      ^ 8X  g   Q hR# )r=   c                     V P                   # r+   sizesers   &r   r.   -test_aggregate_item_by_item.<locals>.<lambda>  s    388r   r   r   BCDrF   r   c                     V P                   # r+   r   r   s   &r   aggfun_1-test_aggregate_item_by_item.<locals>.aggfun_1&  s    xxr   N)r$   r%   r=   r   r   r   r   ra   arrayr   r5   rS   xsassert_almost_equalr   
isinstance)	r&   r8   aggfun_0r9   foosumbarsumKr   r   s	   &        r   test_aggregate_item_by_itemr     s   jjoG#H[["Fddem  "Fddem  "FFNNA 6(Q,'tE{
GC699U+S1
6(Q,'tE{
GC699U+S1 [  &**84Ffi((((v;!r   c                    V P                  R R.4      pR p\        P                  ! \        RR7      ;_uu_ 4        VP	                  V4       RRR4       V. RO,          P	                  V4      pV P
                  R. RO3,          pVP                  R R.4      P	                  V4      p\        P                  ! W54       R#   + '       g   i     L{; i)	r=   rQ   c                 f    V P                   \        R 39   d   \        R4      hV P                  4       # )stringTest error message)r}   r   	TypeErrorr   r   s   &r   functest_wrap_agg_out.<locals>.func1  s+    99**011wwyr   r   r?   NNNN)r   EF)r=   rQ   r   r   r   )r$   rG   rH   r   rR   locr5   r6   )three_groupr8   r   r9   exp_groupedr:   s   &     r   test_wrap_agg_outr   .  s    !!3*-G
 
y(<	=	=$ 
>_%//5F//!%>">?K""C:.88>H&+ 
>	=s   C  C	c                    R \         P                  3R\         P                  3R\         P                  3.pV P	                  R4      R,          P                  V4      p\        . RO4      p\        P                  ! VP                  V4       R# )r3   maxr`   r=   r>   N)r3   r   r`   )
ra   r3   r   r`   r$   r%   r   r5   assert_index_equalr   )r&   funcsr9   exp_colss   &   r   *test_agg_multiple_functions_maintain_orderr   >  sc    bgg%AEZZ_S!%%e,F+,H&..(3r   c                     V P                   R R.3,          P                  V R,          4      pVP                  R 4      pVP                  P                  R8X  g   Q hR# )r   r>   r=   c                 "    V P                  4       # r+   r3   r   s   &r   r.   (test_series_index_name.<locals>.<lambda>I  s
    1668r   N)r   r$   r%   rF   r   )r&   r8   r9   s   &  r   test_series_index_namer   G  sL    ffQX&&r#w/G[[+,F<<###r   c            	         \        \        P                  P                  ^4      P	                  R4      \
        P                  ! RRRR7      . ROR7      p V P                  R4      P                  R\        \        P                  RR	7      \        \        P                  R
R	7      ./4      p\
        P                  ! RR^R7      p\        P                  ! RR.4      p\        P                  ! R Uu. uF7  q@P                  R4      P                  P                  VR	7      P                  NK9  	  up4      P                   p\        WSVR7      p\"        P$                  ! W4       R# u upi )r!     1/1/2012s)r   r   r=   rF   r   3minH.?q镲q?r   Nr   r"   r=   rQ   r>   )r=   quantiler  r  )r   ra   r   r   r   rb   r   resampler%   r   r
  r   rv   r   r=   r\   Tr5   r6   )r&   r9   expected_indexexpected_columnsr  expected_valuesr:   s          r   %test_agg_multiple_functions_same_namer  M  s   	
		a 00;mmJS$?
B
 [[ $$	wr{{f-wr{{f/MNOF ]]:FAFN!--/@BS.TUhh=MN=MV				'	'!	'	,	3	3=MNa  H &+ 	Os   /=E"c            
      p   \        \        P                  P                  ^4      P	                  R4      \
        P                  ! RRRRR7      \        . RORR7      R	7      p V P                  R
4      P                  RR\        \        P                  RR7      \        \        P                  RR7      ./4      p\
        P                  ! RR
^RR7      p\        P                  ! . RO. ROR7      p\        P                  ! R Uu. uF7  q@P                  R
4      P                  P                  VR7      P                   NK9  	  up4      P"                  p\        P$                  ! V P                  R
4      P                  P'                  4       V.4      p\        WcVR7      p\(        P*                  ! W4       R# u upi )r!   r   r   r  dti)r   r   r   r=   alphar   r  r  ohlcr  r  r  Nrr   r   r  r	  ))r=   r  open)r=   r  high)r=   r  low)r=   r  closer=   r
  r=   r  )r  NNr  )r   ra   r   r   r   rb   r   r   r  r%   r   r
  r   rv   r   r=   r\   r  hstackr  r5   r6   )r&   r9   r  r  r  non_ohlc_expected_valuesr  r:   s           r   7test_agg_multiple_functions_same_name_with_ohlc_presentr  b  s]    

		a 00;mmJS$UKoG4
B
 [[ $$	vwr{{f5wr{{f7UVWF ]]:FAERN!--	
 $
  "xx=MN=MV				'	'!	'	,	3	3=MN a  ii	V				#	#	%'?@O H &+ 	Os   =F3c                    V P                  R R.R7      p RR.pRR.pV P                  R4      R,          P                  V4      pV P                  R4      R,          P                  V4      p\        P                  ! W44       V P                  R4      P                  V4      pV P                  R4      P                  V4      p\        P                  ! W44       R# )	rQ   r>   r   r   r=   r   N)r   r3   )r   r   )r   r$   r%   r5   r6   )r&   r   ex_funcsr9   r:   s   &    r   -test_multiple_functions_tuples_and_non_tuplesr!    s     
#s	$Be$E0HZZ_S!%%e,Fzz#s#''1H&+ZZ_  'Fzz#""8,H&+r   c                    V P                  R 4      pVP                  RRRR/4      pVP                  RRRR/4      p\        W#.RR.^R7      pVP                  ^ ^^R7      P	                  ^ ^R7      pRRR.RRR./pVP                  V4      p\        P                  ! Wd4       VP                  RRRRR./4      pVP                  RRRRR./4      p\        P                  ! Wd4       R pR	 pR
p	RRRRRRR//p\        P                  ! \        V	R7      ;_uu_ 4        VP                  V4       RRR4       RR.RWx./pVP                  V4       R#   + '       g   i     L+; i)r=   r>   r3   r   r   )keysr   r   )r   r   c                 .    \         P                  ! V 4      # r+   ra   r3   r   s   &r   	numpymean:test_more_flexible_frame_multi_function.<locals>.numpymean  s    wwqzr   c                 2    \         P                  ! V ^R7      # )r    )ddof)ra   r   r   s   &r   numpystd9test_more_flexible_frame_multi_function.<locals>.numpystd  s    vvaa  r   nested renamer is not supportedr   r   r?   N)r$   r%   r	   	swaplevel
sort_indexrR   r5   r6   rG   rH   r   )
r&   r8   exmeanexstdr:   dr9   r&  r*  rJ   s
   &         r   'test_more_flexible_frame_multi_functionr2    so   jjoG[[#vsF34FKKeS%01EvoVUO!DH!!!QQ!/:::KH	vuosVUO4Aq!F&+ VS65/BCF  #vsVUO!DEH&+! -C	fcE65%89A	)	5	5! 
6 
vhi23Aa 
6	5s   EE"	c                 T   V P                  R 4      pRRRRR/RRR//pRp\        P                  ! \        VR	7      ;_uu_ 4        VP	                  V4       R
R
R
4       RRRRR/RR/p\        P                  ! \        VR	7      ;_uu_ 4        VP	                  V4       R
R
R
4       RRRRR/RR/p\        P                  ! \        VR	7      ;_uu_ 4        VP	                  V4       R
R
R
4       R
#   + '       g   i     L; i  + '       g   i     Lm; i  + '       g   i     R
# ; i)r=   r>   r   r3   r   r   r   r   r,  r?   N)r$   rG   rH   r   rR   )r&   r8   r1  rJ   s   &   r    test_multi_function_flexible_mixr4    s    jjoG 
ufeU+S5%.AA
,C	)	5	5! 
6 
ufeU+S%8A	)	5	5! 
6 
ufeU+S%8A	)	5	5! 
6	5 
6	5 
6	5 
6	5	5s$   C0DD0D 	D	D'	c            	      p   \        R . R
OR. ROR. RO/4      p V P                  R 4      p\        ^^.R R7      pVR,          P                  R 4      p\	        RR.VRR7      p\
        P                  ! W44       VR,          P                  R	 4      p\	        RR.VRR7      p\
        P                  ! W44       R# )r   r   r   Nr   c                 (    V ^ 8g  P                  4       # r   allr   s   &r   r.   1test_groupby_agg_coercing_bools.<locals>.<lambda>  s    !q&r   FTr   c                 >    V P                  4       P                  4       # r+   )isnullr8  r   s   &r   r.   r9    s    )9r   r    r    r!   r!   r   r    r!   r"   )NNr    r    )r   r$   r   rR   r   r5   rS   )datgprF   r9   r:   s        r   test_groupby_agg_coercing_boolsr@    s    
S,\3@RS
TC	S	B1a&s#EW78Fudm5s;H6,W9:FtUm5s;H6,r   c                      \        R . ROR. RO/4      p V P                  R 4      R.,          P                  RR/4      p\        R^^./R R.R7      P                  R ^ R7      p\        P
                  ! W4       R# )r=   rQ   r   rE   r   N)r=   r=   rQ   rQ   rQ   )r    r!   r    r    r!   )r   r$   r%   rename_axisr5   r6   )r>  r9   r:   s      r   "test_groupby_agg_dict_with_getitemrC    sq    
S3S/J
KC[[se$((#u6F#1vsCj9EEcPQERH&+r   c                      \        . RO. R	O. R
O.. ROR7      p V P                  R4      pVP                  RR/4      p\        R^^./\        ^^.RR7      R7      p\        P
                  ! W#4       R# )r    r   r   r  r   r   rE   Nr   r    r"   r#      r!   r#   rF     r   r   r$   r%   r   r5   r6   r&   r'   r9   r:   s       r   !test_groupby_agg_dict_dup_columnsrK    sg    		|\2$
B 
CBVVS%L!F#1veQF.EFH&+r   opc                 "    V P                  4       # r+   rN   r   s   &r   r.   r.     rP   r   c                 "    V P                  4       # r+   cumsumr   s   &r   r.   r.     s
    !((*r   c                 $    V P                  R 4      # rN   	transformr   s   &r   r.   r.     s    !++e$r   c                 $    V P                  R 4      # rO  rR  r   s   &r   r.   r.     s    !++h'r   c                 $    V P                  R 4      # rN   r%   r   s   &r   r.   r.     s    !%%,r   c                 $    V P                  R 4      # rO  rV  r   s   &r   r.   r.      s    !%%/r   c                 :   \        R ^^.RRR./4      pVP                  R 4      R,          pV ! VP                  R 4      4      R,          P                  p\	        V4      '       g   Q hV ! VP                  R 4      4      P                  p\	        V4      '       g   Q hR# )r   r   FTN)r   	set_indexr$   r}   r   )rL  r&   r  r9   s   &   r   test_bool_agg_dtyperZ    s     
C!Qudm4	5B
S#A

3 %++FF####		#%%FF####r   zkeys, agg_indexr   r   r   rr   input_dtyperesult_dtypemethodc                   a \        R ^.R^.RR./4      pVR,          P                  V4      VR&   \        VP                  V 4      R.,          V4      pV! V3R l4      pVR8X  d   \        P
                  ! ^ ^4      MTpVR8X  d!   VR8X  d
   SR8X  d   RoVR	8X  d
   SR
8X  d   R	o\        RVR,          P                  ^ ,          ./VR7      P                  S4      p	VR8X  d   ^ .V	P                  n        \        P                  ! Wy4       R# )r   r   r   Tc                 H   < V P                  S4      P                  ^ ,          # r   r   iloc)r   r\  s   &r   r.   2test_callable_result_dtype_frame.<locals>.<lambda>%  s    !((<055a8r   rS  rR   r   r   int32int64rE   r   N)r   r   getattrr$   rb   
RangeIndexra  r   rs   r5   r6   )
r#  	agg_indexr[  r\  r]  r&   rL  r9   r  r:   s
   &&&f&     r    test_callable_result_dtype_framerh    s    $ 
C!cA3dV4	5Bgnn[)BsG	D!3%(&	1B89F,2k,AR]]1a(yN)#	(A$L'!lg&="L#3Q01HOOH "#&+r   inputr}   c                 d  a \        R ^.R^.RV./4      p\        VP                  V 4      R,          V4      pV! V3R l4      pVR8X  d   \        P                  ! ^ ^4      MTp\        VR,          P                  ^ ,          .VRR7      P                  S4      p	\        P                  ! Wy4       R# )r   r   r   c                 H   < V P                  S4      P                  ^ ,          # r   r`  )r   r}   s   &r   r.   3test_callable_result_dtype_series.<locals>.<lambda>E  s    !((5/..q1r   rS  r   N)
r   re  r$   rb   rf  r   ra  r   r5   rS   )
r#  rg  ri  r}   r]  r&   rL  r9   r  r:   s
   &&&f&     r   !test_callable_result_dtype_seriesrm  7  s     
C!cA3eW5	6B	D!#&	/B12F,2k,AR]]1a(yNr#w||A'~CHOOPUVH6,r   c                      \        R . ROR. RO/4      p V P                  R 4      P                  . RO4      pVP                  P                  ^,          p\        . RO4      p\        P                  ! W#4       R# )r=   rQ   Nr<  r   )r   r   r3   r  r`   )r   r$   r%   r   levelsr   r5   r   )r&   r   r9   r:   s       r   #test_order_aggregate_multiple_funcsrp  K  s[    	CsL9	:B
**S/

C
DC[["F:;H&+r   c                 4   \        R . ROR^^\        P                  ^
^\        P                  ./V R7      pVP                  R 4      pVP	                  4       p\        . R	O\        P                  .^,          ^
.^,          ^.^,          .\
        P                  ! R.. R
O.4      \        . ROV R R7      V R7      p\        P                  ! W44       VP                  R RR7      pVP	                  4       pVP                  4       p\        P                  ! Wg4       R# )r   r   r|   r}   r   )r   rF   r}   Fas_indexN)r    r    r!   r"   r#   r#   )   ru     rv  )r  r  r  r  r   )r   rb   rc   r$   r  r   from_productr   r5   r6   r   )r   r&   r'   r9   r:   gb2result2	expected2s   &       r   test_ohlc_ea_dtypesr{  W  s    		 #Br2ruu'EF"
B 
CBWWYF	BEE7Q;q2$(;''#0P(QRL(<3G"	H &+
**S5*
)ChhjG$$&I'-r   howr`   r   r3   c                    \        R RR^^./4      pVP                  R4      P                  R V/4      pVP                  P	                  V 4      Vn        VP                  R4      P                  R V/4      pVR9  d/   VP                  P	                  \
        P                  4      Vn        \        P                  ! WCRR7       R# )r   l   &tLWHd~ r^   T)check_exactN)r3   median)	r   r$   r%   r   r   ra   rd  r5   r6   )r}   r|  r&   r:   r9   s   &&   r   test_uint64_type_handlingr  m  s     
C,cAq6:	;Bzz#""C:.H44;;uBDZZ_  #s,F
$$88??288,&=r   c                      R p \        R. ROR. RO/4      p\        P                  ! \        V R7      ;_uu_ 4        VP	                  R4      P                  RR.4       RRR4       R#   + '       g   i     R# ; i)zFunction namesr=   rQ   r?   r`   Nr   r   r    r    r   )r   rG   rH   r   r$   r%   )rJ   r&   s     r   test_func_duplicates_raisesr  {  sU    
C	CsL9	:B	)	5	5


3UEN+ 
6	5	5	5s   #A''A8	rF   abc2020r   r   c                     \        R . ROR. RO/V R7      pVP                  R 4      P                  R\        P                  /4      p\        R ^^.R^^./4      P                  R 4      p\        P                  ! W#4       R# )groupr   rE   Nr    r    r!   )r   r    r   )r   r$   r%   r   nuniquerY  r5   r6   )rF   r&   r9   r:   s   &   r   $test_agg_index_has_complex_internalsr    so     
GY;5	IBZZ $$gv~~%>?F'Aq67QF;<FFwOH&+r   c            	          \        R . R
OR. ROR. RO/4      p V P                  R 4      P                  4       p\        RRR.RRR./\        RR.R R7      R7      p\        P
                  ! W4       R	# )key1r   r   key2onekey3sixr   rE   N)r   r   r   r   r   )r  twor  r  r  )threer  r  r  r  )r   r$   r`   r   r5   r6   r&   r9   r:   s      r   test_agg_split_blockr    sx    	-7=	

B ZZ##%F	%%8S#JV,H &+r   c                     \        R \        P                  ! R^R7      R. ROR. ROR. ROR\        P                  ! R^R7      R	. RO/4      P                  \        4      p V P                  . RO4      P                  4       p\        R \        P                  ! R4      .RR.R^.RR.R\        P                  ! R4      .R	^./\        P                  ! ^ .4      \        R
7      p\        P                  ! W4       R# )r=   2000)r   rQ   r   r   r>   r   r   r   r   N)r   r   r   r1  r   )r   r   r1  er   r   r   r   )r   rb   r   r   r   r$   r`   	Timestampra   r   r5   r6   r  s      r   #test_agg_split_object_part_datetimer    s    	vq1%%vq1	
	
 fVn  ZZ%))+F",,v&'#!#",,v&'!	
 hhsmH &+r   c                      a  ] tR tRt o R tR tR tR t]P                  P                  R]P                  ! RRR	7      RRR..4      R
 4       tRtV tR# )TestNamedAggregationSeriesi  c                \   \        . R	O4      pVP                  . R
O4      pVP                  RRR7      p\        R^^.R^^./RR.\        P
                  ! ^ ^.4      R7      p\        P                  ! W44       VP                  RRR7      pVRR.,          p\        P                  ! W44       R# )r    r   r`   r   r   r   r   r   )r   r   Nr   r  r   r$   r%   r   ra   r   r5   r6   )selfr&   grr9   r:   s   &    r   test_series_named_agg0TestNamedAggregationSeries.test_series_named_agg  s    L!ZZ%%5)1a&#1v&c
"((Aq6BR
 	f/%5)S#J'
f/r   c                H   \        ^^.4      P                  ^ ^.4      p\        P                  ! \        RR7      ;_uu_ 4        VP                  4        RRR4       VP                  . 4      p\        . R7      p\        P                  ! W#4       R#   + '       g   i     LE; i)r    Must provider?   Nr  )	r   r$   rG   rH   r   r%   r   r5   r6   r  r  r9   r:   s   &   r   test_no_args_raises.TestNamedAggregationSeries.test_no_args_raises  sm    QF^##QF+]]9N;;FFH < R(
f/ <;s   BB!	c                    \        . RO4      P                  . RO4      pVP                  RRR7      p\        R^^.R^^./\        P
                  ! ^ ^.4      R7      p\        P                  ! W24       R# )	r    r   r  r   r   rE   Nr    r!   r"   r   r   r    r  )r  r  r8   r:   s   &   r   *test_series_named_agg_duplicates_no_raisesETestNamedAggregationSeries.test_series_named_agg_duplicates_no_raises  sa    I&&y1&&5E&*cAq63A7rxxA?OP
h0r   c                    \        . RO4      P                  . R	O4      pVP                  R R R7      p\        R^ ^ .R^^./\        P
                  ! ^ ^.4      R7      p\        P                  ! W#4       R# )
r    c                     ^ # r    r   s   &r   r.   9TestNamedAggregationSeries.test_mangled.<locals>.<lambda>  s    Ar   c                     ^# r    r  r   s   &r   r.   r    s    1r   r  r   r   rE   Nr  r  r  r  s   &   r   test_mangled'TestNamedAggregationSeries.test_mangled  sa    I&&y1+5cAq63A7rxxA?OP
f/r   inpanythingr`   columnaggfuncc                (   \        . RO4      pR\        V4      P                   2p\        P                  ! \
        VR7      ;_uu_ 4        VP                  VP                  4      P                  VR7       RRR4       R#   + '       g   i     R# ; i)r    zfunc is expected but received r?   r   N)r    r    r!   r!   r"   r"   r#   rF  )	r   type__name__rG   rH   r   r$   r\   r%   )r  r  r  rJ   s   &&  r   test_named_agg_nametuple3TestNamedAggregationSeries.test_named_agg_nametuple  sd     +,.tCy/A/A.BC]]9C00IIahh##c#* 1000s   
,B  B	r  N)r  r`   )r  
__module____qualname____firstlineno__r  r  r  r  rG   markparametrizerb   NamedAggr  __static_attributes____classdictcell____classdict__s   @r   r  r    s]     0010 [[KKz59	
++r   r  c                   n   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )TestNamedAggregationDataFramei  c                    \        R . ROR. ROR. RO/4      pVP                  R 4      P                  RRR7      p\        R^^.R^^./\        RR.R R7      RR.R	7      p\        P
                  ! W#4       \        P                  ! \        P                  ^bR
7      pVP                  R 4      P                  RRRRRRV3R7      p\        R^^.R^ ^.RRR.R^^.R^^.RRR./\        RR.R R7      . ROR	7      p\        P
                  ! W#4       R# )r  r   r   r=   rQ   )a_maxb_maxr  r  r   r  r  )b_mina_mina_meanr  r  a_98r  r  r        ?      @r  g\(\?gףp=
@Nr   r   r   r   r=  rF  rH        r=   r   rQ   r   rQ   r`   r=   r`   )r=   r3   )
r   r$   r%   r   r5   r6   	functoolsr   ra   
percentile)r  r&   r9   r:   p98s   &    r   test_agg_relabel.TestNamedAggregationDataFrame.test_agg_relabel  s7   *CsLQ
 G$((|<(Pq!fg1v.c
1g&

 	f/ 4G$(( s ) 
 !Q!Q3*!Q!Qt c
1J
 	f/r   c           	         \        R . R	OR. R
OR. RO/4      pVP                  R 4      P                  ! R/ RR/B p\        R^^./\        RR.R R7      R7      p\        P
                  ! W#4       R# )r  r   r   r=   rQ   zmy colr   rE   Nr  r=  r  r  r  rI  r  r&   r9   r:   s   &   r   test_agg_relabel_non_identifier=TestNamedAggregationDataFrame.test_agg_relabel_non_identifier  sn    *CsLQ
 G$((DHl+CDhA/uc3Zg7VW
f/r   c                v   \        R . ROR. RO/4      pVP                  R 4      P                  RRR7      p\        R^^.R^^./\        ^ ^.R R7      R7      p\        P
                  ! W#4       \        P                  ! \        P                  ^2R7      p\        P                  ! \        P                  ^FR7      pRVn
        R	Vn
        \        R
. ROR. RO/4      pVP                  R
4      P                  RV3RV3R7      p\        RRR.RRR./\        RR.R
R7      R7      p\        P
                  ! W#4       R# )r=   rQ   r  r   r   r   rE   r  quant50quant70col1col2)quantile_50quantile_70r        ?r   r  g333333?g@Nr  r   r  )r   r   r   r   r   )r    r!   r"   r#   rF  )r   r$   r%   r   r5   r6   r  r   ra   r  r  )r  r&   r8   r:   r  r  tests   &      r   test_duplicate_no_raises6TestNamedAggregationDataFrame.test_duplicate_no_raises$  s&    \3=>**S/%%%EcAq63A7uaVRU?VW
g0##BMMR8##BMMR8$$&";V_UV,,v&**)7H + 
 S#JSzBc
0
 	g0r   c           	        \        R . ROR. RO/\        P                  ! R R.RR..4      R7      pVP                  ^ R7      P	                  RRRR7      p\        R^ ^.R^ ^.R	R
R./R R.R7      p\
        P                  ! W#4       R# )r=   rQ   r   r   rE   r   )aabbccr  r  r  r        @Nr  r   r  r  )rQ   r3   )r   r   rw  r$   r%   r5   r6   r  s   &   r   test_agg_relabel_with_level9TestNamedAggregationDataFrame.test_agg_relabel_with_level=  s    ,\2))C:Sz*BC
 !$(( ) 
 Aq64!QSz:3*
 	f/r   c                >   \        R . ROR. RO/4      pVP                  R 4      pRp\        P                  ! \        VR7      ;_uu_ 4        VP                  ^R7       RRR4       \        P                  ! \        VR7      ;_uu_ 4        VP                  4        RRR4       \        P                  ! \        VR7      ;_uu_ 4        VP                  R	RR7       RRR4       R#   + '       g   i     L; i  + '       g   i     Le; i  + '       g   i     R# ; i)
r=   rQ   r  r?   )r   Nr  r  r  r  )r   r$   rG   rH   r   r%   )r  r&   r8   r@   s   &   r   test_agg_relabel_other_raises;TestNamedAggregationDataFrame.test_agg_relabel_other_raisesJ  s    YY78**S/]]9E22KKAK 3 ]]9E22KKM 3 ]]9E22KK,)K4 32 32 32 322s$   C%
C8D%C5	8D	D	c                    \        R ^ ^.R^^./4      pRp\        P                  ! \        VR7      ;_uu_ 4        VP	                  R 4      P                  RR7       RRR4       R#   + '       g   i     R# ; i)r=   rQ   zLabel\(s\) \['C'\] do not existr?   r   N)r>   r   )r   rG   rH   KeyErrorr$   r%   )r  r&   rJ   s   &  r   test_missing_raises1TestNamedAggregationDataFrame.test_missing_raisesW  s[    aVS1a&120]]83//JJsO,/ 0///s   "A&&A7	c                6   \        R ^ ^.R^^./4      pVP                  R 4      P                  \        P                  ! RR4      \        P                  ! RRR7      R7      pVP                  R 4      P                  RRR7      p\
        P                  ! W#4       R# )	r=   rQ   r   countr  r   r   N)rQ   r   )rQ   r  r   r$   r%   rb   r  r5   r6   r  s   &   r   test_agg_namedtuple1TestNamedAggregationDataFrame.test_agg_namedtuple]  s    aVS1a&12C$$kk#u%C)Q % 
 ::c?&&&H
f/r   c                D    VP                   ! W#3/ VB P                  4       # r+   )betweenr   )r  r   r  r  kwargss   &&&&,r   	n_between'TestNamedAggregationDataFrame.n_betweene  s    {{3//3355r   c                   \        R . ROR. RO/4      pVP                  R 4      P                  \        P                  ! RV P
                  ^ ^4      R7      p\        R^^./\        ^ ^.R R7      R7      p\        P                  ! W#4       R# )	r=   rQ   )count_betweenr  r   rE   Nr  r   r    r!   	r   r$   r%   rb   r  r
  r   r5   r6   r  s   &   r   test_namedagg_args0TestNamedAggregationDataFrame.test_namedagg_argsh  sy    \3>?C$$++c4>>1a@ % 
 o1v6eQFQT>UV
f/r   c           
        \        R . R	OR. R
O/4      pVP                  R 4      P                  \        P                  ! RV P
                  ^ ^RR7      R7      p\        R^^./\        ^ ^.R R7      R7      p\        P                  ! W#4       R# )r=   rQ   both	inclusive)count_between_kwr  r   rE   Nr  r  r  r  s   &   r   test_namedagg_kwargs2TestNamedAggregationDataFrame.test_namedagg_kwargsr  s    \3>?C$$[[dnnafU % 
 !Q(q!f30G
 	f/r   c           
        \        R . R	OR. R
O/4      pVP                  R 4      P                  \        P                  ! RV P
                  ^ ^RR7      R7      p\        R^ ^ ./\        ^ ^.R R7      R7      p\        P                  ! W#4       R# )r=   rQ   neitherr  )count_between_mixr  r   rE   Nr  r  r  r  s   &   r   test_namedagg_args_and_kwargs;TestNamedAggregationDataFrame.test_namedagg_args_and_kwargs~  s    \3>?C$$ kkT^^QY % 

  1a&)1vC1H
 	f/r   c           
        \        R . R	OR. R
O/4      pVP                  R 4      P                  \        P                  ! RV P
                  ^ ^4      \        P                  ! RV P
                  ^^4      \        P                  ! RV P
                  ^ ^4      R7      p\        R. ROR. ROR. RO/\        . R	OR R7      R7      p\        P                  ! W#4       R# )r=   rQ   )n_between01n_between13n_between02r   r!  r"  r   rE   Nr=  r   )r    r   r   r   )r    r    r    r   )r    r    r   r   r  r  s   &   r   ,test_multiple_named_agg_with_args_and_kwargsJTestNamedAggregationDataFrame.test_multiple_named_agg_with_args_and_kwargs  s    \3=>C$$CA>CA>CA> % 

 |||
 3/
 	f/r   c           	         \        R ^ ^.R^^.R^^./4      pVP                  R 4      P                  RR 3RR 3R7      p\        R^ ^ .R^^./\        ^ ^.R R7      R	7      p\        P
                  ! W#4       R
# )r=   rQ   r>   c                     ^ # r   r  r   s   &r   r.   <TestNamedAggregationDataFrame.test_mangled.<locals>.<lambda>  s    qr   c                     ^# r  r  r   s   &r   r.   r'    s    Qr   r  r   r   r   rE   NrI  r  s   &   r   r  *TestNamedAggregationDataFrame.test_mangled  s    aVS1a&#1v>?C$$['9c;=O$PcAq63A7uaVRU?VW
f/r   r  N)r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r#  r  r  r  r  s   @r   r  r    sL     "0H012050060
000&0 0r   r  zCagg_col1, agg_col2, agg_col3, agg_result1, agg_result2, agg_result3r=   rQ   r  r  g      @      @c                     \        V 4      # r+   )r   r   s   &r   r.   r.     s    3q6r   c                     ^# r  r  r   s   &r   r.   r.         1r   c                     ^# r  r  r   s   &r   r.   r.     s    ar   c           	         \        R . ROR. ROR. RO/4      p\        P                  ! . RO4      Vn        \	        RR.RR7      pVP                  R4      P                  RR7      p\        R^^./VR7      p	\        P                  ! W4       VP                  R4      P                  WVR	7      p\        R
VRVRV/VR7      p	\        P                  ! W4       R# )r  r   r   r=   rQ   r   )r  r  rE   )col_1col_2col_3r0  r1  r2  Nr  r=  r  r   r  r3  r^   r=   r^   rQ   r5  r   )	r   r   rv   r   r   r$   r%   r5   r6   )
agg_col1agg_col2agg_col3agg_result1agg_result2agg_result3r&   idxr9   r:   s
   &&&&&&    r   "test_agg_relabel_multiindex_columnr?    s    B 
	&\3M
B ''(PQBJ
c

0CZZ'++2E+FF'Aq6*#6H&+ZZ'++h , F 	+wWkJRUH &+r   c            	      2   \        R . ROR. ROR. R	O/4      p \        P                  ! . RO4      V n        \        P
                  ! \        RR7      ;_uu_ 4        V P                  R
4      P                  RR7       RRR4       R#   + '       g   i     R# ; i)r  r=   rQ   zdo not existr?   r  Nr  r=  r  r3  r4  ))Yr   r   )	r   r   rv   r   rG   rH   r  r$   r%   )r&   s    r   ,test_agg_relabel_multiindex_raises_not_existrB    sm    		&\3M
B ''(PQBJ	x~	6	6


>"&&)<&= 
7	6	6	6s   "BB	c            	      &   \        R . R	OR. R
OR. RO/4      p \        P                  ! . RO4      V n        V P	                  R4      P                  RRR7      p\        RR.RR7      p\        R^ ^.R^ ^./VR7      p\        P                  ! W4       R# )r  r   r   r=   rQ   r  r   rE   Nr  r=  r  r3  r4  )r5  r`   )	r   r   rv   r   r$   r%   r   r5   r6   )r&   r9   r>  r:   s       r   &test_agg_relabel_multiindex_duplicatesrD    s     
	&\3M
B ''(PQBJZZ'++
!4 , F c

0C#1vsQF33?H&+r   r	  r   c           	      
   \        R . ROR. R	OR. R
O/4      pVP                  R 4      P                  V 4      p\        ^^.\        ^^.RR R7      \        P
                  ! RR..4      R7      p\        P                  ! W#4       R# )r   r   r   rd  rr  r`   r  Nr  r  r    r!   r#   )r   r$   r%   r   r   rv   r5   r6   )r	  r&   r9   r:   s   &   r    test_groupby_aggregate_empty_keyrG    sx     
CCCC	DBZZ_  (F	
AQF'4&&e~6H
 &+r   c            	          \        R . ROR. ROR. RO/4      p V P                  R 4      P                  R. /4      p\        \        R.. .. . .R7      R7      p\        P
                  ! W4       R# )	r   r   r   ro  codesr  Nr  r  rF  r   r$   r%   r   r5   r6   r  s      r   -test_groupby_aggregate_empty_key_empty_returnrL    s^    	CCCC	DBZZ_  #r+FSE2;r2h!OPH&+r   c            	          \        . ROR7      p V P                  R R.RR7      P                  R\        3R7      p\        R.\	        . . .. . .R R.R7      R	7      p\
        P                  ! W4       R
# )r   r   r   r  Frz   )r1  r1  rr   r   Nr   r   r   )r   r$   r%   r   r   r5   r6   r  s      r   2test_groupby_aggregate_empty_with_multiindex_framerO    sj    	?	+BZZc
uZ599S$K9HFZR2r(3*MH &+r   c                      \        R . R	OR. R
O/4      p V P                  R RR7      pVP                  \        P                  ! RRR7      R7      p\        R . ROR. RO/4      p\
        P                  ! W#4       R# )r   valFrs  r`   r  min_valrS  N)r   r^   r_   r   r^   r_         ?皙?r   g      @g@      ?r]   )rU  rV  rW  r  r&   r8   r9   r:   s       r   9test_grouby_agg_loses_results_with_as_index_false_relabelrY    sm     
	.7VW
B jjj/G[[E5!I[JF%)=MNOH&+r   c            	         \        R . R
OR. ROR. RO/4      p V P                  R R.RR7      pVP                  \        P                  ! RRR7      R7      p\        R . ROR. ROR. RO/4      p\
        P                  ! W#4       R	# )r   r  rQ  Frs  r`   r  rR  rS  N)r   r^   r   r^   r   r   )r   r   r   r   r   r   rT  r   r   r^   )r   r   r   )rU  rW  rV  r  rX  s       r   Dtest_grouby_agg_loses_results_with_as_index_false_relabel_multiindexr\  #  s    
 
122	

B jj%5j9G[[E5!I[JF	)EUVH &+r   c                    V P                  R RR7      pVRR.,          P                  R4      pVP                  RR7      p\        P                  ! W#4       VP                  RRRR/4      pVP                  RR7      pVP                  4       R,          VR&   \        P                  ! WE4       V P                  R RR7      pR	p\        P                  ! \        VR
7      ;_uu_ 4        VR,          P                  RR/4       RRR4       V P                  R R.RR7      pVP                  R4      pVP                  4       p\        P                  ! W#4       VP                  RRRR/4      pVP                  4       pVP                  4       R,          VR&   \        P                  ! WE4       VR,          P                  4       p\        V4      P                  RR/R7      pR	p\        P                  ! \        VR
7      ;_uu_ 4        VR,          P                  RR/4       RRR4       \        \        P                  P                  ^4      P                  ^ ^dR4      . ROR7      p \        \        P                  P                  ^4      P                  ^^
^24      RR7      pV P                  V4      p	V	P!                  ^ 4       R Fy  p
V P                  VRR7      p	\#        W4      ! 4       pV P                  VP$                  RR7      p	\#        W4      ! 4       P'                  RR7      p\        P                  ! W4       K{  	  R#   + '       g   i     ELJ; i  + '       g   i     EL@; i)r=   Frs  r>   r   r3   T)numeric_onlyr   r,  r?   QNrQ   r  jimr   r   )2   r"   )r`  joejolie)r3   r   r  idxmaxrP  r8  )r$   r%   r3   r5   r6   r   rG   rH   r   r   renamera   r   r   integersr   nthre  r\   r   )r&   r8   r9   r:   ry  rz  rJ   	expected3r   r  attrleftrights   &            r   test_groupby_as_index_aggrl  8  s   jjuj-G c3Z $$V,F|||.H&+kk3U34G$/I[[]3'IcN'-jjtj,G
,C	)	5	5#u& 
6
 jj#sej4G[[ F||~H&+kk3U34GI[[]3'IcN'-  "I)$++S#J+?I
+C	)	5	5#u& 
6 

		a ))!S':'
B 
		%%a(11!R<5	IB	BBFF1ICZZUZ+r "ZZ		DZ1!#//T/:
d* DA 
6	5	5& 
6	5	5s   &MMM	M'	r   c                 "    V P                  4       # r+   r   r  s   &r   r.   r.   t  s
    qvvxr   c                 .    \         P                  ! V 4      # r+   r%  rn  s   &r   r.   r.   t  s    2771:r   c                 .    \         P                  ! V 4      # r+   )ra   nanmeanrn  s   &r   r.   r.   t  s    Ar   c           	         . RO. RO.p\        V\        P                  ! . RO. RO.RR.R7      R7      pVP                  \        P
                  ! ^ ^.4      4      P                  V 4      pR^ R^R/R^ R^R/R^ R	^R//p\        V\        P
                  ! ^ ^.4      VP                  R
7      p\        P                  ! W54       R# )r    SiskoJanewayrr   r  rU        @r   g      @r   r  N)r    r#   r!   )rF  r  r    r  )r"   r#   r"   )r    r"   )r    r#   )r!   r"   )
r   r   from_arraysr$   ra   r   r%   r   r5   r6   )r   datar&   r9   expected_dictr:   s   &     r   test_multiindex_custom_funcry  s  s    
 y!D	&&	"7I*>

B ZZ!Q()--d3FCC CC CC M
 bhh1v.>

SH&+r   c                 2    \         P                  ! V R R7      # g?r  ra   r  rn  s   &r   myfuncr}    s    ==d##r   c                 2    \         P                  ! V R R7      # r{  r|  rn  s   &r   r.   r.     s    BMM!t,Dr   c           	          \        R . ROR. ROR. RO/4      pVP                  R 4      P                  RRV 3R7      p\        RR.RR	..R
R.\        RR.R R7      R7      p\        P
                  ! W#4       R# )kindcatdogheightweight)mean_heightperc90g"@g0'5"@g      4@g5^I@r  r  r   r   Nr  r  r  r  g333333"@g      @      #@      A@皙@r*  #@     h@)r  r3   rI  )r   animalsr9   r:   s   &   r   test_lambda_named_aggr    s     0+,	
G __V$((&$/? ) F 
vu&)UEN0H &+r   c            	         \        \        P                  ! ^ .^	,          4      P                  ^^4      \	        R4      \	        R4      R7      p . ROV R&   V P                  R4      P                  R 4      p^ .^ .^ ..^ ^ .^ ^ .^ ^ ...p\        V\        ^R.RRR7      \        . RO4      R	7      p\        P                  ! W4       R
# )r   XYZr  rw  r   rF   group 1groupingc                 "    V P                  4       # r+   )tolistr   s   &r   r.   ,test_aggregate_mixed_types.<locals>.<lambda>  s
    
r   r   rr  r  N)r  r  r!   )XrA  Z)
r   ra   r   reshaper   r$   rR   r   r5   r6   )r&   r9   expected_datar:   s       r   test_aggregate_mixed_typesr    s    	XXqcAg&&q!,d5ke
B /BzNZZ
#--.BCFcA3_1v1v1v&>?MQ	N(Do&H
 &+r   zNot implemented;see GH 31256reasonc                  0   R  p \        R\        P                  ! . RO4      /4      pVP                  . RO4      P	                  V 4      p\        R\        P                  ! ^\        P
                  .RR7      /^^.R7      p\        P                  ! W#4       R# )c                 N    \        V ^8  4      '       d   ^# \        P                  # r!   )r8  rb   rc   r   s   &r   r  5test_aggregate_udf_na_extension_type.<locals>.aggfunc  s    q1u::55Lr   r=   Int64r|   rE   Nr  r  )r   rb   r   r$   r%   rc   r5   r6   )r  r&   r9   r:   s       r   $test_aggregate_udf_na_extension_typer    sp     
C),-	.BZZ	"&&w/F#rxxBEE
'BCAq6RH&+r   c                   |   a  ] tR tRt o R tR t]P                  P                  RR7      R 4       t	R t
R tR	tV tR
# )TestLambdaManglingi  c                    \        R . ROR. RO/4      pVP                  R 4      P                  RR R ./4      p\        R	^ ^ .R
^^./\        ^ ^.R R7      R7      p\        P
                  ! W#4       R# )r=   rQ   c                     ^ # r   r  r   s   &r   r.   /TestLambdaMangling.test_basic.<locals>.<lambda>  s    ar   c                     ^# r  r  r   s   &r   r.   r    s    1r   r   rE   Nr  r   )rQ   
<lambda_0>)rQ   
<lambda_1>rI  r  s   &   r   
test_basicTestLambdaMangling.test_basic  st    \3=>C$$cK+E%FG 1a&*=1vFAS)
 	f/r   c                    \        . RO4      P                  . RO4      pVP                  R R .4      pR^ ^ .R^^./p\        V\        P
                  ! ^ ^.4      R7      p\        P                  ! W$4       R# )	r    c                     ^ # r   r  r   s   &r   r.   ?TestLambdaMangling.test_mangle_series_groupby.<locals>.<lambda>  r-  r   c                     ^# r  r  r   s   &r   r.   r    s    r   r  r  rE   Nr   r  r  )r  r  r9   exp_datar:   s   &    r   test_mangle_series_groupby-TestLambdaMangling.test_mangle_series_groupby  sg    L!)),7k23 1a&,A?XRXXq!f-=>
f/r   zGH-26611. kwargs for multi-agg.r  c                v   RR lpRR lp\        ^^.4      P                  ^ ^ .4      P                  W.^ 4      p\        R^.R^./4      p\        P
                  ! W44       \        ^^.4      P                  ^ ^ .4      P                  W.^ ^
R7      p\        R^.R^./4      p\        P
                  ! W44       R# )	r    c                 >    V P                  4       V,           V,           # r+   rN   r   r^   r   s   &&&r   r.   5TestLambdaMangling.test_with_kwargs.<locals>.<lambda>  s    quuw{Qr   c                 <    V P                  4       W,          ,           # r+   rN   r  s   &&&r   r.   r    s    quuwr   r  r  )r   Nr  r  )r   r$   r%   r   r5   r6   )r  f1f2r9   r:   s   &    r   test_with_kwargs#TestLambdaMangling.test_with_kwargs  s    ..A''A/33RHa@lQCsCD
f/A''A/33RHa23FlRD,EF
f/r   c           	        \        R . ROR. ROR. RO/4      p. ROp\        R	RR.R
RR.RRR./\        RR.R R7      VR7      pVP                  R R7      P                  \        P
                  ! RR R7      \        P
                  ! RRR7      \        P
                  ! RRR7      R7      p\        P                  ! WC4       VP                  R R7      P                  RR 3RRR7      p\        P                  ! WS4       R# )r  r  r  r  r  r  r  r  r  height_sqr_min
height_max
weight_maxp=
׳T@      B@r   r  byc                 <    \         P                  ! V ^,          4      # r  ra   r`   r   s   &r   r.   =TestLambdaMangling.test_agg_with_one_lambda.<locals>.<lambda>      "&&QRTUQU,r   r  r   )r  r  r  c                 <    \         P                  ! V ^,          4      # r  r  r   s   &r   r.   r        q!tr   Nr  r  r  r  r   r  r   )r   r   r$   r%   rb   r  r5   r6   r  r&   r   r:   result1ry  s   &     r   test_agg_with_one_lambda+TestLambdaMangling.test_agg_with_one_lambda  s   4/0
 A 5%.sDksEl
 V4
 ***'++;;h@VW{{(EB{{(EB , 

 	g0 ***'++$&<=(( , 

 	g0r   c                ~   \        R . ROR. R OR. R!O/4      p. ROp\        RRR.RRR.RR	R
.RRR.RRR./\        RR.R R7      VR7      pVP                  R R7      P                  RR 3R"R#RR 3RR 3R7      p\        P
                  ! WC4       VP                  R R7      P                  \        P                  ! RR R7      \        P                  ! RRR7      \        P                  ! RRR7      \        P                  ! RR R7      \        P                  ! RR R7      R7      p\        P
                  ! WS4       R# )$r  r  r  r  r  r  r  r  r*  r  r  r  r  r  height_max_2
weight_minr  r  r   r  r  c                 <    \         P                  ! V ^,          4      # r  r  r   s   &r   r.   =TestLambdaMangling.test_agg_multiple_lambda.<locals>.<lambda>+  r  r   r   c                 .    \         P                  ! V 4      # r+   ra   r   r   s   &r   r.   r  .  s    bffQir   c                 .    \         P                  ! V 4      # r+   r  r   s   &r   r.   r  /  s    BFF1Ir   )r  r  r  r  r  c                 <    \         P                  ! V ^,          4      # r  r  r   s   &r   r.   r  5  r  r   r  c                 .    \         P                  ! V 4      # r+   r  r   s   &r   r.   r  8  s    q	r   c                 .    \         P                  ! V 4      # r+   r  r   s   &r   r.   r  9  s    bffQir   Nr  r  r  r  r  )r   r   r$   r%   r5   r6   rb   r  r  s   &     r   test_agg_multiple_lambda+TestLambdaMangling.test_agg_multiple_lambda  sK    4/0

  5%.sDksEldsCj V4

 ***'++$&<=(("$78 "56 , 
 	g0 ***'++;;h@VW{{(EB{{(EBH>QR{{(<OP , 
 	g0r   r  N)r  r  r  r  r  r  rG   r  xfailr  r  r  r  r  r  s   @r   r  r    sG     00 [[?@	0 A	0#1J/1 /1r   r  c                    . ROV n         V P                  R VR7      pVP                  \        P                  ^P^ R7      p^W P
                  P                  ^8H  ,          P                  R4      ^W P
                  P                  ^8H  ,          P                  R4      /p\        V4      P                  pV'       g/   VP                  ^ R^^.4       \        \        ^4      4      Vn        \        P                  ! W54       R# )r=   c                     V P                   # r+   r1   r   s   &r   r.   9test_pass_args_kwargs_duplicate_columns.<locals>.<lambda>A  s    177r   rs  r   rV  rF   N)r=   rQ   r=   r>   )r   r$   r%   ra   r  rF   r2   r
  r   r  insertr   ranger5   r6   )r7   rt  r'   r   ex_datar:   s   &&    r   'test_pass_args_kwargs_duplicate_columnsr  >  s    *GO	*X	>B
&&&
+C 	
7==&&!+,55c:	7==&&!+,55c:G !##H7QF+uQx#(r   c                      \        R . ROR. R	O/4      p V P                  R 4      P                  RR /4      p\        R RR.RRR./4      P                  R 4      p\        P
                  ! W4       R# )
r=   SWrQ   rU  r   c                 F    V P                  V P                  R,          4      # )r    r  )getrF   r   s   &r   r.   +test_groupby_get_by_index.<locals>.<lambda>T  s    aeeAGGBK.@r   N)r  r  r  )rU  rU  r   )r   r$   r%   rY  r5   r6   )r&   r   r:   s      r   test_groupby_get_by_indexr  Q  sg    	C#?	@B
**S/

s$@A
BC#Sz3c
;<FFsKH#(r   zgrp_col_dict, exp_datanrcat_ordc           
         \        R . ROR\        R4      R\        R4      /4      pVP                  RRRR/4      pVR,          P                  P	                  4       VR&   VP                  RRR7      P                  V 4      p\        P                  ! RR	.RR	.RRRR
7      p\        WR7      pRV9   d/   VR,          P                  pVR,          P                  V4      VR&   \        P                  ! W54       R# )r  r  aabbccddr  aaaabbbbcategoryFobservedr   r   
categoriesorderedr   r}   )rw  rF   Nr    r!   r"   r#   rF  rH  r  r  )r   r   r   r  
as_orderedr$   r%   rb   CategoricalIndexr}   r5   r6   )grp_col_dictr  input_df	result_df	cat_indexexpected_dfr}   s   &&     r    test_groupby_single_agg_cat_colsr  Y  s     *tJ'4
#	
H z9jIJH"9-11<<>HY   7;;LII ##	c
Sz5uJI ;KK#))!,Y!7!>!>u!EI)1r   c           
      J  a
 \        R . ROR\        R4      R\        R4      /4      pVP                  RRRR/4      pVR,          P                  P	                  4       VR&   VP                  RRR7      P                  V 4      p\        P                  ! RR	.RR	.RRRR
7      p. pV P                  4        FL  w  o
p\        V\        4      '       d   VP                  V
3R lV 4       4       K9  VP                  S
V.4       KN  	  \        P                  ! \        V4      4      p\        WVR7      pVP                    FN  p	\        V	\        4      '       g   K  RV	9   g   K$  W,          P                  VR,          P"                  4      W&   KP  	  \$        P&                  ! W84       R# )r  r  r  r  r  r  Fr  r   r   r  c              3   ,   <"   T F	  pSV.x  K  	  R # 5ir+   r  ).0r   ks   & r   	<genexpr>6test_groupby_combined_aggs_cat_cols.<locals>.<genexpr>  s     #>A5QJAs   r  Nr  )r   r   r   r  r  r$   r%   rb   r  itemsr   extendappendr   rv   r   r   r}   r5   r6   )r  r  r  r   r  multi_index_listvmulti_indexr  colr  s   &&        @r   #test_groupby_combined_aggs_cat_colsr    su    *tJ'4
#	
H z9jIJH"9-11<<>HY   7;;LII ##	c
Sz5uJI ""$1a###>A#>>##QF+	 %
 ((/?)@AKiPK""c5!!i3&6*/66x	7J7P7PQK #
 )1r   c                      \        R . ROR. RO/4      p V P                  R 4      pVP                  R.4      pVP                  P	                  R4      Vn        VP                  R4      p\
        P                  ! W#4       R# )r   r   rP  Nr<  )r    r!   r!   r    r  )r   r$   r%   r   	droplevelr5   r6   )r&   rw   r9   r:   s       r   test_nonagg_aggr    se     
CsL9	:B


3AUUH:F^^--b1FNuuXH&+r   c                  B   \        R RR.R\        P                  ! R^^^
^^R4      \        P                  ! R^^^
^^R4      ./4      p V P                  R 4      P                  P	                  4       pV P                  R 4      R,          p\        P                  ! W4       R# )r=   r  rA  rQ   i  i`= i  N)r   datetimer$   rQ   r   rY  r5   rS   r  s      r   test_aggregate_datetime_objectsr    s     
#s!!$1b"b&A!!$1b"b&A	

B ZZ_""$F||C %H6,r   c            	      R   \        R . R
OR. ROR. RO/4      p V P                  P                  R4      V n        V P                  R R.4      pVP                  P                  R 4      p\        P                  ! RR.RR7      p\        RR.VRR7      p\        P                  ! W$4       R	# )c0c1pOc                     \        V ^ 8  4      # r   r7  r   s   &r   r.   1test_groupby_index_object_dtype.<locals>.<lambda>  s    #a!e*r   rr   FTr   N)r   r   r   r[  )r   r    r!   )r   r   )r   r^   )r  r  )r   rF   r   r$   r  r%   r   rv   r   r5   rS   )r&   r8   r   r  r:   s        r   test_groupby_index_object_dtyper    s    	D/4#yQ	RBxxs#BHjj$&G
))--,
-C  ++	Z N udm>DH3)r   c                      R  p \        R.\        P                  ! R4      .R7      pVP                  R 4      P	                  V 4      p\        R..^.R7      p\
        P                  ! W#4       R# )c                 z    V P                  4       P                  4       '       d   R # \        P                  ! V 4      # r+   )isnar8  ra   r   r   s   &r   r   )test_timeseries_groupby_agg.<locals>.func  s&    88:>>vvc{r   rU  z2018-01-16 00:00:00+00:00rE   c                     ^# r  r  r   s   &r   r.   -test_timeseries_groupby_agg.<locals>.<lambda>  s    qr   N)r   rb   r  r$   r%   r5   r6   )r   r&   r   r:   s       r   test_timeseries_groupby_aggr&    s]    
 
C5.I!J K	LB
**[
!
%
%d
+C3%,H#(r   c                 4   V \         P                  9   d!   \        P                  ! V 4      P                  pV \         P
                  9   d!   \        P                  ! V 4      P                  pV \         P                  9   d/   \        P                  ! V P                  4       4      P                  pV \         P                  9   d/   \        P                  ! V P                  4       4      P                  p\        R R.RR.R\        P                  ! X.V R7      /4      pR.R..p\        P                  ! VR
R7      p\        R\        P                  ! V.V R7      /VR7      pVP                  R R.4      P!                  R 4      p\         P"                  ! We4       R	# )r  r   r  r   r  r|   rr   rE   c                     V # r+   r  r   s   &r   r.   ,test_groupby_agg_precision.<locals>.<lambda>  s    r   N)r  r  )r5   ALL_INT_NUMPY_DTYPESra   iinfor   FLOAT_NUMPY_DTYPESfinfoFLOAT_EA_DTYPESlowerALL_INT_EA_DTYPESr   rb   r   r   rv  r$   r%   r6   )any_real_numeric_dtype	max_valuer&   arraysrF   r:   r9   s   &      r   test_groupby_agg_precisionr4    sB   !8!88HH3488	!6!66HH3488	!3!33HH399;<@@	!5!55HH399;<@@		SESEBHHi[0FG	

B ecU^F""61ABE	9+-CDEUH ZZ()--k:F&+r   c                    V R9   d   R# \        ^ ^.^ \        P                  ..4      pVP                  ^ 4      P	                  V 4      pVP                  ^ 4      P	                  ^V /4      pV R9   d"   \
        P                  ! W#^,          RR7       R# \
        P                  ! W#4       \
        P                  ! VP                  VP                  4       R# )corrwithNF)check_names)r6  rg  )r   ngroup)	r   ra   rX   r$   r%   r5   rS   r6   dtypes)r   objresult_reduced_seriesresult_reduced_frames   &   r    test_groupby_aggregate_directoryr=    s    ,,
aVa[)
*CKKN..~>;;q>--q..AB++
!#:	
 	3J
!((*>*E*E	
r   c                      \        . RORR7      p \        R.R\        P                  ! ^ .4      R7      pV P                  . RO4      P	                  4       p\
        P                  ! W!4       R# )1 dayztimedelta64[ns]r|   z2 daysr~   N)r?  z3 daysrd   r   r   r   )r   ra   r   r$   r3   r5   rS   )rw  r:   r9   s      r   test_group_mean_timedelta_natrA    sP    ,4EFDxj(91#OH\\)$))+F6,r   zinput_data, expected_outputz2021-01-01T01:00z2021-01-01T01:00-0100c                     \        \        V 4      4      p\        \        V\        P                  ! ^ .4      R7      4      pVP	                  . RO4      P                  4       p\        P                  ! WC4       R# )r   rE   Nr@  )r
   r   ra   r   r$   r3   r5   rS   )
input_dataexpected_outputrw  r:   r9   s   &&   r   test_group_mean_datetime64_natrE  (  sS     vj)*D6/1#GHH\\)$))+F6,r   zfunc, outputr   c                 *   \        \        P                  ! ^4      P                  ^
^4      P	                  ^R.4      4      pVP                  VP                  ^,          4      P                  V 4      p\        V4      p\        P                  ! W44       R# )                  @N)
r   ra   r   r  dotr$   rF   r%   r5   rS   )r   outputrw  r9   r:   s   &&   r   test_groupby_complexrK  >  sj    
 "))B-''A.22Ar7;<D\\$**q.)--d3Ff~H6,r   c                 n   \        \        P                  ! ^4      P                  ^
^4      P	                  ^R.4      4      pRp\
        P                  ! \        VR7      ;_uu_ 4        VP                  VP                  ^,          4      P                  V 4       RRR4       R#   + '       g   i     R# ; i)rG  rH  zNo matching signature foundr?   N)r   ra   r   r  rI  rG   rH   r   r$   rF   r%   )r   rw  rJ   s   &  r   test_groupby_complex_raisesrM  I  sv     "))B-''A.22Ar7;<D
'C	y	,	,TZZ!^$((. 
-	,	,	,s   '2B##B4	ztest, constantr>   )marksc                     \        V 4      pVP                  ^ 4      P                  \        P                  4      p\        V4      pVP                  ^ 4      p\        P                  ! W44       R# )r   N)r   r$   r%   r   moderY  r5   r6   )r  constantdf1r9   r:   s   &&   r   test_agg_of_mode_listrS  R  sS     D/C[[^,F "H!!!$H&+r   c            	         \        R . ROR. RO/4      p V P                  R4      pRR lpRR lpRp\        P                  ! \        VR7      ;_uu_ 4        VP                  W#.^^^R7       RRR4       VP                  W#.^^R7      p\        ^^.^	^	.^
^
..\        . RORR	7      \        P                  ! RR.4      R
7      p\        P                  ! WV4       R#   + '       g   i     Lw; i)r   r^   c                 >    V P                  4       V,           V,           # r+   rN   r   r   r   s   &&&r   foo1@test_dataframe_groupy_agg_list_like_func_with_args.<locals>.foo1p      uuw{Qr   c                 >    V P                  4       V,           V,           # r+   rN   r   r   r   s   &&&r   foo2@test_dataframe_groupy_agg_list_like_func_with_args.<locals>.foo2s  rY  r   /foo1\(\) got an unexpected keyword argument 'b'r?   r  Nr  r   r  r  rN  r    r   r!   r   )r   rW  )r   r\  )r   r$   rG   rH   r   r%   r   r   rv   r5   r6   )r&   r'   rW  r\  rJ   r9   r:   s          r   2test_dataframe_groupy_agg_list_like_func_with_argsra  k  s    	CC9	:B	CB =C	y	,	,
|Q!q) 
- VVTL!qV)F
Q!Q"b"O#.&&}'EFH
 &+ 
-	,s   CC+	c            	         \        . RO4      p V P                  V 4      pRR lpRR lpRp\        P                  ! \        VR7      ;_uu_ 4        VP                  W#.^^^R7       RRR4       VP                  W#.^^R7      p\        ^^.^	^	.^
^
..\        . RO4      RR	.R
7      p\        P                  ! WV4       R#   + '       g   i     La; i)r    c                 >    V P                  4       V,           V,           # r+   rN   rV  s   &&&r   rW  =test_series_groupy_agg_list_like_func_with_args.<locals>.foo1  rY  r   c                 >    V P                  4       V,           V,           # r+   rN   r[  s   &&&r   r\  =test_series_groupy_agg_list_like_func_with_args.<locals>.foo2  rY  r   r^  r?   r  Nr  rW  r\  r  r  r_  r`  )
r   r$   rG   rH   r   r%   r   r   r5   r6   )r  sgbrW  r\  rJ   r9   r:   s          r   /test_series_groupy_agg_list_like_func_with_argsrh    s    yA
))A,C =C	y	,	,a1* 
- WWd\1W*F
Q!Q"b"%	*:VVDTH &+ 
-	,s   B??C	c            	      "   \        R . ROR. ROR. R	O/4      p V P                  R R.4      pVRR.,          pVP                  R 4      p\        ^^.^^..^ ^.^ ^..R R.R7      p\        R^^.R^^./VR7      p\        P
                  ! W54       R# )
r   r   r   c                 "    V P                  4       # r+   rN   r   s   &r   r.   .test_agg_groupings_selection.<locals>.<lambda>  s
    quuwr   )ro  rJ  rs   rE   Nr  )r"   r"   r#   )rF  rH  r  rK  )r&   r'   selected_gbr9   rF   r:   s         r   test_agg_groupings_selectionrm    s    	CCCC	DB	S#J	Bc3Z.K__./FAAAA'7SzE #1vsRG4EBH&+r   c            	          \        R . R	OR. R
O/4      p V P                  R RR7      R,          pVP                  RR.4      p\        R ^^.R^^.RRR./4      p\        P                  ! W#4       R# )r   r   Frs  r   r3   r  ru  Nr  )r"   r#   rF  r   r$   r%   r5   r6   rJ  s       r   ?test_agg_multiple_with_as_index_false_subset_to_a_single_columnrp    so    	CC3	4B	C%	(	-BVVUFO$F#1vuq!ffsCjIJH&+r   c            	         \        R . ROR. R	OR. R
O/4      p V P                  R R.RR7      pVP                  R.4      p\        . RO. RO. RO.\        P                  ! . RO4      R7      p\
        P                  ! W#4       R# )a1a2r   F)r  rt  r   )rw  r   Nr  )r!   r"   r"   )r#   rF  rH  )r   r!   r#   )r   r"   rF  )r    r"   rH  ))rr   )rs  rt  )r   r   )r   r$   r%   r   rv   r5   r6   rJ  s       r   &test_agg_with_as_index_false_with_listru    sq    	D)T9c9E	FB	d|e	4BVVUG_FI.&&'MNH &+r   c                  R   \        R ^ \        P                  ! R4      ^\        P                  ! R4      ^\        P                  ! R4      //4      p \        R \        . RORR7      R. R	O/4      pVP	                  R4      pVP                  R
R7      p\        P                  ! W04       R# )td0 days 01:00:000 days 01:15:00ztimedelta64[us]r|   grps)rw  N)rx  z0 days 00:15:00ry  )r   r   r   )rw  rP  )r   rb   	Timedeltar   r$   r%   r5   r6   )r:   r&   r'   r9   s       r   Btest_groupby_agg_extension_timedelta_cumsum_with_named_aggregationr|    s    2<< 122<< 122<< 12	
H 
&I' O	

B 
F	BVV'V(F&+r   c                  ,   R  p \        R\        P                  ! RR.. R
OR7      R^^./4      pRp\        P                  ! \
        VR7      ;_uu_ 4        VP                  RRR7      P                  V 4       R	R	R	4       R	#   + '       g   i     R	# ; i)c                 N    \        V 4      ^ 8X  d   \        R4      h\        V 4      # )r   length must not be 0)r   r   r   s   &r   r   2test_groupby_aggregation_empty_group.<locals>.func  s"    q6Q;3441vr   r=   r   )r  rQ   r  r?   Fr  NrN  )r   rb   CategoricalrG   rH   r   r$   r%   )r   r&   rJ   s      r   $test_groupby_aggregation_empty_groupr    st    
 
	bnnc3ZODcAq6R
B !C	z	-	-


3
'++D1 
.	-	-	-s   #BB	c            	          \        . RO. R	O. R
O.. ROR7      p V P                  R4      pVP                  RR/4      p\        ^^	.^^..RR.\        ^^.RR7      R7      p\        P
                  ! W#4       R# )r    r   r   r  r   r   r   Nr   rE  rG  r   rI  rJ  s       r   <test_groupby_aggregation_duplicate_columns_single_dict_valuer    sw    		|\2$
B 
CBVVS%L!F
Q!Q3*E1a&s4KH &+r   c            	         \        . RO. R	O. R
O.. ROR7      p V P                  R4      pVP                  R. RO/4      p\        . RO. RO.\        R.. RO.. RO. RO.R7      \	        ^^.RR7      R7      p\
        P                  ! W#4       R# )r    r   r   r  rI  r   r   Nr   rE  rG  r   )r   r`   r   r`   )r  r"   r#   r"   	   r#   rF  r#   )rF  rF  rF  rF  rH  rH  rH  rH  )r   r`   r   )r   r   r   r   r   r   r   r   )r   r    r!   r    r   r    r!   r    r   r$   r%   r   r   r5   r6   rJ  s       r   ?test_groupby_aggregation_duplicate_columns_multiple_dict_valuesr    s    		|\2$
B 
CBVVS678F	!#;<E01+-EF
 QF%H &+r   c            	      "   \        . RO. RO. RO. RO.. ROR7      p V P                  R4      pVP                  R. RR./4      p\        RR.RR	..\        R.R..^ ^ .^ ^ ..R
7      \	        ^^.RR7      R7      p\
        P                  ! W#4       R# )r    r   r   r   r  r   g  @ABg   }Ag     @g        rI  r   r   N)r    is&  +   6     r!     r  ,   )r    r  ir   r!      ir  )r   r   r   r   r   r  rJ  s       r   <test_groupby_aggregation_duplicate_columns_some_empty_resultr    s    	# &#		
 *
B 
CBVVS"cE7+,F
z	"[#$67C55'"2Aq6Aq6:JKQF%H
 &+r   c            
      t   \        . RO. RO. RO. RO.\        RR.RR... RO. RO.R7      \        RR.RR... RO. RO.R7      R7      p V P                  ^ R7      pVP                  RR/4      p\        R
^	.^R..\        R.R..^ ^ .^ ^ ..R7      \	        RR.4      R7      p\
        P                  ! W#4       R	# )r    level1.1level1.2level2.1level2.2rI  r   r   r`   Nr    r  r  r  r  r  r    r  "  r  r   r  r  r   r   r   r    r    r   r    r    r   r    r   r   r   r    r   r    r    r   r  r  r   r   r$   r%   r   r5   r6   rJ  s       r   6test_groupby_aggregation_multi_index_duplicate_columnsr    s    	$ %#		
 ,z:.FG"O4
 ,z:.FG.

B  
!	BVV-u56F
c3Z J<*">1vPQSTvFVWZ,-H
 &+r   c            
         \        . RO. RO. RO. RO.\        RR.RR... RO. RO.R7      \        RR.RR... RO. RO.R7      R7      p V P                  ^ R7      pVP                  RRR	./4      p\        . RO. RO.\        R.R.RR	... RO. RO. RO.R7      \	        RR.4      R7      p\
        P                  ! W#4       R
# )r    r  r  r  r  rI  r   r   r`   r   Nr  r  r  r  r  r  r  r  r  )r  r  r  r  )r  r  r  r  r  )r   r    r   r    r  rJ  s       r   @test_groupby_aggregation_func_list_multi_index_duplicate_columnsr  :  s    	$ %#		
 ,z:.FG"O4
 ,z:.FG.

B  
!	BVV-u~>?F	34L:,?|<
 Z,-H &+r   pyarrowc           
      2   \        R . ROR\        P                  ! . ROV R7      /4      pVP                  R 4      pVP	                  R 4      p\        R\        P                  ! . R	OV R7      /\        . R
OR R7      R7      p\        P                  ! W44       R# )r=   rQ   r|   c                 "    V P                  4       # r+   )r`   r   s   &r   r.   :test_agg_lambda_pyarrow_dtype_conversion.<locals>.<lambda>i  s
    aeegr   r   rE   N)r  c2c3r  r  r  )d         r      iȝ  )r   r  r  r  r  r  r   rb   r   r$   r%   r   r5   r6   )r}   r&   r'   r9   r:   s   &    r   (test_agg_lambda_pyarrow_dtype_conversionr  Z  s     
58F	

B 
CBVV%&F	bhh}E23&S1H &+r   c                  n   \        R . R	OR\        P                  ! . R
OR4      /4      p V P                  R 4      pVP	                  R 4      p\        R\        P                  ! \        ^d^4      \        ^^4      \        ^^4      .RR7      /\        . R	OR R7      R7      p\        P                  ! W#4       R# )r=   rQ   int64[pyarrow]c                 R    \        V P                  4       V P                  4       4      # r+   )complexr   r  r   s   &r   r.   =test_agg_lambda_complex128_dtype_conversion.<locals>.<lambda>y  s    gaeegqwwy9r   
complex128r|   r   rE   Nr  r  r  r  )	r   rb   r   r$   r%   r  r   r5   r6   rJ  s       r   +test_agg_lambda_complex128_dtype_conversionr  r  s     
	 #rxxAQ'RS
B 
CBVV9:Fa'#q/73?C<	

 &S1H &+r   c            
      2   \        R . ROR\        P                  ! . R	ORR7      /4      p V P                  R 4      pVP	                  R 4      p\        R\        P                  ! . R	ORR7      /\        . ROR R7      R7      p\        P                  ! W#4       R# )
r=   rQ   uint64[pyarrow]r|   c                 J    \         P                  ! V P                  4       4      # r+   )ra   uint64r   r   s   &r   r.   Jtest_agg_lambda_numpy_uint64_to_pyarrow_dtype_conversion.<locals>.<lambda>  s    bii0r   r   rE   Nr  r  r  rJ  s       r   8test_agg_lambda_numpy_uint64_to_pyarrow_dtype_conversionr    s     
#/1BC	

B 
CBVV01F/1BC	
 &S1	H &+r   c            
      P   ^ RI p \        R. R
OR\        P                  ! . RORR7      /4      pVP	                  R4      pVP                  R 4      pV P                  R^/R^/R^/.4      p\        R\        V4      /\        . R
ORR7      R	7      p\        P                  ! W54       R# )r   Nr=   rQ   r  r|   c                 
    R ^/# )numberr  r   s   &r   r.   Ktest_agg_lambda_pyarrow_struct_to_object_dtype_conversion.<locals>.<lambda>  s    xmr   r  r   rE   r  r  )
r  r   rb   r   r$   r%   r   r   r5   r6   )par&   r'   r9   arrr:   s         r   9test_agg_lambda_pyarrow_struct_to_object_dtype_conversionr    s     	#/1AB	

B 
CBVV+,F
((XqMHa=8Q-@
AC	!#&'&S1H
 &+r   c                      \        R R.R7      p V P                  R .RR7      R,          P                  R4      p\        R R.R7      p\        P                  ! W4       R# )GroupDatar  Frs  r   Nro  r  s      r   (test_groupby_aggregate_empty_builtin_sumr    sR    	GV,	-BZZ	EZ26:>>uEF'6!23H&+r   c                      R  p \        RR.R7      pVP                  R.RR7      R,          P                  V 4      p\        RR.R7      p\        P                  ! W#4       R# )c                     \        V 4      # r+   rN   r   s   &r   r   .test_groupby_aggregate_empty_udf.<locals>.func  s    1vr   r  r  r  Frs  Nro  )r   r&   r9   r:   s       r    test_groupby_aggregate_empty_udfr    sY     
GV,	-BZZ	EZ26:>>tDF'6!23H&+r   )boolrc  rd  r   r   )r   rR   rS  )Tr    rU  )firstlastr`   r   r3   r  ))r   r   )r   r    )r   r   r5  r7  r6  )r6  r3   )r    r#   r   )rF  r  r   )r    r   r   )rF  r   r1  r  )r   r1  )z2021-01-01T00:00rd   z2021-01-01T02:00)z2021-01-01T00:00-0100rd   z2021-01-01T02:00-0100y       @      2@y      $@      6@y      D@     V@y      I@     [@)r`   r   r   )zfloat[pyarrow]r  r  zbool[pyarrow])__doc__r  r  r   numpyra   rG   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsrw  pandas.core.dtypes.commonr   pandasrb   r   r   r   r   r	   r
   pandas._testing_testingr5   pandas.arraysr   pandas.core.groupby.grouperr   r(   r;   rK   rV   rf   rx   r   r   r   r   r  r  r   r   r   r   r   r   r   r  r  r!  r2  r4  r@  rC  rK  rZ  rh  r  intr   rm  rp  r{  rd  r  r  r  r  r   interval_rangeperiod_rangerv   r  r  r  r  r  r3   r  r?  rB  rD  rG  rL  rO  rY  r\  rl  ry  r}  r  r  r  r  r  r  r  r  r  r  r  r  r&  r4  r=  rA  rE  rK  rM  paramrS  ra  rh  rm  rp  ru  r|  r  r  r  r  r  r  
skip_if_nor  r  r  r  r  r  r  r   r   <module>r     s"	        , ) ) 6    - 0	,+.,4.,b'4,:,,, ),=?T+UV,,4,'0, 4$,* ,F,"!H0- ,	, $'!

$

$ 
qc$%
sZ!qc
aS1#JsCjIJ C D #FG, H,2 
qc$%
sZ!qc
aS1#JsCjIJ .14e"45#FG- H 6 2-	,., 288RYY"78 QR	> S 9	>, 
DK(
!Q
4=>	,,,",82+ 2+jm0 m0` I  ! F#J#J	
 )*%!FF#J	
 KK
E*KK
BGG,KK
K0F#JF	
#:,;:,.>," S5'NS"cE74K#LM	, N	,,,,,*8+v 
!57NO,,&$ "Df!MN, O,,,  89, :,(r1 r1j)&) 
y%	(4!QS#J*OP
U	i#s45
1v'22> 
	5	1K3MN
y5%.	1M=3QR
eU^	$z:&>?%2%2P
,-$*),6
,- ! < 	

 F$%	
	-- fw12UXy<Q4RS-- !67/ 8/ s)b#YS		*QR!cC:=N,OPs)b#YS		*QR!sCj#=N,OP(S!HsAha	1ASz1q1a&k3RS1XQx#qC84c
AA{+++##	
			,	,,0,,
,,
,,22,,(,,,:,@ yL,	 
,& y, ,& y, ,( y, ,,,,r   