
    A>i;                        S SK r S SK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  S SKJr  S SKJr   " S 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&                  R)                  S\\\\/5      S 5       rg)    N)lib)Pandas4Warning)	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     e/var/www/html/land-tabula/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   zkernel, has_arg))allF)anyF)bfillF)corrT)corrwithT)covT)rg   T)rf   T)rb   T)r]   T)diffF)ffillF)rW   T)idxmaxT)idxminT)rX   T)rQ   T)r9   T)r:   T)rP   T)nthF)nuniqueF)
pct_changeF)ra   T)quantileT)semT)skewT)kurtT)stdT)r\   T)varTrA   TFkeysa1a2c                 D   [        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(       aP  USL aK  U S:X  a	  [        n	S	n
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 S;   d  U S;   a.  U[        R                  L a  U" U0 UD6nSU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 S:X  a	  [        n	S	n
OS n	S
n
[        R                  " XS9   U" U0 UD6  S S S 5        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N= f! , (       d  f       N= f! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       g = f) Nr   r         )r   r   a3r   rA   Tr   z'DataFrameGroupBy.corrwith is deprecated rr   r   rt   )r   r   r   r   r   r   rl   rm   znot allowed for this dtypez+cannot be performed against 'object' dtypesz!must be a string or a real numberzunsupported operand typerp   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'1got an unexpected keyword argument 'numeric_only')r   r   )r   r(   r
   r   
no_defaultrB   rD   r   rE   assert_produces_warningr.   ru   rv   rw   rx   ry   rz   r{   r|   )kernelhas_argrA   r   r4   argskwargsrJ   r8   warnr   rL   r~   s                r5   test_numeric_onlyr      s   T 
1a&Aq!f1x<P	QB"6.D3>>1R7UF	D	BR F<4'Z!D;CDC''8T,V,F 9&..((( 	## HH. ((fnn$$$	4'''
 ,2+<+<U+C+C'	hh,=3*<		6vhoNO	
 ZHCxLCxLC]]90#%?++D<'' = 10 S^^;]]P
 D#F#
 

 ////s~~---]]9,GHD#F# IHq 98Z =< 10
 
 IHsH   	I=(I/%	I.I/2	J :	J
I
I,	(I//
I= 
J
Jr   c                 L   / 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;   a<  U [
        L a3  US:X  a  SnOS	n[        R                  " [        US
9   U" U
6   S S S 5        OCU [
        L a:  U" U
6 nU	" U
6 nX;   a  UR                  [
        5      n[        R                  " X5        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  a3  US:X  a-  Sn[        R                  " [        US
9   U" U
SS06  S S S 5        g U" U
SS06nU" U
SS06n[        R                  " X5        g ! , (       d  f       N= f! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       g = f)N)r   r   r   )r   r   r   r   r   )r   r   rg   rf   rb   r]   r   )rW   rX   r   r   r   shiftr\   r   r   r   r9   r:   rP   rQ   ra   r   r   r   r   z!is not supported for object dtyperr   )rW   rX   rQ   r9   r:   rP   ra   r   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#Cannot use quantile with bool dtypeF)r   rB   hasattrrD   r
   r(   r{   r|   rw   r0   rE   assert_series_equalrx   bool)r   groupby_funcrequestgrouperserrJ   r8   expected_serexpected_gbexpected_methodr   fails_on_numeric_object
obj_resultr   rL   rK   has_numeric_onlys                    r5   "test_deprecate_numeric_only_seriesr   O  s    G
%
(C	W	Bz!2,,,,R&F)$L&&w/Kk8O"<5DJ, .5F?:%HC5C]]9C0DM 10	&"D)%v.H
v0( ++A]]9C0D,t, 10	&hh
 ]]9C0D,t, 10	$<:53]]9C0D-u- 10 1D144e4
v0i 10> 10 10 10s0   0G"%	G3,	H)	H"
G03
H
H
H#)ry   r{   pandas._libsr   pandas.errorsr   pandasr1   r   r   r   r   r	   pandas._testing_testingrE   pandas.tests.groupbyr
   r   r   r   r   r   r   r%   r&   r(   r   r   r7   r5   <module>r      s    	   (    8CD CDL  #H $s~~)FG4&4,!78L$ 9 HI#LL$^ 4eV"<=m1 >m1r7   