
    [6gH                     F   d dl Z d dlZd dlZd dlmZ d dlZd dlmZm	Z	m
Z
mZmZ d dlmZ d dlmZ  G d d          Zej                            dg d          d	             Zej                            d
g d          ej                            dddej        g          ej                            ddgddgg          d                                     Zej                            d          ej                            deeeeg          d                         ZdS )    N)lib)	DataFrameIndexSeries	Timestamp
date_range)get_groupby_method_argsc                      e Zd Zej        d             Zej                            dddg          d             Zej                            dddg          d             Z	ej                            dd	d
g          d             Z
ej                            dddg          d             Zej                            dddg          d             Zej                            dddg          d             Zd ZdS )TestNumericOnlyc                 ,   t          g dg dg dt          d          t          t          d                                        d          g dt	          dd	          t	          ddd
          t          j        ddd          d	g d          }|S )N)   r      )r   r      )g      @g      @      @abccategory)      	   20130101r   )periods
US/Eastern)r   tzz1 ss)r   freq)	groupintfloatstringcategory_stringcategory_intdatetime
datetimetz	timedeltacolumns)r   listr   astyper   pdtimedelta_range)selfdfs     e/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/pandas/tests/groupby/test_numeric_only.pyr,   zTestNumericOnly.df   s     " yy(u++#)$u++#6#6#=#=j#I#I )		&z1===(Q<PPP/qsKKK
 

 
 

 
 
0 	    methodmeanmedianc                 <   t          g d          }|                    d          }t          ddgddgt          j        d          t          j        d          gd	d
gt          d          t          d          gt          dd          t          dd          gdt          ddgd          g d          } t          ||          d          }t          j        |	                    |          |           |j
        }|                     ||||           d S )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   r)   	Timedeltar   getattrtmassert_frame_equalreindex_liker&   _check)r+   r,   r/   expected_columns_numericgbexpectedresultexpected_columnss           r-   test_averageszTestNumericOnly.test_averages5   sL    $))I)I)I#J#J ZZ  !$as l622BL4F4FGQx344344
 3EEE3EEE  AW---  !
 
 
. %V$$$777
f11(;;XFFF#+B 02JKKKKKr.   minmaxc                 \    t          g d          }|}|                     ||||           d S )N)r   r   r   r!   r"   r#   r$   r   r?   r+   r,   r/   rD   r@   s        r-   test_extremazTestNumericOnly.test_extremaY   sK    
 !  

 

 $4 B 02JKKKKKr.   firstlastc                 \    t          g d          }|}|                     ||||           d S )N)r   r   r   r    r!   r"   r#   r$   rI   rJ   s        r-   test_first_lastzTestNumericOnly.test_first_lastm   sI     	 	 	
 
 $4 B 02JKKKKKr.   sumcumsumc                     t          g d          }t          g d          }|dk    rt          g d          }|                     ||||           d S )Nr3   )r   r   r   r!   r$   rQ   )r   r   r!   r$   rI   )r+   r,   r/   r@   rD   s        r-   test_sum_cumsumzTestNumericOnly.test_sum_cumsum   sr    #()I)I)I#J#J  CCC
 
 X$%R%R%RSSB 02JKKKKKr.   prodcumprodc                 \    t          g d          }|}|                     ||||           d S )Nr3   rI   rJ   s        r-   test_prod_cumprodz!TestNumericOnly.test_prod_cumprod   s=     !A!A!ABB#3 B 02JKKKKKr.   cummincummaxc                 \    t          g d          }|}|                     ||||           d S )N)r   r   r!   r"   r#   r$   rI   rJ   s        r-   test_cummin_cummaxz"TestNumericOnly.test_cummin_cummax   sE     !SSS
 

 $4 B 02JKKKKKr.   c                    |                     d          }|                    d          rt          nt          }|dv rzd                    dd| dt          j        d| d	          d
