
    A>i                        S SK r S SKrS SKJr  S SKrS SKrS SKJ	r	  S SK
Jr  S SKJr  S SKrS SKJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr  \R<                  R?                  S	/ S
Q5      S 5       r \R<                  R?                  S/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ\RB                  \RB                  \RB                  //5      S 5       r"S r#S r$\R<                  R?                  S/ SQ/ SQ\RJ                  \RJ                  \RJ                  /S\RJ                  S/S\RJ                  S/S\RJ                  S//5      S 5       r&\R<                  R?                  S S!S"\RN                  " S/\(S#9\RN                  " \RJ                  /S$S#94S%S!\RN                  " \RJ                  /S$S#9\RN                  " S/\(S#94S%S%\RN                  " \RJ                  /S$S#9\RN                  " \RJ                  /S$S#94S"S$\RN                  " \RJ                  /S$S#9\RN                  " \RJ                  /S$S#94/5      S& 5       r)\R<                  R?                  S	/ S'Q5      S( 5       r*\R<                  R?                  S)S*\RJ                  \RB                  /S4S*\RJ                  S+\RB                  /S4S,\RJ                  \RV                  /S4S,\RJ                  S\RV                  /S4/5      S- 5       r,S. r-S/ r.\R<                  R?                  S0S1S2/5      S3 5       r/\R<                  R?                  S0S1S2/5      S4 5       r0\R<                  R?                  S5S1S S6/S+S7/S+S6/S8.4S2S+S7/S S6/S S7/S8.4/5      \R<                  R?                  S9SS/5      S: 5       5       r1\R<                  R?                  S\" S;5      \" S<5      4S=/5      \R<                  R?                  S>/ S?Q5      S@ 5       5       r2\R<                  R?                  S0SASB/5      SC 5       r3SD r4SE r5\R<                  R?                  SFS S+\RB                  S7SGSHSISJSKSL/
SMSM4S S+\RJ                  S7SGSHSISJSKSL/
S"S"4S S+\RJ                  S7SGSHSISJSKSL/
S%S"4S S+\RB                  S7SGSHSISJSKSL/
SNSN4\Rl                  " SO\RV                  SPSQSRSSSTSUSVSW/
5      SXSX4/5      SY 5       r7\R<                  R?                  SZS S+\RB                  S7SGSHSISJSKSL/
SM4S S+\RJ                  S7SGSHSISJSKSL/
S"4S S+\RJ                  S7SGSHSISJSKSL/
S%4S S+\RB                  S7SGSHSISJSKSL/
SN4/5      S[ 5       r8S\ r9\R<                  R?                  S]/ S^S S+S7\RB                  SGSHSISJS_SL/
SMSM4PS^S S`S7SGSH\RJ                  SISJSKSL/
S"S"4PS^S S+S7SaSHSISJS_\RJ                  SL/
S%S%4PS^\RB                  /Sb-  SMSM4PS^\RJ                  /Sb-  S"S"4PS^\RJ                  /Sb-  S%S%4PScS S`S7SG\RB                  SHSISJSKSL/
SMSM4PScS S+S7SaSHSISJS_SL\RJ                  /
S"S"4PScS S`S7SGSHSdSJ\RJ                  SKSL/
S%S"4PSc\RB                  /Sb-  SMSM4PSc\RJ                  /Sb-  S"S"4PSc\RJ                  /Sb-  S%S"4PSeS S+S7SaSHSISJS_\RB                  SL/
SMSM4PSeS S`S7SGSHSdSJ\RJ                  SKSL/
S"S"4PSeS S+S7SaSHSISJS_SL\RJ                  /
S%S"4PSe\RB                  /Sb-  SMSM4PSe\RJ                  /Sb-  S"S"4PSe\RJ                  /Sb-  S%S"4PSfS S`S7SGSHSdSJ\RB                  SKSL/
SMSM4PSfS S+S7SaSHSISJS_\RJ                  SL/
S"S"4PSfS S`S7SGSHSdSJSKSL\RJ                  /
S%S"4PSf\RB                  /Sb-  SMSM4PSf\RJ                  /Sb-  S"S"4PSf\RJ                  /Sb-  S%S"4PSgS S`S7SGSHSdSJ\RB                  SKSL/
SMSM4PSgS S+S7SaSHSISJS_\RJ                  SL/
S"S"4PSgS S`S7SGSHSdSJSKSL\RJ                  /
S%S%4PSgS S+\RB                  S7SGSHSISJSKSL/
SNSN4PSg\Rl                  " SO\RV                  SPSQSRSSSTSUSVSW/
5      SXSX4PSg\RB                  /Sb-  SMSM4PSg\RJ                  /Sb-  S"S"4PSg\RJ                  /Sb-  S%S%4PShS S`S7SGSHSdSJ\RB                  SKSL/
SMSM4PShS S+S7SaSHSISJS_\RJ                  SL/
S"S"4PShS S`S7SGSHSdSJSKSL\RJ                  /
S%S%4PShS S+\RB                  S7SGSHSISJSKSL/
SNSN4PSh\Rl                  " SO\RV                  SPSQSRSSSTSUSVSW/
5      SXSX4PSh\RB                  /Sb-  SMSM4PSh\RJ                  /Sb-  S"S"4PSh\RJ                  /Sb-  S%S%4PSiS S`S7SGSHSdSJ\RB                  SKSL/
SMSM4PSiS S+S7SaSHSISJS_\RJ                  SL/
S"S"4PSiS S`S7SGSHSdSJSKSL\RJ                  /
S%S"4PSiS S+\RB                  S7SGSHSISJSKSL/
SNSN4PSi\Rl                  " SO\RV                  SPSQSRSSSTSUSVSW/
5      SXSX4PSi\RB                  /Sb-  SMSM4PSi\RJ                  /Sb-  S"S"4PSi\RJ                  /Sb-  S%S"4P5      Sj 5       r:Sk r;Sl r<Sm r=Sn r>So r?Sp r@Sq rA\R<                  R?                  SrSgSh/5      Ss 5       rB\R<                  R?                  SrSgSh/5      St 5       rCSu rD\R<                  R?                  SrSgSh/5      Sr\E4Sv j5       rF\R<                  R?                  S	/ SwQ5      Sx 5       rGSy rH\R<                  R?                  Sr/ SzQ5      S{ 5       rI\R<                  R?                  SrSgSh/5      S| 5       rJ\R<                  R?                  S}S S+/5      \R<                  R?                  S~SS/5      S 5       5       rKS rL\R<                  R                  \R<                  R?                  SSS/5      \R<                  R?                  SS/SS//5      S 5       5       5       rNS rOS rPS rQS rR\R<                  R?                  S/ SQ\" S5      \RV                  \" S5      /S\" S+/\R                  " S/SS9SS94/ SQ\R                  " SS+S+5      \RV                  \R                  " SS+S+5      /S\" S+/\R                  " S/SS9SS94/ SQ\R                  " SS+S+5      \RV                  \R                  " SS+S+5      \RV                  \R                  " SS+S+5      /S\" S6S6/\R                  " SS/SS9SS94/ SQ\R                  " SS+S+5      \RV                  \R                  " SS+S+5      \RV                  \R                  " SS+S+5      /S\" S6S+/\R                  " SS/SS9SS94/5      S 5       rUS rVS rWS rXS rY\R<                  R?                  S}S Sb/5      S 5       rZS r[S r\\R<                  R?                  S	/ SQ5      \R<                  R?                  SSASS+S+S.S6S7S./04SBSS+S6S.S6SGS./04SgSS+S+S.S6S7S./04ShSS+S6S.S6SGS./04SS+S6S.S6S6S./SS.4/5      S 5       5       r]S r^\R<                  R?                  SS\R                  4Si\R                  4Se\R                  4Sc\R                  4S\R                  4S^\R                  4Sg\R                  4Sh\R                  4SAS 4SBS 4S\R                  4\R                  " Sf\^\R                  " S5      S9/5      S 5       rj\R<                  R?                  S/ SQS+\RJ                  S6S+\RJ                  S6S+\RJ                  S6/	S./ SQ/ SQS./5      \R<                  R?                  S/ SQ5      S 5       5       rk\R<                  R?                  S/ SQ5      S 5       rlS rmS rnS rog)    N)ascii_lowercase)iNaT)pandas_dtype)na_value_for_dtype)	DataFrame
MultiIndexSeries	Timestamp
date_rangeisna)get_groupby_method_args)_test_decoratorsdtype)int64int32float64float32c                 $   [        [        R                  " S5      S-  [        R                  " S5      U S9n[        R                  " S5      n[        R                  R	                  S5      R                  U5        UR                  U5      nUR                  S SS9nU H  u  pE[        U5      S:X  a  M   e   UR                  [        R                  5      nUS   S:X  d   eUR                  [        R                  5      n[        R                  " Xg5        [        R                  " XcR                  5       5        UR                  5       nUR                  [        R                  5      nU S	:X  a  UR                  S	5      n[        R                  " X5        UR!                  S
 5      nUR#                  S 5      n	U	S   S:X  d   e[        R                  " X5        UR                  U5      n
U
R                  [        R                  5      n[        R                  " XSS9  UR                  [        R                  [        R$                  /5      nSn[&        R(                  " [*        R,                  R.                  US9   UR                  [        R                  [        R$                  S.5        S S S 5        Sn[&        R(                  " [0        US9   UR                  S 5        S S S 5        g ! , (       d  f       NE= f! , (       d  f       g = f)N	      indexr      c                     U S-  $ )Nr    xs    c/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/groupby/test_reductions.py<lambda>)test_basic_aggregations.<locals>.<lambda>#   s    Q!V    F)
group_keys   r   c                 &    X R                  5       -  $ Nsumr   s    r   r   r    5   s    q557{r!   c                 &    X R                  5       -  $ r%   r&   r   s    r   r   r    6   s    a%%'kr!         )check_index_typeznested renamer is not supportedmatch)onetwozMust produce aggregated valuec                     U S-  $ )Nr   r   r   s    r   r   r    I   s    AEr!   )r	   nparangerandomdefault_rngshufflereindexgroupbylen	aggregatemeanaggtmassert_series_equalr'   astypeapply	transformstdpytestraisespderrorsSpecificationError	Exception)r   datar   groupedkvaggedexpectedresulttransformedvalue_groupedmsgs               r   test_basic_aggregationsrR      s4   "))A,!#299Q<uEDIIaLEII!$$U+<<Dll+l>G1v{{  bgg&E8q=={{277#H5+5,,.1[[]F{{266"H??7+6,}}23H##$9:Kq>R;1LL&M$$RWW-F65A rww/0E
,C	ryy333	?"''"&&9: 
@ *C	y	,/* 
-	, 
@	? 
-	,s    1K0L0
K>
Lvals)foobarbaz)rT    rW   )rW   rW   rW   r#   r   r   )r#   r   r   r   r   r   )      ?       @      @)rZ           r]   )r]   r]   r]   )TTT)TFF)FFFc           	      l   [        S/S-  S/S-  -   US-  S.5      n[        [        U5      " U5      nU (       a!  [        [	        U5      5      (       a  US:X  a  Sn[        U/S-  S/[
        R                  " SS/S	S
9S9n[        UR                  S	5      U5      " U S9n[        R                  " Xe5        g )Nar   br   )keyvalanyFrb   ra   namecolumnsr   skipna)
r   getattrbuiltinsallr   rD   Indexr7   r<   assert_frame_equal)ri   all_boolean_reductionsrS   dfexprM   rN   s          r   test_groupby_bool_aggsrr   L   s    & 
C519uqy0B	CB (2
3D
9C #d4j//&<&E		E7"((C:E*JH RZZ&(>?vNF&+r!   c                      [        / SQS[        R                  S/S[        R                  S/// SQS9n [        SS/S	S//S
S/SS/S9nSUR                  l        U R                  S5      R                  5       n[        R                  " X!5        g )N)r#   r   rT   r#   rU   r   rV   ABCrg   TFrv   rw   rf   ru   )	r   r1   nanr   re   r7   rc   r<   rn   rp   rM   rN   s      r   test_anyr{   o   s    		BFFE*Q,>?
B 
t}%Sz!QH HNNZZ_  "F&+r!   c                     [        SS//SS/S9nUR                  S/5      n[        X 5      " 5       nUR                  [        R
                  " S/5      5      n[        R                  " X45        g )NTr_   rx   r   )r   r7   rj   set_axisr1   arrayr<   rn   )ro   rp   grp_byrN   rM   s        r    test_bool_aggs_dup_column_labelsr   |   sZ    	T4L>C:	6BZZ_FV46F{{288QC=)H&+r!   rH   FTc                     [        USS9n[        X05      " US9n[        U[        R                  " S/5      SS9nUR	                  / SQ5      R                  XS9n[        R                  " Xe5        g )Nbooleanr   rh   r   r   rY   )r	   rj   r1   r~   r7   r;   r<   r=   )ro   ri   rH   serexpected_datarM   rN   s          r   test_masked_kleene_logicr      sd     Y
'C C8GMm288QC=	JH[[#''(>'NF6,r!   zdtype1,dtype2,exp_col1,exp_col2floatFloat64r   r   Int64c                     U R                  S5      (       a  S[        R                  /OS[        R                  /nUR                  S5      (       a  S[        R                  /OS[        R                  /n[        [        R                  " X@S9[        R                  " XQS9S.5      nUR                  SS/5      R                  SSS9n[        X#S.[        R                  " S/5      S	9n[        R                  " Xx5        g )
NfrZ   r   )col1col2r#   rl   Frh   r   )
startswithr1   ry   rD   NAr   r~   r7   r;   r<   rn   )	dtype1dtype2exp_col1exp_col2data1data2rp   rN   rM   s	            r   test_masked_mixed_typesr      s    > $..s33S"&&M#ruuE#..s33S"&&M#ruuE	%.8UV
B ZZA##E%#8F(=RXXqc]SH&+r!   )r   r   r   c                    U" [         R                  S/US9nSnU(       d  U S:X  a  [         R                  nU" U/[        R                  " S/5      SS9nUR	                  SS/5      R                  XS9n[        R                  " Xv5        g )Nr#   r   Trl   r   r   rh   )rD   r   r1   r~   r7   r;   r<   assert_equal)ro   r   ri   frame_or_seriesobjexpected_resrM   rN   s           r   test_masked_bool_aggs_skipnar      sx    
 255!*E
2CL,5uu~RXXqc])TH[[!Q $$%;$KFOOF%r!   zbool_agg_func,data,expected_resrc   r#   rl   c                     U" U[         S9nUR                  S/[        U5      -  5      R                  U 5      nU" U/[        R
                  " S/5      SS9n[        R                  " XV5        g )Nr   r#   boolr   )objectr7   r8   r;   r1   r~   r<   r   )bool_agg_funcrH   r   r   r   rN   rM   s          r   test_object_type_missing_valsr      sY     $f
-C[[!s4y)--m<F~RXXqc]&QHOOF%r!   c                     [        [        R                  /[        S9n[        R
                  " [        SS9   UR                  S/5      R                  U SS9  S S S 5        g ! , (       d  f       g = f)Nr   z boolean value of NA is ambiguousr,   r#   Frh   )	r	   rD   r   r   rB   rC   	TypeErrorr7   r;   )ro   r   s     r   'test_object_NA_raises_with_skipna_falser      sO    
"%%
'C	y(J	KQC3EB 
L	K	Ks   !A!!
A/c                     U [         L a  SS/0OSS0nU " S0 UDS[        0D6n[        UR                  UR                  5      U5      " 5       nU " S0 UDS[
        0D6n[        R                  " XE5        g )Nrg   r_   re   r   r   )r   r   rj   r7   r   r   r<   r   )r   ro   kwargsr   rN   rM   s         r   
test_emptyr      sh    #2i#?i#fc]F

1F
1&
1CS[[+-CDFF44t4HOOF%r!   howidxminidxmaxc           	         U[         L d	  U[        L a  g SU;   a  [        R                  O[        R                  nU" U5      R
                  nU" U5      R                  n[        / SQX4XC/S.US9nUR                  S5      n[        X`5      " 5       n[        SSS/0[        R                  " SS	/SUS
9S9n[        R                  " Xx5        g )Nint)r   r#   r#   r   r_   r`   r   r_   r`   r#   r   r   re   r   r   )r   r   r1   iinfofinfominmaxr   r7   rj   rD   rm   r<   rn   )	r   any_real_numpy_dtypeinfo	min_value	max_valuerp   gbrN   rM   s	            r   test_idxmin_idxmax_extremesr      s     s"&:e&C 44288"((D)*..I)*..I	)	!MN"
B 
CBRF	q!fRXXq!f3>RSH &+r!   c                    [         R                  " U5      R                  n[         R                  " U5      R                  n[	        [        [         R                  " [        SS5      SS9SS9[        [         R                  U[         R                  UU[         R                  U[         R                  /US9S.5      nUR                  S5      nU (       d7  U S	3n[        R                  " [        US
9   [        Xa5      " U S9  S S S 5        g [        Xa5      " U S9n[	        S/ SQ0[        R                  " [        SS5      SSS9S9n	[         R"                  " X5        g ! , (       d  f       g = f)Nr#      r   )repeatsintpr   r   r_   z with skipna=Falser,   rh   r`   )r#   r         r   r   )r1   r   r   r   r   r	   repeatrangery   r7   rB   rC   
ValueErrorrj   rD   rm   r<   rn   )
ri   r   float_numpy_dtyper   r   rp   r   rQ   rN   rM   s
             r   "test_idxmin_idxmax_extremes_skipnar     s&    *+//I*+//I			%1+q9HFFFFFFFF	 (	

B$ 
CB'(]]:S1BF+ 2RV,F	l288E!QKc#PH &+ 21s   2E
E+zfunc, valuesr   r   )c_intc_floatc_datenumeric_onlyc                    [        / SQ/ SQ/ SQ/ SQS.5      n[        R                  " US   5      US'   US   R                  R	                  S5      US'   US   US   R
                  S	   -
  US
'   US   R                  R                  S5      US'   US   R                  S5      US'   US   R                  S5      US'   [        UR                  S5      U 5      " US9n[        U[        R                  " SS/SS9S9nU(       a  UR                  S/S9nOUS   US'   US   US
'   US   US'   US   US'   US   US'   [        R                  " XE5        g )Nru   ru   rv   rv   r#   r   r   r   )gGz@g=
ףp=@gRQ @g?)2019201820162017)re   r   r   r   r   z
US/Pacific	c_date_tzr   c_timedeltaWc_periodr   r   	c_Integerr   r   
c_Floatingre   r   ru   rv   rd   r   rx   )r   rD   to_datetimedttz_localizeiloc	to_periodr>   rj   r7   rm   dropr<   rn   )funcvaluesr   rp   rN   rM   s         r   $test_idxmin_idxmax_returns_int_typesr   2  se    
(!/6		

B >>"X,/BxLloo11,?B{O8r(|'8'8';;B}\__..s3BzNk((1B{O)}++I6B|RZZ'.LIFrxxc
'HIH==(=4 ( 2"*8"4'1$W-H[%i0H\&+r!   z2011-01-15 12:50:28.502376z2011-01-20 12:50:28.593448)l    m;-Ll    m;-Lmethod)countr   r   firstlastc                 >   [        SS/US.5      nUR                  S5      n[        X05      " 5       nU S:X  a  SnO,U S:X  a  US   nO U S:X  a  US   nO[        US	   U 5      " 5       n[        S	U/0[        R                  " S/SS
9S9n[
        R                  " XF5        g )Nr#   r   r_   r   r   r   r   r   r`   rd   r   )r   r7   rj   rD   rm   r<   rn   )r   rH   rp   rI   rN   expected_valuerM   s          r   2test_groupby_non_arithmetic_agg_int_like_precisionr   Z  s     
!Qd+	,BjjoGW%'F	7	a	6	a C&13#/0!38OPH&+r!   r   r   c           
      ^   [        [        U 5      5      n[        / SQUSUSXD/USUSXD/S.U S9nUR                  SUS9n[	        Xc5      nU" US9n/ S	Q/ S
Q/ SQ/ SQS.X24   n	UR
                  U	   R                  S5      n
U(       a  U
R                  5       n
[        R                  " X5        g )N)r   r#   r#   r   r   r   r\         @r_   r`   cr   r_   )sortrh   )r   r#   r   )r   r#   r   )r   r#   r   )r   r   r   ))r   T)r   F)r   T)r   F)
r   r   r   r7   rj   r   	set_index
sort_indexr<   rn   )any_real_nullable_dtyper   ri   r   na_valuerp   r   r   rN   ilocsrM   s              r   test_first_last_skipnar   x  s     ",/F"GHH	# C3CC3C	
 &	
B 
Cd	#BRF6"F ##!"	
 
kE wwu~'',H&&(&+r!   c                  ~    [        / SQ/ SQS.5      n U R                  S5      S   R                  5       S   S:X  d   eg )N)ru   ru   ru   ru   ru   )ij  i  io  i`  l    @~ )userconnectionsr   r   ru   l    ,fL )r   r7   r:   )rp   s    r   test_groupby_mean_no_overflowr     sD    	-I	

B ::fm,113C8<OOOOr!   c            	      @   [        [        R                  " [        S5      5      SS/S-  S.5      n U R	                  S5      S   R                  5       n[        [        R                  " SS/5      S[        R                  " SS/SS	9S
9n[        R                  " X5        g )N
   ru   rv   r   )timecatr   r   r   rd   re   r   )
r   rD   to_timedeltar   r7   r:   r	   rm   r<   r=   rp   rN   rM   s      r   test_mean_on_timedeltar     s    	BOOE"I6SzA~N	OBZZv&++-F
AfBHHc3Ze4TH 6,r!   zvalues, dtype, result_dtyper   r   r   r)      r   r   ztimedelta64[ns]
2019-05-09z
2019-05-11z
2019-05-12z
2019-05-13z
2019-05-14z
2019-05-15z
2019-05-16z
2019-05-17z
2019-05-18zdatetime64[ns]c                 (  ^ [        U SS/S-  S.5      R                  SU05      nUR                  S5      S   R                  U4S j5      R                  U5      nUR                  S5      S   R	                  TS9n[
        R                  " Xe5        g )	Nru   rv   r   rb   r   rb   r   c                 "   > U R                  TS9$ Nrh   )r:   r   ri   s    r   r   "test_mean_skipna.<locals>.<lambda>  s    v.r!   rh   )r   r>   r7   r?   r:   r<   r=   )r   r   result_dtyperi   rp   rM   rN   s      `   r   test_mean_skipnar    s    : 
:>	


 feU^  	

5% 	.	/		 
 ZZu%**&*9F6,r!   zvalues, dtypec                 (  ^ [        U SS/S-  S.5      R                  SU05      nUR                  S5      S   R                  U4S j5      R                  U5      nUR                  S5      S   R	                  TS9n[
        R                  " XT5        g )	Nru   rv   r   r  rb   r   c                 "   > U R                  TS9$ r  r&   r  s    r   r   !test_sum_skipna.<locals>.<lambda>  s    f1Er!   rh   )r   r>   r7   r?   r'   r<   r=   )r   r   ri   rp   rM   rN   s     `   r   test_sum_skipnar    s     
:>	


 feU^  	

5% &&'EFMMeT  ZZu%)))8F6,r!   c                    [        SS[        R                  SSSSSSS	/
S
S/S-  S.5      R                  S[        05      nU (       a6  [        SS/[        R                  " S
S/SS9SS9R                  [        5      nOC[        [        R                  S/[        R                  " S
S/SS9SS9R                  [        5      nUR                  S5      S   R                  U S9n[        R                  " X25        g )Nr_   r`   der   ghijru   rv   r   r  rb   aegibdfhjr   rd   r   re   rh   )r   r1   ry   r>   r   r	   rD   rm   r7   r'   r<   r=   )ri   rp   rM   rN   s       r   test_sum_skipna_objectr    s    	bffc3S#sCH:>	


 feV_  WRXXsCju%EE

&. 	 VVWRXXsCju%EE

&. 	 ZZu%)))8F6,r!   z!func, values, dtype, result_dtypeprodir   varirA   semr   r   medianc                 .  ^ ^ [        USS/S-  S.5      R                  SU05      nUR                  S5      S   R                  U U4S j5      R                  U5      n[	        UR                  S5      S   T 5      " TS9n[
        R                  " Xv5        g )	Nru   rv   r   r  rb   r   c                 $   > [        U T5      " TS9$ r  rj   )r   r   ri   s    r   r   'test_multifunc_skipna.<locals>.<lambda>  s    D)8r!   rh   )r   r>   r7   r?   rj   r<   r=   )r   r   r   r  ri   rp   rM   rN   s   `   `   r   test_multifunc_skipnar!    s    x 
:>	


 feU^  	

5% 	8	9		 
 RZZ&u-t4FCF6,r!   c                  J   [         R                  R                  S5      R                  S5      n [         R                  U S S S2'   [        U 5      n[         R                  R                  S5      R                  SSSS9R                  [        5      n[         R                  US S S2'   UR                  U5      R                  5       nUR                  U5      R                  [         R                  5      n[        R                  " X45        [        [         R                  R                  S5      R                  S5      5      nUR                  U5      R                  [         R                  5      nUR                  U5      R                  5       n[        R                  " XV5        g )Nr     r   2   size   )r#  r   )r1   r3   r4   standard_normalry   r   integersr>   r   r7   r  r;   	nanmedianr<   rn   )arrrp   labelsrN   rq   rsxps          r   test_cython_medianr/    s%   
))


"
2
24
8CvvC!H	3BYY""1%..q"4.@GGNF66F4R4LZZ&&(F
**V

 
 
.C&&	299((+;;IF	GB	F						*B	F		"	"	$B"!r!   c                 h   [        [        R                  R                  S5      R	                  SSS5      5      n[        SSS5      n[        R                  " US   U5      nUR                  X0S9R                  5       nUR                  X0S9R                  S 5      n[        R                  " XE5        g )	Nr   r   ,     7   r   observedc                 "    U R                  5       $ r%   )r  r   s    r   r   (test_median_empty_bins.<locals>.<lambda>  s
    r!   )r   r1   r3   r4   r)  r   rD   cutr7   r  r;   r<   rn   )r5  rp   grpsbinsrN   rM   s         r   test_median_empty_binsr;    s    	299((+44QC@	ABB?D66"Q%DZZZ0779Fzz$z2667KLH&+r!   c                  f   [        / SQ/ SQSS/-  S.5      n U R                  S5      R                  5       nSU;   d   eU R                  S5      R                  SS	9nSU;   d   eU R                  S5      R                  5       nSU;   d   eU R                  S5      R                  SS	9nSU;   d   eg )
N)   r=     r>  r   r   mama)nniissr@  rB  Fr   )r   r7   r   r   )aarN   s     r   test_max_min_non_numericrD    s    	*,a6(lS	TBZZ!!#F6>>ZZ!!u!5F6>>ZZ!!#F6>>ZZ!!u!5F6>>r!   c                    [        / SQ/ SQ/ SQS.5      nUR                  5         U (       a%  [        UR                  R                  5      S:X  d   e UR                  S5      nUS/   R                  5       n[        R                  " / SQSS	9n[        S/ S
Q0US9n[        R                  " X55        US/   R                  5       n[        R                  " / SQSS	9n[        S/ SQ0US9n[        R                  " X55        g )N)r#   r#   r   r   r   )r#   rT   r   rU   F)r_   r`   r   r  r  rt   r   ru   rw   rX   rd   )r`   r  r  r   )r_   r   r  )r   _consolidate_inplacer8   _mgrblocksr7   r   rD   rm   r<   rn   r   )using_infer_stringrp   r   rN   eirM   s         r   $test_max_min_object_multiple_columnsrK    s    
 
 ,*	

B '93rww~~!#@@q	CBY]]_F	)#	&B#/r:H&+Y]]_F	)#	&B#/r:H&+r!   c                  8   [         R                  " [        / SQ5      SS9R                  R                  n [        [        R                  S[        R                  // SQU S.5      nUR                  SSS	9S
   R                  5       S
   n[         R                  " [        SS/S
S9SS9R                  R                  n[        R                  " X#5        UR                  S5      S
   R                  5       nSUR                  l        [        R                  " X#5        g )N)r   r   r   z%Y-%m-%d)format1)r   r#   r#   r   r`   Fas_indexr   r   rd   )rD   r   r	   r   dater   r1   ry   r7   r   r<   r=   r   re   )datesrp   rN   rM   s       r   test_min_date_with_nansrS    s    NN9::b 
 
"&&#rvv.YUK	LBZZeZ,S1557<F~~l+#6zb  6,ZZ_S!%%'FHNN6,r!   c                     [        S[        /5      n [        R                  " SS/[        R                  S9nU R                  U5      nUR                  SS9n[        SS0[        R                  S9n[        R                  " X4SS9  UR                  SS9n[        S[        0[        R                  S9n[        R                  " X4SS9  UR                  SS9n[        S[        R                  05      n[        R                  " X4SS9  g )Nr#   r   r   	min_countTcheck_exactr   )r	   r   r1   r~   r   r7   r   r<   r=   r   ry   )r   ra   r   rN   rM   s        r   test_max_inatrY    s    
!T
C
((Aq6
*C	S	BVVaV Fq!fBHH-H6>VVaV Fq$irxx0H6> VVaV Fq"&&k"H6>r!   c                  R   [        S[        S[        S-   /5      n U R                  / SQ5      nUR                  SS9n[        [        R
                  [        R
                  [        S-   S.5      nUR                  R                  [        5      Ul        [        R                  " X#SS9  g )Nr#   r   )r#   r   r   r   rU  rX   TrW  )r	   r   r7   r   r1   ry   r   r>   r   r<   r=   )r   r   rN   rM   s       r   test_max_inat_not_all_nar[    s~     !T1dQh'
(C	\	"BVVaV F "&&RVVq9:H^^**3/HN6>r!   r   c                    SS/n[         R                  " SSSS9n[        XS.5      n[        UR	                  S5      S   U 5      " 5       n[         R
                  " SS/SS	9n[        X%SS
9n[        R                  " XF5        g )Nr#   r   2020Yperiodsfreqr   r_   r`   rd   r  )	rD   period_ranger   rj   r7   rm   r	   r<   r=   r   groupsr`  rp   rN   idxrM   s          r   $test_groupby_aggregate_period_columnrf    sv     VFoofac:G	.	/BRZZ_S)402F
((Aq6
$Cgs3H6,r!   c                    SS/n[         R                  " SSSS9n[        XS.5      n[        UR	                  S5      U 5      " 5       n[         R
                  " SS/SS9n[        S	U0US
9n[        R                  " XF5        g )Nr#   r   r]  r^  r_  r   r_   rd   r`   r   )rD   rb  r   rj   r7   rm   r<   rn   rc  s          r   #test_groupby_aggregate_period_framerh  "  su     VFoofac:G	.	/BRZZ_d+-F
((Aq6
$C#ws3H&+r!   c                     [        / SQ[        S5      [        R                  /S-  S.5      R	                  [
        5      n U R                  S5      R                  5       n[        SS/SS	/[        R                  [        R                  /S.5      R                  S5      R	                  [
        5      n[        R                  " X5        [        / SQ[        S5      [        S5      S.5      R	                  [
        5      n U R                  S5      R                  5       n[        SS/SS	/S
S/S.5      R                  S5      R	                  [
        5      n[        R                  " X5        g )Nr   abcdr   )ra   r   r   ra   ru   rv   r_   r   r   r   )r   listr1   ry   r>   r   r7   r   r   r<   rn   r   r   s      r   #test_aggregate_numeric_object_dtyperl  0  s"    
$d6lRVVHqLQ
fVn  ZZ""$F#Jc
RVVRVV<LM	
 
5		  &+ 
$d6lE!HM
fVn  ZZ""$F3*sCj1a&IJ	5		 
 &+r!   c                 \   [        S/SS9R                  R                  5       n[        S/US.5      nUR	                  S5      R                  SU 05      n[        SS/0[        R                  " S/SS9S	9nUS   R                  UR                  5      US'   [        R                  " X45        g )
Nr`   categoryr   i  ru   rv   ru   rv   rd   r   )r	   r   
as_orderedr   r7   r;   rD   rm   r>   r   r<   rn   )r   dsrp   rN   rM   s        r   %test_aggregate_categorical_lost_indexrr  N  s     
Z	(	,	,	7	7	9B	$b)	*BZZ_  #t-F#uRXXtf3-GHH SM((2HSM&+r!   )r   Int32r   Float32r   c                 Z   U S:X  a  SnOU S:X  a  SnOSn[        SS/XS-   /S.5      nUS	   R                  U 5      US	'   UR                  S
5      nUR                  5       nUR                  S S R                  S
5      n[        R                  " XE5        UR                  5       nUR                  SS  R                  S
5      n[        R                  " Xg5        UR                  SS9n[        S	[        R                  /0UR                  U S9n	[        R                  " X5        UR                  SS9n
[        R                  " X5        [        / SQU[        R                  US-   /S.5      nUS	   R                  U 5      US	'   UR                  S
5      nUR                  5       n[        R                  " X5        UR                  5       n[        R                  " X5        UR                  SS9n[        R                  " X5        UR                  SS9n[        R                  " UU	5        g )Nr   l   .D3 r   r   r   r   r#   )idtsrw  rv  r   rU  r   )r   r   r   d   )r   r>   r7   r   r   r   r<   rn   r   rD   r   r   )r   rw  rp   r   rN   rM   res_maxexpected_maxresult2	expected2res_max2df2gb2result3res_max3result4res_max4s                    r   test_groupby_min_max_nullabler  \  s    	)		1a&!V5	6B$xu%BtH	D	BVVXFwwr{$$T*H&+ffhG7712;((.L'0ffqf!G4"%%/uMI'-vvv"H(. 9RQ,?@
ACD	  'CI
++d
CggiG',wwyH(1ggg$G'-www%H(I.r!   c            
      8   [         R                  " S/S-  SS/S9n [        U [         R                  " [        R
                  " S[        R                  S95      S.5      nUR                  SSS	9nUR                  5       n[         R                  " SS/U R                  SS
9n[        S[         R                  " S[         R                  /SS90US9n[        R                  " X55        UR                  5       nSUR                  S'   [        R                  " X55        g )Nr   r   r#   )
categoriesr   ro  ru   Fr4  r   re   rv   UInt64r   r   )r   r   )rD   Categoricalr   r~   r1   r2   uint64r7   r   CategoricalIndexr   r   r<   rn   r   r   )r   rp   r   resre  rM   s         r   (test_min_max_nullable_uint64_empty_groupr    s    
..!rq!f
5C	288BIIb		,J#KL	MB	C%	(B
&&(C


q!fCIIC
@C#rxxBEE
(CDCPH#(
&&(CHMM$#(r!   )r   r   r   r   c           	      t   [        [        R                  " S/[        S5      SS9[        R                  " S/SS/SS9SS.5      n[	        UR                  S	S
S9U 5      " 5       n[        R                  " SS/S	SS9n[        [        R                  " SS /SS/SS9SS /S.US9n[        R                  " X$5        g )Nru   ABT)r  orderedr#   r   g?)r   r   valuer   Fr4  rv   )rH   re   r  )r   r  r   )	r   rD   r  rk  rj   r7   r  r<   rn   )r   rp   rN   re  rM   s        r    test_groupby_min_max_categoricalr    s     
NNC5T$ZNNNA3Aq64H	

B RZZZ7>@F


C:FD
ICNNAt9!QN4[	
 H &+r!   c           
          Un[        S/SSS.US9R                  S S n[        UR                  S5      U 5      " 5       n[        SS/U[        R
                  " / USS9S9n[        R                  " XE5        g )	Nr_   r   r   r   r`   r   r  )rg   r   r   )r   r   rj   r7   rD   rm   r<   rn   )r   string_dtype_no_objectr   rp   rN   rM   s         r   test_min_empty_string_dtyper    st     #E	#Ss35	A	F	Fr	JBRZZ_d+-Fc
%rxx%c/RH &+r!   rV  test_seriesc                 ^   US:X  a  g U nUS;   a  SU0nOUS;   a  SU0nOUS;   a  0 nOX#S.nU[         R                  pUS;   a  S	nUS
:X  a  U(       + OSnOvUS;   aJ  U(       a6  US:X  a0  UR                  S:X  a   UR                  [         R                  L a  SnOSnUS:X  a  SOSnO&U(       a  US:  a  [         R                  nOUS:X  a  Sn[	        S/[         R                  /S.US9n	U(       a  U	S   OU	n
[        X5      nU
R                  U	S   5      n[        X5      nUS;   a4  SU SU S3n[        R                  " [        US9   U" U0 UD6  S S S 5        g US;   a=  U(       a  U S 3nOU S!3n[        R                  " [        US9   U" U0 UD6  S S S 5        g U" U0 UD6n[         R                  " S/SUS"9nU(       d  US:X  a  U(       d  US:X  a  S OSn[        UUUUS#9nO[	        SU0UUS$9n[        R                  " UU5        g ! , (       d  f       g = f! , (       d  f       g = f)%Ncorrwith)rc   rl   r   r   r:   r  rA   r  ri   )kurtrV  )r   nuniquequantiler  r&  )ri   rV  )rl   rc   r   rc   T)r   r  r&  r&  pyarrowr   r   r#   r   r'   rW   r   r   r   r`   r_   )	r:   r  r  r  r  r  skewrA   r  zdtype 'z' does not support operation ''r,   )r   r   z+ with skipna=True encountered all NA valuesz+ with skipna=False encountered an NA value.r   )r   r   re   r   )rD   r   storager   r   r   r7   rj   rB   rC   r   r   rm   r	   r<   r   )r  reduction_funcri   rV  r  r   r   expected_dtyper   rp   r   argsr   r   rQ   rN   r   re   rM   s                      r   test_string_dtype_all_nar    sL    #"E 	 	 F#	8	#y)	J	J";%*BEEN''5'>VD	7	7 &(*"%%'$N$N,6Ay1}	5	 	#beeW-U	;B "S'bC">7D	RW	BR(F 
 
 w<^<LAN]]9C0D#F# 1	/	/#$$OPC#$$OPC]]:S1D#F# 2T$V$FHHcUE2En.&>V+Ct.^RVWc>2%~VOOFH%' 10 21s   		H	H
H
H,c            	         [        / SQ/ SQ[        [        R                  [        R                  S/5      / SQS.5      n U R	                  S5      nUS/   R                  5       nUS   R                  5       R                  5       n[        R                  " X#5        US   R                  5       R                  5       (       a   eg )N)z-04-23z-05-06z-05-07)z2013-04-23 00:00:00z2013-05-06 00:00:00z2013-05-07 00:00:00OE)zlog080001.logzlog.logxlsx)z
Unnamed: 0DateappFiler  r  )r   r	   r1   ry   r7   r   to_framer<   rn   r   rc   )rp   r   rr  s       r   test_max_nan_bugr    s    	8
 2662664018		

B 
F	B
F8A
6
!!#A!y~~##%%%%%r!   with_nankeysjoejimc           	         SnSn[        SSS9n[        [        R                  R	                  S5      R                  [        [        5      U5      [        R                  R	                  S5      R                  Xu5      [        R                  R	                  S5      R                  SXe5      S.5      nU(       a{  UR                  S[        05      nS UR                  S	S S
2S4'   S UR                  SS S2S4'   S UR                  SS S2S4'   S UR                  SS S2S4'   S UR                  SS S2S4'   UR                  5       n	UR                  XBU S9n
U
S   R                  US9nUR                  XBU S9n
U
S   R                  [         R                  US9nU(       d  UR#                  SS9nU(       a  [$        R&                  " XSS9  O[$        R(                  " XSS9  [$        R(                  " X5        g )Nrx  r   z
2015-08-23)r`  r   r   )r  r  julier  r#   r'  r  r   %   r  r)      r   r   )rP  r   dropnaT)r   F)check_names)r   r   r1   r3   r4   choicerk  r   r)  r>   r   loccopyr7   r  r?   r	   reset_indexr<   r=   rn   )r   r  rP  r  r  nmdaysrp   original_dfgrleftrights                r   test_series_groupby_nuniquer  1  s    	A
AlB/D	99((+2243H!L99((+224;YY**1-66q!?	

B YY'(#qu"ue|#qu"ue|!%qu"ug~!%qu"ug~!%qu"ug~'')K	D$	7Bg;f-D	D$	7BwKfnnV<E!!t!,
t>
du="*r!   c                  6   [        [        S5      [        S5      [        S5      S.5      n [        [        S5      / SQ/ SQS.5      nU R                  SS	S
9R                  5       n[        R
                  " X!5        [        S5      Ul        SUR                  l        UR                  SS9nU R                  S5      R                  5       n[        R
                  " X!5        U R                  SS 05      R                  S5      R                  S	S9n[        R
                  " X!5        [        S/S-  S/S-  S.[        S5      S9nSUR                  l        U R                  SS 05      R                  S5      R                  5       n[        R
                  " X!5        g )Nabbaccabxaccabbacxrt   abc)r#   r   r#   )r#   r#   r   ru   FrO  rx   r   r  r#   r   )rv   rw   r   )
r   rk  r7   r  r<   rn   r   re   r   replacerz   s      r   test_nuniquer  V  sH   	hd8n4>R	SBtE{KLHZZeZ,446F&+ %[HNHNN}}S})HZZ_$$&F&+ ZZd$,,S1999GF&+ sQwaS1W5T%[IHHNNZZd$,,S199;F&+r!   c                  $   [        / SQ/ SQ/ SQ/ SQ/ SQ// SQS9n U R                  SS	/5      S
   R                  5       n[        R                  " U R
                  U R                  /5      n[        S/S-  S
US9n[        R                  " X5        g )N)rx  r#   Alice)   r   Bob)i,  r   Charlie)ipr   Dan)r2  r   Edith)amountrv  re   rx   rv  r  re   r#   r   r   )
r   r7   r  r   from_arraysrv  r  r	   r<   r=   )rH   rN   r   rM   s       r   test_nunique_with_objectr  o  s    	
 )	D \\4*+F3;;=F""DGGT[[#9:EqcAgF%8H6,r!   c                      [        S[        S9n U R                  SS9R                  5       n[        SSS9n[        R
                  " X5        g )Nre   r   r   levelr   )r	   r   r7   r  r<   r=   )rH   rN   rM   s      r   test_nunique_with_empty_seriesr    sA    vV,D\\\"**,F61H6,r!   c                     [        [        S5      [        S5      [        S5      // SQS.5      R                  S5      n U R                  [        R
                  " SS95      S	   R                  5       nU R                  [        R
                  " SS95      S	   R                  [        R                  5      n[        R                  " X5        g )
Nz2016-06-28 09:35:35z2016-06-28 16:09:30z2016-06-28 16:46:28)rN  23)r   rH   r   r  )ra  rH   )r   r
   r   r7   rD   Grouperr  r?   r	   r<   r=   testrN   rM   s      r   test_nunique_with_timegrouperr    s     /0/0/0
 $	
	 i 	 \\"**#./7??AF||BJJC01&9??OH6,r!   zkey, data, dropna, expected)r   r   r   z
2019-01-01r   ra   rd   r  i  )r   r   r   yr  r  )r   r   r   r   r  c                     [        XS.5      nUR                  S/5      S   R                  US9n[        R                  " XS5        g )N)ra   rH   ra   rH   r  )r   r7   r  r<   r=   )ra   rH   r  rM   rp   rN   s         r   test_nunique_with_NaTr    sC    V 
3-	.BZZ (000?F6,r!   c                     [        / SQ[        R                  " S/SS9S9n U R                  / SQ5      R	                  5       n[        S/[
        R                  " S/5      U R                  S	9n[        R                  " X5        g )
N)r#   r   r   ru   level_0rd   rx   rY   r   r   )r   rg   )
r   rD   rm   r7   r  r1   r~   rg   r<   rn   r  s      r   )test_nunique_preserves_column_level_namesr    s^    Y#Y(GHD\\)$,,.F!BHHaSM4<<HH&+r!   c                      [        [        SS5      S/S9n U R                  / SQ5      S   R                  S5      n[	        / SQSS9n[
        R                  " X5        g )	Nz
2008-12-31z
2009-01-02rQ  rx   )r   r   r#   r  )r   r   r#   rd   )r   r   r7   r@   r	   r<   r=   r   s      r   $test_nunique_transform_with_datetimer    sO    	:lL9F8	LBZZ	"6*44Y?Fif-H6,r!   c                     [        S/5      R                  S5      nUS S nUR                  X S9nUR                  5       nU (       a  [        / US S SS9nO[        S/USS9n[        R
                  " XE5        g )Nr#   rn  r   r4  r   r   )r	   r>   r7   r  r<   r=   )r5  r   r   r   rN   rM   s         r   test_empty_categoricalr    ss    
!+

Z
(C
bq'C	S	,BZZ\F"CG7;1#S86,r!   c                     [        SS[        R                  S/5      n U R                  / SQ5      nUR	                  [
        R                  5      nUR                  [
        R                  5      n[        SS[        R                  /[        R                  " / SQ5      S9n[        R                  " X$5        [        R                  " X45        g )NrZ   r[   r\   )r   r#   r   r   r   r#   r   r   )r	   r1   ry   r7   r;   rk   r'   r?   r~   r<   r=   )srI   rN   r{  rM   s        r   test_intercept_builtin_sumr    s    S"&&#&'Aii%G [[&FmmHLL)GsC(0CDH6,7-r!   c           	         SnSn[         R                  n[        R                  " XX3X"U/SS9n[	        / SQUS.5      nUR                  S5      R                  U S9nU S	:X  aM  [	        S
[        R                  " / SQSS90[        R                  " / SQSS9S9n[        R                  " Xg5        g [	        S
[        R                  " [        R                  /S-  SS90[        R                  " / SQSS9S9n[        R                  " Xg5        g )NTFr   r   )r#   r#   r   r   r   r   r#   ro  ru   rU  r   rv   )r   r   r   r   rX   rd   r   r   )r1   ry   rD   r~   r   r7   r'   rm   r<   rn   r   )rV  r`   r_   nadfgrp   rN   rM   s           r   !test_groupby_sum_mincount_booleanr    s    AA	B
((A"!*)
<C	.S9	:BZZ_  9 5FA~"((9G45((93/
 	f/"((BEE7Q;g67((93/
 	f/r!   c                     [        / SQ/ SQ/ SQS.SS9n U R                  S5      n[        R                  " / SQSSS9nUS   R	                  SS	9n[        [        R                  /S
-  SUSS9n[        R                  " X45        UR	                  SS	9n[        [        R                  /S
-  [        R                  /S
-  S.SUS9n[        R                  " X45        g )Nr  r   r   r   r_   r   r`   r   rU  r   )r   r   re   )r`   r   )r   r   )
r   r7   rD   rm   r'   r	   r   r<   r=   rn   )rp   rI   re  rN   rM   s        r   0test_groupby_sum_below_mincount_nullable_integerr    s    	C7	SBjjoG
((93g
6CS\*Fruugk#FH6,[[1[%Fw{"%%1=WTWXH&+r!   c                     [        / SQ[        R                  " S5      [        R                  " S5      [        R                  " S5      [        R                  /S.5      n [        R                  " SS9R	                  S5      nU R                  S	5      nUR                  5       n[        S
X/0[        R                  " SS/S	S9S9n[        R                  " X45        US
   R                  5       n[        R                  " X4S
   5        US
   R                  SS9n[        U[        R                  /SS
UR                  S9n[        R                  " X45        g )N)r#   r#   r   r   1D2D3Dr   r   )r  usr_   r`   r#   r   rd   r   rU  zm8[us])r   re   r   )r   rD   	TimedeltaNaTas_unitr7   r'   rm   r<   rn   r=   r	   r   )rp   td3r   r  rM   s        r   #test_groupby_sum_timedelta_with_natr    s   	,,t$bll4&8",,t:LbffU	

B ,,A

&
&t
,C	CB
&&(C#z*"((Aq62LMH#(
S'++-C3.
S'+++
"CsBFFm8#X^^TH3)r!   )int8int16r   r   r   r   r  zmethod,datarp   r   r   r   )rp   out_typec                    [        SSS.SSS.SSS.SSS./5      nUR                  R                  U 5      US'   SU;  a  / US'   SU;   a  US   nOU nUS	   n[        U5      nUR                  R                  U5      US'   UR                  S
SS9  UR	                  S
5      n[        Xq5      " US   6 n[        R                  " X5        g )Nr#   r   r   r   r   r`   r  r   rp   r_   T)inplace)r   r`   r>   r   r7   rj   r<   rn   )	r   r   rH   rp   r   rq   df_outgrpdts	            r   %test_groupby_non_arithmetic_agg_typesr  3  s     
q	+11-=QQ?OP
B ddkk% BsGTVT
#
t*Cs^F((//(+F3K
S$'::c?DtF|,A!$r!   c                  "    SSK Jn  U" U SS0UD6$ )Nr   )r  ddofr#   )scipy.statsr  )r  r   r  s      r   	scipy_semr
  [  s    '1'''r!   z	op,targopr:   r'   c                      U R                   S   $ )Nr   r   r   s    r   r   r   l  s    AFF1Ir!   c                      U R                   S   $ )Nr  r  r   s    r   r   r   m  s    166":r!   scipy)marksc                    [        [        R                  R                  S5      R	                  S5      5      n[        R                  R                  S5      R                  SSSS9R                  [        5      n[        UR                  U5      U 5      " 5       nU S;   a  SSS.O0 nUR                  U5      R                  " U40 UD6n[        R                  " XF5        g )	Nr   r#  r   r$  r%  )rA   r  r#   )r  axis)r   r1   r3   r4   r(  r)  r>   r   rj   r7   r;   r<   rn   )optargoprp   r,  rN   r   rM   s          r   test_ops_generalr  a  s    $ 
299((+;;DA	BBYY""1%..q"4.@GGNFRZZ',.F')^';a#Fzz&!%%f77H&+r!   r   )	r#   r#   r#   r   r   r   r   r   r   )r#   r#   r   r   r   r   )r#   r   r#   r   r#   r   function)r:   r  r  c                    US:X  a  SOSn[         R                  " U/S-  [        S9n[        R                  " / SQSSS	9n[        S
U0US9R                  S5      n[        U SS9R                  S5      n[        Xa5      " 5       n[        R                  " Xu5        UR                  U5      n[        R                  " Xu5        UR                  U/5      n[        R                  " S
U4/5      Ul        [        R                  " Xu5        g )Nr  g      ?g      ?r   r   rX   r_   r   r   r`   r   r   )r1   r~   r   rD   rm   r   r>   r7   rj   r<   rn   r;   r   from_tuplesrg   )r   r  outputr+  re  rM   rd  rN   s           r   ,test_apply_to_nullable_integer_returns_floatr  |  s     %S3F
((F8a<u
-C
((93g
6C#s3/66yAHvW-55c:FV&(F&+ZZ!F&+ZZ
#F!--X.?@H&+r!   r  )r'   r  r   r   r  r:   r  r  rA   r  r  c                   ^ ^ [        S/5      nUR                  SUS9nT S;   aa  [        UT 5      " TS9nUR                  SS9R                  U U4S j5      nU(       a  UR	                  5       n[
        R                  " XV5        g [        UT 5      " 5       nUR                  SS9R                  U 4S j5      nU(       a  UR	                  5       n[
        R                  " XV5        g )Nr   )r  r   )r  r  r'   r:   rh   r  c                 $   > [        U T5      " TS9$ r  r  )r  r  ri   s    r   r   3test_regression_allowlist_methods.<locals>.<lambda>  s    '!R.PV:Wr!   c                 &   > [        U T5      " 5       $ r%   r  )r  r  s    r   r   r    s    '!R.:Jr!   )r   r7   rj   r?   r   r<   rn   )r  ri   r   framerI   rN   rM   s   ``     r   !test_regression_allowlist_methodsr    s    ( qcNEmm!$m/G	,,"%V4==q=)//0WX**,H
f/"%'==q=)//0JK**,H
f/r!   c                     SS/SS/SS/SS/SS/SS/SS/SS	/SS
/SS/SS/SS/SS/SS//n [        U SS/SS9nUR                  S/5      R                  5       R                  5       n[        S/S/S.SS9n[        R
                  " X#5        g )Nr#   r=  )   r'  r  r)         r   r   +   r   /   r  X   ru   rv   r   )rg   r   l   N+R@ro  r   )r   r7   r  r  r<   rn   )rH   rp   rN   rM   s       r   "test_groupby_prod_with_int64_dtyper'    s     
B	
B	
B	
B	
A	
B	
B	
A	
A	
B	
A	
B	
B	
BD  
4#s7	;BZZ##%113Fs*<)=>gNH&+r!   c                  t   [         R                  " SSSS9n [        U 5      nUS S S2==   S-  ss'   UR                  S5      R	                  5       nU[        S5      -   US	'   U[        SS
S9-   US'   [         R                  UR                  S'   UR                  [        [        S5      5      S-  5      nUR                  5       n[         R                  " S5      n[         R                  " S5      n[        US-  XUXV/[        R                  " S5      S9n[        XwUS.5      n[         R"                  " XH5        g )Nz1 Dayi'  ns)r`  unitr   r   ru   r   rv   UTC)tzrw   r  i  z2887 days 11:21:02.326710176z2886 days 00:42:34.664668096r   rt   )rD   timedelta_ranger	   r  r  r
   r  r   r7   rk  r   rA   r  r1   r2   r   r<   rn   )	tdir   rp   r   rN   td1td4exp_serrM   s	            r   test_groupby_std_datetimeliker2    s   


We$
?C
+C!HMH	c				!BIaL BsGIaE**BsG&&BGGBK	DqNT)	*BVVXF ,,5
6C
,,5
6CcAgs2"))A,GGw7CDH&+r!   c                  :   [        [        S5      [        S5      S.5      n Sn[        R                  " [        US9   U R                  S/5      R                  S/5        S S S 5        [        R                  " [        US9   U R                  S/5      R                  SS9  S S S 5        [        R                  " [        US9   U R                  S/5      R                  S	S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       Na= f! , (       d  f       g = f)
Nr   ro  z(numeric_only accepts only Boolean valuesr,   ru   rv   Truer   r#   )r   r   rB   rC   r   r7   r:   )rp   rQ   s     r   %test_mean_numeric_only_validates_boolr5    s     
qa1	2B
4C	z	-


C5u% 
. 
z	-


C5F3 
. 
z	-


C5A. 
.	- 
.	- 
.	- 
.	-s#   #C*  C; D*
C8;
D	
D)prk   datetimer   stringr   numpyr1   rB   pandas._libs.tslibsr   pandas.core.dtypes.commonr   pandas.core.dtypes.missingr   pandasrD   r   r   r	   r
   r   r   pandas._testing_testingr<   pandas.tests.groupbyr   pandas.utilr   tdmarkparametrizerR   ry   rr   r{   r   r   r   r~   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r  r  r  r!  r/  r;  rD  rK  rS  rY  r[  rf  rh  rl  strrr  r  r  r  r  r  r  slowr  r  r  r  r  rm   rQ  r  r  r  r  r  r  r  r  r  r
  r:   r  rA   r  r'   r  r   r   r&  param
skip_if_nor  r  r  r'  r2  r5  r   r!   r   <module>rH     s"     "   $ 2 9    8 . "JK-+ L-+` 
	 $,%$,"
,, 
	ruu	u	ruud	ruue

-

- % HHdV4(HHbeeWI.		
 HHbeeWI.HHdV4(		
 HHbeeWI.HHbeeWI.		
 HHbeeWI.HHbeeWI.		
':
,;:
, "AB& C& %	'	266"D)	&	rvv&.	&&C& 8 45, 6,( 8 45!, 6!,H 	aVA1a&IJ	aVA1a&IJ $7, 8,@ 
 2323	
 	/	 #KL, M	,& & 12, 3,:P- !
Q1aAq!	,iC
Qq!Q1a	+Y	B
Qq!Q1a	+Wi@
Q1aAq!	,.?ARSNN FF         !	
6-76-& 
Q1aAq!	,i8
Qq!Q1a	+Y7
Qq!Q1a	+W5
Q1aAq!	,.?@	--"-( 'v	!Q2661aAr15y)Lv	!RAq"%%Aq!4iKv 
!Q2q!QBEE15wHv 
"&&B	95	v
 
"%%2y)4v 
"%%2w0v 
B1bffaAq!4iKv 
Aq"aAr1bee4iKv 
B1aQq!4gyIv 
2y)4v 
"i3v 
"gy1v 
Aq"aAr26615y)Lv 
B1aQq!4iKv 
Aq"aAr1bee4gyIv  
2y)4!v" 
"i3#v$ 
"gy1%v& 
B1aQ15y)L'v( 
Aq"aAr255!4iK)v* 
B1aQ1bee4gyI+v, 
2y)4-v. 
"i3/v0 
"gy11v2 
B1aQ15y)L3v4 
Aq"aAr255!4iK5v6 
B1aQ1bee4gwG7v: 2661aAq!Q/		
9vF NN FF         #	
Evj 
2y)4kvl 
"i3mvn 
"gw/ovp 
B1aQ15y)Lqvr 
Aq"aAr255!4iKsvt 
B1aQ1bee4gwGuvx 2661aAq!Q/		
wvD NN FF         #	
Cvh 
2y)4ivj 
"i3kvl 
"gw/mvn 
Ar1aB2661a8)YOovp 
Aq!RAq"beeQ7INqvr 
Ar1aB1a7)Lsvv 2661aAq!Q/		
uvB NN FF         #	
Avf 
BFF8b=)Y7gvh 
BEE7R<I6ivj 
BEE7R<)4kvyt-uyt-&"$,",<-$?(? %0
- 1
- %0
, 1
,,< %0
, 
, 1
, "UV,/ W,/^)" !@A, B,, %0, 1, q!f-u6X& 7 .X&v&( dE]35'E5>!:;+ < 4 +D,2-&--" ! |$bffi.EFA3bhhu59G		
 WWT1a "&&"''$1*=>A3bhhu59G		
 &a#a#a# Aq63*5!AO	
 &a#a#a# Aq63*5!AO	
3%(R-S(R-,-
-
. q"g.0 /0,,*0 P 	4*!!,<=>?	$qq)+;<=>	aa(*:;<=	aa(*:;<=	*!!,<=7ST	%	%6( 		299							%&	%&	"''UIR]]7-CD",#",  -RUUAq"%%Aruua8	
 !'9:	 %>?, @	,(  0! 0.,0,6/r!   