
    m*iJ                     0   S SK r S SKrS SKrS SKJr  S SKrS SKJrJ	r	J
r
JrJr  S SKJr  S SKJr   " S S5      r\R&                  R)                  S/ SQ5      S	 5       r\R&                  R)                  S
/ SQ5      \R&                  R)                  SSS\R,                  /5      \R&                  R)                  SS/SS//5      S 5       5       5       r\R&                  R1                  S5      \R&                  R)                  S\\\\/5      S 5       5       rg)    N)lib)	DataFrameIndexSeries	Timestamp
date_range)get_groupby_method_argsc                      \ rS rSr\R
                  S 5       r\R                  R                  SSS/5      S 5       r	\R                  R                  SSS/5      S	 5       r
\R                  R                  SS
S/5      S 5       r\R                  R                  SSS/5      S 5       r\R                  R                  SSS/5      S 5       r\R                  R                  SSS/5      S 5       rS rSrg)TestNumericOnly   c                     [        / SQ/ SQ/ SQ[        / SQSS9[        / SQ[        S9[        [        S5      5      R	                  S5      / S	Q[        S
SS9[        S
SSS9[        R                  " SSSS9S.
/ SQS9nU$ )N)   r      )r   r      )g      @g      @      @)abcstrdtypeabccategory)      	   20130101r   )periods
US/Eastern)r   tzz1 ss)r   freq)
groupintfloatstringobjectcategory_stringcategory_intdatetime
datetimetz	timedeltacolumns)r   r   r'   listastyper   pdtimedelta_range)selfdfs     f/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/groupby/test_numeric_only.pyr4   TestNumericOnly.df   s~     " ( > ?#)$u+#6#=#=j#I )&z1=(Q<P//qsK
4 	    methodmeanmedianc                    [        / SQ5      nUR                  S5      n[        SS/SS/[        R                  " S5      [        R                  " S5      /S	S
/[        S5      [        S5      /[        SSS9[        SSS9/S.[        SS/SS9/ SQS9n[        XB5      " SS9n[        R                  " UR                  U5      U5        UR                  nU R                  XXs5        g )Nr$   r%   r)   r#   g      @r   g      @r   z1.5s3sg      ?r   z2013-01-01 12:00:00z2013-01-03 00:00:00r   )r    )r)   r%   r,   r$   r*   r+   r   r   )name)indexr.   Tnumeric_only)r   groupbyr   r1   	Timedeltar   getattrtmassert_frame_equalreindex_liker.   _check)r3   r4   r8   expected_columns_numericgbexpectedresultexpected_columnss           r5   test_averagesTestNumericOnly.test_averages7   s     $))I#J ZZ !$as ll62BLL4FGQx3434
 3E3E AW-!
. $$7
f11(;XF#++B 0Kr7   minmaxc                 F    [        / SQ5      nUnU R                  XX45        g )N)r$   r%   r&   r)   r*   r+   r,   r   rH   r3   r4   r8   rM   rI   s        r5   test_extremaTestNumericOnly.test_extrema[   s+    
 !

 $4 B 0Kr7   firstlastc                 F    [        / SQ5      nUnU R                  XX45        g )N)	r$   r%   r&   r'   r(   r)   r*   r+   r,   rS   rT   s        r5   test_first_lastTestNumericOnly.test_first_lasto   s)     

 $4 B 0Kr7   sumcumsumc                     [        / SQ5      n[        / SQ5      nUS:X  a  [        / SQ5      nU R                  XXC5        g )Nr<   )r$   r%   r&   r)   r,   r]   )r$   r%   r)   r,   rS   )r3   r4   r8   rI   rM   s        r5   test_sum_cumsumTestNumericOnly.test_sum_cumsum   sA    #()I#J  C
 X$%RSB 0Kr7   prodcumprodc                 F    [        / SQ5      nUnU R                  XX45        g )Nr<   rS   rT   s        r5   test_prod_cumprod!TestNumericOnly.test_prod_cumprod   s#     !AB#3 B 0Kr7   cummincummaxc                 F    [        / SQ5      nUnU R                  XX45        g )N)r$   r%   r)   r*   r+   r,   rS   rT   s        r5   test_cummin_cummax"TestNumericOnly.test_cummin_cummax   s)     !S

 $4 B 0Kr7   c                 r   UR                  S5      nUR                  S5      (       a  [        [        4O[        nUS;   ad  SR	                  SSU S3[
        R                  " SU S	35      S
SU S3/5      n[        R                  " XgS9   [        XR5      " 5         S S S 5        OUS;   aw  SR	                  S[
        R                  " SU S	35      [
        R                  " SU S35      SU S3/5      n[        R                  " XgS9   [        XR5      " 5         S S S 5        O1[        XR5      " 5       n[        R                  " UR                  U5        US;  a}  SR	                  SSS
SU S3[
        R                  " SU S	35      [
        R                  " SU S35      SU S3/5      n[        R                  " XgS9   [        XR5      " SS9  S S S 5        g [        XR5      " SS9n[        R                  " UR                  U5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr#   cum)rP   rQ   rf   rg   r]   rb   |zCategorical is not orderedzCannot perform z with non-ordered Categoricalagg function failed [how->,dtype->object]*function is not implemented for this dtypez(dtype 'str' does not support operation ''match)r\   r9   r:   ra   z-category type does not support sum operationsz,dtype->string]rW   rX   zcategory type does not supportFr@   )rB   
startswithNotImplementedError	TypeErrorjoinreescapepytestraisesrD   rE   assert_index_equalr.   )	r3   r4   r8   rM   rI   rJ   	exceptionmsgrL   s	            r5   rH   TestNumericOnly._check   s   ZZ 
 170A0A%0H0H ),i 	 LL((0%fX-JKII :6(/RS@>vhaH	C y4#% 5488((CII :6(/RSII :6(/RS>vhaH	C y4#% 54 R(*F!!&..2JK**((04@%fX-JKII :6(/RSII :6(/RS>vhaH
C y4#7 54 R(e<F!!&..2BCC 54 54$ 54s$   
HH<H(
H
H%(
H6 N)__name__
__module____qualname____firstlineno__r{   fixturer4   markparametrizerN   rU   rZ   r_   rd   ri   rH   __static_attributes__r   r7   r5   r   r      s(    ^^ > [[X'9:!L ;!LF [[Xu~6L 7L& [[X'89L :L$ [[Xx'89	L :	L [[X	':;L <L [[X(';<	L =	L6Dr7   r   rA   )TFNc                    US;   a  [         R                  " S5        US;   a.  SnU R                  [         R                  R	                  US95        [        [        R                  R                  S5      R                  S5      / SQS	9nS
US'   / SQnUR                  U5      n[        Xq5      n[        X5      n	SS0n
Ub  X*S'   SnSnSU S3nUb  X;   a  SnUS;   aM  [         R                  " [        US9   [        R                   " ["        US9   U" U	0 U
D6  S S S 5        S S S 5        g [         R                  " [        US9   U" U	0 U
D6  S S S 5        g X;  a-  Sn[         R                  " [        US9   U" U	0 U
D6  S S S 5        g Ub  U(       d  US;  a  SnU(       a3  [         R$                  " S5      n[        UR&                  R(                  4nO[        n[         R                  " USSR+                  U5       S3S9   [        R                   " ["        US9   U" U	0 U
D6  S S S 5        S S S 5        g [        R                   " ["        US9   U" U	0 U
D6nS S S 5        U(       a  UR-                  SS	9R.                  OUR.                  n[        UU5      " U	6 R.                  nUS:X  a  U(       d  UR1                  [2        5      n[        R4                  " WU5        g ! , (       d  f       GN= f! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       GN= f! , (       d  f       g = f! , (       d  f       N= f)N)idxmaxidxminz5idxmax and idx_min tested in test_idxmin_idxmax_axis1)corrwithskewzDGH#47723 groupby.corrwith and skew do not correctly implement axis=1)reasonr   )
      )ABCDr-   xE)
r   r   r   r   r   r   r   r   r   r   axisr   rA   )rb   r]   difffillna
pct_changerankshift)rb   r]   r   r   r   r   rg   rf   r   r   r   zDataFrameGroupBy.z with axis=1 is deprecated1got an unexpected keyword argument 'numeric_only')rb   r]   rr   z)got an unexpected keyword argument 'axis')r   r   )z"not supported between instances ofz2can't multiply sequence by non-int of type 'float'unsupported operand typezhas no kernelzBoperation 'sub' not supported for dtype 'str' with dtype 'float64'pyarrow(rm   )r   )r{   skipapplymarkerr   xfailr   nprandomdefault_rngstandard_normalrB   rD   r	   r|   rw   rE   assert_produces_warningFutureWarningimportorskipr   ArrowNotImplementedErrorrx   dropTr0   r%   assert_equal)requestgroupby_funcrA   using_infer_stringr   r4   groupsrJ   r8   argskwargsno_argshas_axiswarn_msgmsgspaerrsrL   df_expectedrK   s                       r5   test_axis1_numeric_onlyr      s   ++KL++TFKK--S-9:	
		a 009CW
B BsG+F	F	BR&F"<4Da[F!-~ UGH #<.0JKHL$;A00y4//XND+F+ O 54 y4'' 54		%9]]9C0D#F# 10 
l M 9	
 $$Y/Brvv>>?DD]]4388D>*:!'<=++MJ'' K >= ''XFT,V,F G 1=bggcg*,,"$$;5t<>>7"<  u-H
)Y ON 54 54 100 KJ >= GFsl   7K1	KK1	L6	LL6	L$%L6	M
K.	)K11
K?
L
L!$
L3	.L66
M
Mzkernel, has_arg))allF)anyF)bfillF)corrT)r   T)covT)rg   T)rf   T)rb   T)r]   T)r   F)ffillF)r   F)rW   T)r   T)r   T)rX   T)rQ   T)r9   T)r:   T)rP   T)nthF)nuniqueF)r   F)ra   T)quantileT)semT)r   T)stdT)r\   T)varTTFkeysa1a2c                    [        SS/SS/SS/S[        /-  S.5      n[        X5      nU[        R                  L a  0 OSU0nUR                  U5      n[        Xp5      nU(       a   USL a  U" U0 UD6n	SU	R                  ;  d   eg U S	;   d  U S
;   a[  U[        R                  L aH  U S:X  a  [        OS n
Sn[        R                  " XS9   U" U0 UD6n	S S S 5        SW	R                  ;   d   eg U(       a  USLd   eU R                  S5      (       a  [        O[        nSR                  SSSSS[        R                   " SU  S35      /5      nU S:X  a  SnOU S:X  a  SnOU S:X  a  Sn["        R$                  " XS9   U" U0 UD6  S S S 5        g U(       d>  U[        R                  La+  ["        R$                  " [        SS9   U" U0 UD6  S S S 5        g U S;   d   eU[        R                  L d   e["        R$                  " [        SS9   U" U0 UD6  S S S 5        g ! , (       d  f       GNN= f! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       g = f)Nr   r         )r   r   a3r   rA   Tr   rt   )r   r   r   r   r   r   r   r   %DataFrameGroupBy.fillna is deprecatedrr   rl   rm   znot allowed for this dtypez+cannot be performed against 'object' dtypeszmust be a string or a.* numberr   rp   rn   ro   r   4dtype 'object' does not support operation 'quantile'r   z8'<' not supported between instances of 'type' and 'type'r   z8'>' not supported between instances of 'type' and 'type'r   )r   r   )r   r'   r	   r   
no_defaultrB   rD   r.   r   rE   r   ru   rv   rw   rx   ry   rz   r{   r|   )kernelhas_argrA   r   r4   r   r   rJ   r8   rL   warnr   r~   s                r5   test_numeric_onlyr   3  sO   T 
1a&Aq!f1x<P	QB"6.D3>>1R7UF	D	BR F<4'((&..((( 	## RR. !'( 2}5''8T,V,F 9fnn$$$	4'''
 ,2+<+<U+C+C'	hh,=0*<		6vhoNO

 ZHCxLCxLC]]90D#F# 10S^^;]]P
 D#F#
 

 ////s~~---]]9,GHD#F# IHO 988 10
 
 IHs0   		H:	H+?	H<	I
H(+
H9<
I

Iz4ignore:Downcasting object dtype arrays:FutureWarningr   c                    / SQn[        / SQU S9nUR                  U5      nUS:X  a  [        XQ5      (       a   eg [        XQ5      n[        / SQ5      nUR                  U5      n[        X5      n	[	        X5      n
SnSnX;   ai  U [
        L a`  US:X  a  SnOS	nUS
:X  a  [        OS nSn[        R                  " XS9   [        R                  " [        US9   U" U
6   S S S 5        S S S 5        OU [
        L a  US
:X  a  [        OS nSn[        R                  " XS9   U" U
6 nS S S 5        [        R                  " XS9   U	" U
6 nS S S 5        X;   a  WR                  [
        5      n[        R                  " WW5        SnUU;  a-  Sn[        R                  " [        US9   U" U
SS06  S S S 5        g U [
        L a>  SR                  / SQ5      n[        R                  " [        US9   U" U
SS06  S S S 5        g U [        :X  aR  US:X  aL  Sn[        R                  " [        US9   U" U
SS06nU" U
SS06nS S S 5        [        R                  " WW5        g U" U
SS06nU" U
SS06n[        R                  " UU5        g ! , (       d  f       GN= f! , (       d  f       GN!= f! , (       d  f       GN= f! , (       d  f       GNv= f! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       N= f)N)r   r   r   )r   r   r   r   r   )r   r   rg   rf   rb   r]   r   )rW   rX   r   r   r   r   r\   r   r   r   r9   r:   rP   rQ   ra   r   r   r   z!is not supported for object dtyper   r   rr   z"SeriesGroupBy.fillna is deprecated)rW   rX   rQ   r9   r:   rP   ra   r   r   r   r   r\   r   rg   rf   rb   r]   r   rA   Trm   )z@SeriesGroupBy.sem called with numeric_only=True and dtype objectz=Series.skew does not allow numeric_only=True with non-numericz7cum(sum|prod|min|max) is not supported for object dtypezCCannot use numeric_only=True with SeriesGroupBy\..* and non-numericz-Allowing bool dtype in SeriesGroupBy.quantileF)r   rB   hasattrrD   r	   r'   r   rE   r   r{   r|   rw   r0   assert_series_equalrx   bool)r   r   r   grouperserrJ   r8   expected_serexpected_gbexpected_methodr   fails_on_numeric_object
obj_resultr   r   r   rL   rK   has_numeric_onlys                      r5   "test_deprecate_numeric_only_seriesr     s    G
%
(C	W	Bz!2,,,,R&F)$L&&w/Kk8O"<5DJ* .5F?:%HC5C , 8}d:''=y4 5 >= 
& , 8}d7''=T]F >''=&-H >%v.H
vx0& ++A]]9C0D,t, 10	&hh
 ]]9C0D,t, 10	$<:5=''SAT55Ft8%8H B 	vx01D144e4
vx0s 54 >= >===6 10 10 BAs`   ;JI:JJ;J0	K$	K!K$:
J		J
J
J-0
J?
K
K!$
K2)ry   numpyr   r{   pandas._libsr   pandasr1   r   r   r   r   r   pandas._testing_testingrE   pandas.tests.groupbyr	   r   r   r   r   r   r   filterwarningsr   r$   r%   r'   r   r   r7   r5   <module>r      s#   	       8CD CDL )<=U* >U*p  #H $s~~)FG4&4,!78B$ 9 HI#LB$J RS4eV"<=t1 > Tt1r7   