g          }t          j        ||          5   t          ||                       d d d            n# 1 swxY w Y   n|dv rd                    dt          j        d| d	          t          j        d| d          g          }t          j        ||          5   t          ||                       d d d            n# 1 swxY w Y   n2 t          ||                      }t          j        |j        |           |dvrd                    ddd
d| dt          j        d| d	          t          j        d| d          g          }t          j        ||          5   t          ||          d           d d d            d S # 1 swxY w Y   d S  t          ||          d          }t          j        |j        |           d S )Nr   cum)rF   rG   rX   rY   rQ   rU   |zCategorical is not orderedzCannot perform z with non-ordered Categoricalagg function failed [how->,dtype->object]*function is not implemented for this dtypematch)rP   r0   r1   rT   z-category type does not support sum operationsz,dtype->string]rL   rM   zcategory type does not supportFr7   )r9   
startswithNotImplementedError	TypeErrorjoinreescapepytestraisesr;   r<   assert_index_equalr&   )	r+   r,   r/   rD   r@   rA   	exceptionmsgrC   s	            r-   r?   zTestNumericOnly._check   sU   ZZ   ,2+<+<U+C+CR''	LLL((0KfKKKIR6RRRSS@ C y444 & &#F##%%%& & & & & & & & & & & & & & &888((CIR6RRRSSIR6RRRSS C y444 & &#F##%%%& & & & & & & & & & & & & & & )WR((**F!&.2JKKK***((04@KfKKKIR6RRRSSIR6RRRSS	 	C y444 8 8#F##77778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 )WR((e<<<F!&.2BCCCCCs6   B++B/2B/D::D>D>HH	H	N)__name__
__module____qualname__rk   fixturer,   markparametrizerE   rK   rO   rS   rW   r[   r?    r.   r-   r   r      s        ^  ^: [X'9::!L !L ;:!LF [Xu~66L L 76L& [X'899L L :9L" [Xx'899	L 	L :9	L [X	':;;L L <;L [X(';<<	L 	L =<	L1D 1D 1D 1D 1Dr.   r   r8   )TFNc                    |dv rt          j        d           |dv r5d}|                     t           j                            |                     t          t          j                            d          	                    d          g d	          }d
|d<   g d}|
                    |          }t          ||          }t          ||          }	ddi}
|||
d<   d}d}d| d}|||v rd}|dv rrt          j        t          |          5  t          j        t"          |          5   ||	i |
 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d S d S t          j        t          |          5   ||	i |
 d d d            d S # 1 swxY w Y   d S ||vr@d}t          j        t          |          5   ||	i |
 d d d            d S # 1 swxY w Y   d S ||s|dvrd}|rdd l}t          |j        j        f}nt          }t          j        |dd                    |           d          5  t          j        t"          |          5   ||	i |
 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S t          j        t"          |          5   ||	i |
}d d d            n# 1 swxY w Y   |r|                    d	          j        n|j        } t          ||          |	 j        }|dk    r|s|                    t2                    }t          j        ||           d S )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   r8   )rU   rQ   difffillna
pct_changerankshift)rU   rQ   r   r   r   r   rY   rX   ry   rx   r   zDataFrameGroupBy.z with axis=1 is deprecated1got an unexpected keyword argument 'numeric_only')rU   rQ   rb   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 kernelr   (r^   )r   )rk   skipapplymarkerrt   xfailr   nprandomdefault_rngstandard_normalr9   r;   r	   rl   rg   r<   assert_produces_warningFutureWarningpyarrowr   ArrowNotImplementedErrorrh   dropTr(   r   assert_equal)requestgroupby_funcr8   using_infer_stringro   r,   groupsrA   r/   argskwargsno_argshas_axiswarn_msgmsgspaerrsrC   df_expectedrB   s                       r-   test_axis1_numeric_onlyr      s   +++KLLL+++TFK--S-99:::	
	a  0099CWCWCW
 
 
B BsG+++F	F		BR&&F"<44Da[F!-~ UGH L<KKKHLG$;$;A000y444 , ,/XNNN , ,FD+F+++, , , , , , , , , , , , , , ,, , , , , , , , , , , , , , , , , , , y444 ( (''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (	X	%	%9]9C000 	$ 	$FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 
l
 M 9 9
  	    rv>?DDD]4'<388D>>'<'<'<=== 	( 	(+MJJJ ( (''''( ( ( ( ( ( ( ( ( ( ( ( ( ( (	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 'XFFF 	- 	-VT,V,,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 1=Fbggcg**,,"$57;55t<>7""<"  u--H
)))))s   E+	E 4E E	EE	EEE	FFF	GG"G J		I1%J	1I5	5J	8I5	9J		JJ1	KK
K
zkernel, has_arg))allF)anyF)bfillF)corrT)rz   T)covT)rY   T)rX   T)rU   T)rQ   T)r   F)ffillF)r   F)rL   T)rx   T)ry   T)rM   T)rG   T)r0   T)r1   T)rF   T)nthF)nuniqueF)r   F)rT   T)quantileT)semT)r{   T)stdT)rP   T)varTTFkeysa1a2c                 t   t          ddgddgddgdt          gz  d          }t          | |          }|t          j        u ri nd|i}|                    |          }t          ||           }|r|du r ||i |}	d|	j        vsJ d S | d	v s| d
v rb|t          j        u rT| dk    rt          nd }
d}t          j
        |
|          5   ||i |}	d d d            n# 1 swxY w Y   d|	j        v sJ d S |r|dusJ |                     d          rt          nt          }d                    dddddt          j        d|  d          g          }| dk    rd}n| dk    rd}t#          j        ||          5   ||i | d d d            d S # 1 swxY w Y   d S |sL|t          j        ur>t#          j        t          d          5   ||i | d d d            d S # 1 swxY w Y   d S | dv sJ |t          j        u sJ t#          j        t          d          5   ||i | d d d            d S # 1 swxY w Y   d S )Nr   r         )r   r   a3br8   Tr   rd   )r   r   r   r   r   r   r   r   %DataFrameGroupBy.fillna is deprecatedrb   r]   r^   znot allowed for this dtype+cannot be performed against 'object' dtypeszmust be a string or a.* numberr   ra   r_   r`   ry   z8'<' not supported between instances of 'type' and 'type'rx   z8'>' not supported between instances of 'type' and 'type'r   )r   r   )r   objectr	   r   
no_defaultr9   r;   r&   r   r<   r   re   rf   rg   rh   ri   rj   rk   rl   )kernelhas_argr8   r   r,   r   r   rA   r/   rC   warnro   rn   s                r-   test_numeric_onlyr   *  s    T 
1a&Aq!f1x<PP	Q	QB"62..D3>11RR7UF	D		BR  F 5$<4''(((&.(((((( 	### RRR.. !'( 2 2}}5'C888 	- 	-VT,V,,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-fn$$$$$$	 #$4''''
 ,2+<+<U+C+CR''	hh,=0*<	NvNNNOO

 

 XLCCxLC]9C000 	$ 	$FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 
$S^;;]P
 
 
 	$ 	$ FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$
 /////s~----]9,GHHH 	$ 	$FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$sH   	CC!C5	FFF	GG G	H--H14H1z4ignore:Downcasting object dtype arrays:FutureWarningdtypec                 8   g d}t          g d|           }|                    |          }|dk    rt          ||          rJ d S t          ||          }t          g d          }|                    |          }t          ||          }	t	          ||          }
d}d}||v r| t
          u r|dk    rd}nd	}|d
k    rt          nd }d}t          j        ||          5  t          j
        t          |          5   ||
  d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   n| t
          u r|d
k    rt          nd }d}t          j        ||          5   ||
 }d d d            n# 1 swxY w Y   t          j        ||          5   |	|
 }d d d            n# 1 swxY w Y   ||v r|                    t
                    }t          j        ||           d}||vr@d}t          j
        t          |          5   ||
ddi d d d            d S # 1 swxY w Y   d S | t
          u rUd                    g d          }t          j
        t          |          5   ||
ddi d d d            d S # 1 swxY w Y   d S | t          k    rb|dk    r\d}t          j        t          |          5   ||
ddi} ||
ddi}d d d            n# 1 swxY w Y   t          j        ||           d S  ||
ddi} ||
ddi}t          j        ||           d S )N)r   r   r   )r   r   r   )r   rz   )r   r   rY   rX   rU   rQ   r   )rL   rM   r   r   r   r   rP   r   r   r   r0   r1   rF   rG   rT   r{   r   r   z!is not supported for object dtyper   r   rb   z"SeriesGroupBy.fillna is deprecated)rL   rM   rG   r0   r1   rF   rT   r   r   r{   r   rP   r   rY   rX   rU   rQ   r   r8   Tr^   )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   r9   hasattrr;   r	   r   r   r<   r   rk   rl   rg   r(   assert_series_equalrh   bool)r   r   r   grouperserrA   r/   expected_serexpected_gbexpected_methodr   fails_on_numeric_object
obj_resultro   r   r   rC   rB   has_numeric_onlys                      r-   "test_deprecate_numeric_only_seriesr     s    iiG
%
(
(
(C	W		Bz!!2|,,,,,R&&F)))$$L&&w//Kk<88O"<55DJ* ...5F??:%%?CC5C , 8 8}}d:'H=== 	 	y444                	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
& , 8 8}}d7'H=== 	# 	#VT]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#'H=== 	. 	.&-H	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.:%%v..H
vx000& +++A]9C000 	- 	-FD,t,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-	&hh  
 
 ]9C000 	- 	-FD,t,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-	$<:55='SAAA 	9 	9VT555Fvt8%88H	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	vx000001D11644e44
vx00000s    D%<DD%D	D%D	D%%D),D)!E33E7:E7F&&F*-F*	HH!$H!%	I;;I?I?6KKK)ri   numpyr   rk   pandas._libsr   pandasr)   r   r   r   r   r   pandas._testing_testingr<   pandas.tests.groupbyr	   r   rt   ru   r   r   r   filterwarningsr   r   r   r   r   rv   r.   r-   <module>r      s   				                                   8 8 8 8 8 8{D {D {D {D {D {D {D {D| )<)<)<==T* T* >=T*n      # #H $s~)FGG4&4,!788@$ @$ 98 HGI# #L@$F RSS4eV"<==t1 t1 >= TSt1 t1 t1r.   