
    o[we0                        d dl Z d dlmZ d dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlZd dlmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ  ej        ej        ej        ej        ej        dd	gg d
          d             Z d Z!ej"        #                    de$e%e&g          ej"        #                    ddddgg          d                         Z' G d d          Z( G d d          Z)d Z*d Z+d Z,ej"        #                    dg d          ej"        #                    dddddd d!d"d gifd#ddd!d d!d$d gifd%dddd d!d"d gifd&ddd!d d!d$d gifd'dd!d d!d!d gd(d)fg          d*                         Z-ej"        #                    d+ ed,           ed-          fd.g          d/             Z.ej"        #                    d0d1d d!gdd"gdd!gd2fd3dd"gd d!gd d"gd2fg          ej"        #                    d4d5d6g          d7                         Z/d8 Z0ej"        #                    d4g d9          d:             Z1d; Z2d< Z3d= Z4d> Z5ej"        #                    d?d@ej6        fdAej7        fdBej8        fdCej9        fdDej&        fdEej:        fd%ej%        fd&ej$        fddF fd#dG fd'ej;        f ej<        dHe5ej=        I          g          dJ             Z>dK Z?dL Z@dM ZAdN ZBej"        #                    dOg dPg dQfd gd gfg          ej"        #                    ddgejC                  ej"        #                    dRdSdTg          dU                                     ZDej"        #                    dVdWdXg          dY             ZEdZ ZFej"        #                    dRd[d\g          ej"        #                    dg d]          d^                         ZGd_ ZHd` ZIej"        #                    dRd[d\g          ej"        #                    dg da          ej"        #                    dbg dcg ddfg deg dffg dgg ddfg          dh                                     ZJej"        #                    dRd[d\g          di             ZKejL        ej"        #                    dRd[d\g          ej"        #                    djdk ejM        dl          j$        fdmg          dn                                     ZNej"        #                    dog dpg dqfddrejO        d"d!ejO        ejO         dsdtdejO         gg dufdd!ejP        d"d!ejP        ejP        dsejO         dejP        gg dvfg          dw             ZQej"        #                    dog dxg dqfejO        dejO         ejO        d!dyejO         dsdyejO         ejO         gg dzfdd!ejP        d"d!ejP        ejP        dsejO         dejP        gg dvfg          d{             ZRd| ZSd} ZTd~ ZUej"        #                    ddddgg          d             ZVd ZWd ZXd ZYd ZZej"        [                    d          ej"        #                    dd5d6g          ej"        #                    ddgddgg          d                                     Z\d Z]d Z^ej"        #                    dg ddej_        d!dej_        d!dej_        d!g	d g dg dd g          ej"        #                    dg d          d                         Z`ej"        #                    dd dg          d             Zad Zbd Zcd Zdej"        #                    dg d          ej"        #                    d4d5d6eje        g          ej"        #                    ddgddgg          d                                     Zfej"        #                    degeheiejg          d             Zkej"        #                    deheiejg          ej"        #                    dg ddddg dddgdg ddgddg          d                         Zlej"        #                    dVd%d&g          d             Zmd Znd Zod Zpej"        #                    dg d          ej"        #                    dd dg          ej"        #                    dd5d6g          ej"        #                    dd5d6g          d                                                 ZqdS )    N)StringIO)lib)UnsupportedFunctionCall)	DataFrameIndex
MultiIndexSeries	Timestamp
date_range)get_groupby_method_args)_test_decoratorsInt64Float64)znp.int32znp.int64z
np.float32z
np.float64r   r   )paramsidsc                    | j         }|}|dk    rt          j        }n|dk    rt          j        }t          j        |          j        dk    rt          j        |          j        nt          j        |          j        }t          j        |          j        dk    rt          j        |          j	        nt          j        |          j	        }|||fS )zZ
    Fixture of dtypes with min and max values used for testing
    cummin and cummax
    r   r   i)
paramnpint64float64dtypekindiinfominfinfomax)requestr   np_typemin_valmax_vals        Blib/python3.11/site-packages/pandas/tests/groupby/test_function.pydtypes_for_minmaxr#      s     MEG(	)		* 8G!S(( 	Xg"  8G!S(( 	Xg"  7G$$    c                  :   t          ddt          j        dg          } |                     g d          }d}t	          j        t          |          5  |                    t          j	                  }d d d            n# 1 swxY w Y   d}t	          j        t          |          5  |
                    t          j	                  }d d d            n# 1 swxY w Y   |	                                }t	          j        ||           t	          j        ||           d S )N      ?       @      @)r         r*   zusing SeriesGroupBy.summatchzusing np.sum)r	   r   nangroupbytmassert_produces_warningFutureWarningaggbuiltinssumapplyassert_series_equal)sgroupedmsgresultresult2expecteds         r"   test_intercept_builtin_sumr=   8   sr   S"&#&''Aii%%G
#C		#M	=	=	= + +X\**+ + + + + + + + + + + + + + + C		#M	=	=	= . .----. . . . . . . . . . . . . . . {{}}H68,,,7H-----s$    A>>BB& CCCfkeysjimjoec                    t           j                            d          }t          |                    ddd          ddg          }|                    d          |d	<   |                    |           }|j        |t          urd nt          }d
}t          j        ||dd          5  |                    |          }d d d            n# 1 swxY w Y   t          |                    |                     }d|j         d| d}	|j        |dfk    s
J |	            fd|                              }
t          j        ||
           t          j        d           5  |                    fd          }d d d            n# 1 swxY w Y   t          j        ||           |t          k    rV|                                                              }
|
                    | dd           t          j        ||
d           t          j         t+          |          d           t+          |          d                     d S )Nr*   r)      )
   r*   r@   rA   columnsrD   joliez:The behavior of DataFrame.sum with axis=None is deprecatedF)r,   check_stacklevelraise_on_extra_warnings)subsetzinvalid frame shape: z (expected (z, 3))   c                 D     t          t                    | d          S )Nr   axis)getattrr   )xfnames    r"   <lambda>z%test_builtins_apply.<locals>.<lambda>a   s!    )wr5))!!444 r$   c                      |           S N )rP   npfuncs    r"   rR   z%test_builtins_apply.<locals>.<lambda>f   s    vvayy r$   T)inplacedrop)check_dtyper   rM   )r   randomdefault_rngr   integersstandard_normalr.   __name__r4   r1   r/   r0   r5   lendrop_duplicatesshapeassert_frame_equalr2   reset_index	set_indexr6   rO   )r?   r>   rsdfgbwarnr9   r:   ngroups
assert_msgr<   	expected2rQ   rV   s               @@r"   test_builtins_applyrl   I   s    
		q	!	!B	2;;q!W--u~	F	F	FB$$R((BwK	D		BJEC<<44]D
FC		#C%
 
 
   !	              
 "$$D$1122GQQQ7QQQJ<GQ<''''''4444FxxH&(+++		#D	)	) 2 2HH000011	2 2 2 2 2 2 2 2 2 2 2 2 2 2 2&),,,Cxx66%==,,..4E:::
fhEBBBB176511q999;M72u;M;MST;U;U;UVVVVVs$   *CCC"FFFc                      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*   r)   r*   rK   )      @      @      @abccategory)rC      	   20130101rK   periods
US/Eastern)r{   tzz1 sr7   )r{   freq)	groupintfloatstringcategory_stringcategory_intdatetime
datetimetz	timedeltarE   )r   listr	   astyper   pdtimedelta_rangeselfrf   s     r"   rf   zTestNumericOnly.dft   s     " yy(u++#)$u++#6#6#=#=j#I#I )		&z1===(Q<PPP/qsKKK
 

 
 

 
 
0 	r$   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      @rx         @rt   z1.5s3s      ?rK   z2013-01-01 12:00:00z2013-01-03 00:00:00r|   r}   )r   r   r   r   r   r   r)   r*   nameindexrF   Tnumeric_only)r   r.   r   r   	Timedeltar
   rO   r/   rb   reindex_likerF   _check)r   rf   r   expected_columns_numericrg   r<   r:   expected_columnss           r"   test_averageszTestNumericOnly.test_averages   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$   r   r   c                 \    t          g d          }|}|                     ||||           d S )N)r   r   r   r   r   r   r   r   r   r   rf   r   r   r   s        r"   test_extremazTestNumericOnly.test_extrema   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   r   r   s        r"   test_first_lastzTestNumericOnly.test_first_last   sI     	 	 	
 
 $4 B 02JKKKKKr$   r4   cumsumc                     t          g d          }t          g d          }|dk    rt          g d          }|                     ||||           d S )Nr   )r   r   r   r   r   r   )r   r   r   r   r   )r   rf   r   r   r   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 )Nr   r   r   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   r   r   s        r"   test_cummin_cummaxz"TestNumericOnly.test_cummin_cummax   sE     !SSS
 

 $4 B 02JKKKKKr$   c                 4   |                     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 rtd                    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rd                    ddd
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)r   r   r   r   r   r   |zCategorical is not orderedzCannot perform z with non-ordered Categoricalagg function failed [how->,dtype->object]*function is not implemented for this dtyper+   )r4   r   r   r   z-category type does not support sum operationsr   r   zcategory type does not supportFr   )r.   
startswithNotImplementedError	TypeErrorjoinreescapepytestraisesrO   r/   assert_index_equalrF   )	r   rf   r   r   r   rg   	exceptionr9   r:   s	            r"   r   zTestNumericOnly._check   s#   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 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 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'/GGGN)r^   
__module____qualname__r   fixturerf   markparametrizer   r   r   r   r   r   r   rU   r$   r"   rn   rn   q   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/D /D /D /D /Dr$   rn   c                   t    e Zd Zej        d             Zej        d             Zej        d             Zd ZdS )TestGroupByNonCythonPathsc                 j    t          g ddt          j        dgdt          j        dggg d          }|S )N)r)   r*   foor)   barrK   bazABCrE   r   r   r-   r   s     r"   rf   zTestGroupByNonCythonPaths.df1  sD    ]]Q.BFE0BC#OO
 
 
 	r$   c                 0    |                     d          }|S )Nr   r.   )r   rf   rg   s      r"   rg   zTestGroupByNonCythonPaths.gb9  s    ZZ__	r$   c                 4    |                     dd          }|S )Nr   Fas_indexr   )r   rf   gnis      r"   r   zTestGroupByNonCythonPaths.gni>  s    jjuj--
r$   c                 L   t          ddgd          }t          dgg dgdgdz  t          t          d                    g	          }t	          d
dt
          j        dddddgdt
          j        t
          j        t
          j        t
          j        t
          j        t
          j        t
          j        gg||          }|                                }t          j	        ||           |
                                }|                                }t          j	        ||           d S )Nr)   rK   r   r   r   countr   stdr   25%50%75%r   r   rw   levelscodesr&   r'           r   )r   r   r   ranger   r   r-   describer/   rb   rc   )r   rf   rg   r   expected_indexexpected_colr<   r:   s           r"   test_describez'TestGroupByNonCythonPaths.test_describeC  s   1vC000!EVVVW37DqNN+
 
 
 c263S#s;bfbfbfbfbfbfbfM ! 
 
 
 
fh///''))
fh/////r$   N)	r^   r   r   r   r   rf   rg   r   r   rU   r$   r"   r   r   -  sz         ^  ^ ^  ^ ^  ^0 0 0 0 0r$   r   c                     t          ddt          j        gdt          j        dgg dgg d          } t          dt          j        gt          j        dgddggdd	g          }|                     d
                                          }t          j        ||           |                     d
d                                          }t          j        ||           d}t          j        t          |          5  |                     d
                              d          }d d d            n# 1 swxY w Y   |                     d          }t          j        ||           d}t          j        t          |          5  |                     d
          	                    d          }d d d            n# 1 swxY w Y   | 	                    d          }t          j        ||           d S )Nr)   r*   rx   )rK      rx   r   rE   r   r   r   r   Fr   z1DataFrameGroupBy.cumsum with axis=1 is deprecatedr+   rM   z2DataFrameGroupBy.cumprod with axis=1 is deprecated)
r   r   r-   r.   r   r/   rb   r0   r1   r   )rf   r<   r:   r9   s       r"   test_cython_api2r   Z  s:    
Q26NQNIII>	X	X	XB1bf+{QF;c3ZPPPHZZ__##%%F&(+++ ZZeZ,,3355F&(+++ >C		#M	=	=	= 0 0C''Q'//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0yyay  H&(+++
>C		#M	=	=	= 1 1C((a(001 1 1 1 1 1 1 1 1 1 1 1 1 1 1zzqz!!H&(+++++s$   :*D00D47D4*F99F= F=c                  t   t           j                            d                              d          } t           j        | d d d<   t          |           }t           j                            d                              ddd                              t                    }t           j        |d d d<   |	                    |          
                                }d}t          j        t          |          5  |	                    |                              t           j                  }d d d            n# 1 swxY w Y   t          j        ||           t          t           j                            d                              d	                    }d}t          j        t          |          5  |	                    |                              t           j
                  }d d d            n# 1 swxY w Y   |	                    |          
                                }t          j        ||           d S )
Nr*     r   2   size   zusing DataFrameGroupBy.medianr+   )r      )r   rZ   r[   r]   r-   r   r\   r   r   r.   r   r/   r0   r1   r2   	nanmedianrb   )arrrf   labelsr:   r9   expre   xps           r"   test_cython_medianr   u  s=   
)


"
"
2
24
8
8CvC!H	3BY""1%%..q"4.@@GGNNF6F44R4LZZ&&((F
)C		#M	=	=	= 3 3jj  $$R\223 3 3 3 3 3 3 3 3 3 3 3 3 3 3&#&&&	29((++;;IFF	G	GB
)C		#M	=	=	= / /ZZ##BI../ / / / / / / / / / / / / / /	F			"	"	$	$B"b!!!!!s$   73D66D:=D:23G11G58G5c                    t          t          j                            d                              ddd                    }t          ddd          }t          j        |d         |          }|                    ||           	                                }|                    ||           
                    d           }t          j        ||           d S )	Nr*   r   ,     7   r   )observedc                 *    |                                  S rT   )r   rP   s    r"   rR   z(test_median_empty_bins.<locals>.<lambda>       r$   )r   r   rZ   r[   r\   r   r   cutr.   r   r2   r/   rb   )r  rf   grpsbinsr:   r<   s         r"   test_median_empty_binsr    s    	29((++44QC@@	A	ABB??D6"Q%DZZxZ007799Fzz$z22667K7KLLH&(+++++r$   r   )int8int16int32r   float32r   uint64zmethod,datar   rf   r)   abr*   rK   r   r   r   r   r   r   )rf   out_typec                    t          ddddddddddddg          }|j                            |           |d<   d|vrg |d<   d|v r	|d         }n| }|d	         }t          |          }|j                            |          |d<   |                    d
d           |                    d
          } t          ||          |d          }t          j        ||           d S )Nr)   r  r*   rK   r   r  argsr  rf   r  T)rW   )r   r  r   rd   r.   rO   r/   rb   )	r   r   datarf   r  r   df_outgrpdts	            r"   %test_groupby_non_arithmetic_agg_typesr    s    
q		++11-=-=QQ?O?OP
 
B dkk%  BsGTVT
#
t*Cs^^F(//(++F3K
S$'''::c??DftF|,A!V$$$$$r$   r   z2011-01-15 12:50:28.502376z2011-01-20 12:50:28.593448)l    m;-Ll    m;-Lc                    t          d| d         dd| d         dg          }d| d         id| d         id| d         id| d         i| d         dgdddid}|                                D ]Z\  }}d|vrg |d<   |                    d	          } t          ||          |d          }|j        d         j        |d         k    sJ [d S )
Nr)   r   r  r<   )r<   r  r*   )r   r   r   r   nthr   r  r  )r   itemsr.   rO   ilocr  )r   rf   grp_expr   r  r8   ress          r"   2test_groupby_non_arithmetic_agg_int_like_precisionr    s	    
!!A$''qqt)<)<=	>	>B ad#QqT"AaD!AaD!aD1#..a G   1 1DL**S//&ggv&&V5x{}Z 0000001 1r$   zfunc, valuesidxmin)c_intc_floatc_dateidxmaxr   TFc                 $   t          g dg dg dg dd          }t          j        |d                   |d<   |d         j                            d          |d<   |d         |d         j        d	         z
  |d
<   |d         j                            d          |d<   |d                             d          |d<   |d                             d          |d<    t          |	                    d          |           |          }t          |t          ddgd                    }|r|                    dg          }n!|d         |d<   |d         |d
<   |d         |d<   |d         |d<   |d         |d<   t          j        ||           d S )N)r   r   r   r   )r)   r*   rK   r   )gGz@g=
ףp=@gRQ @g?)2019201820162017)r   r!  r"  r#  r#  z
US/Pacific	c_date_tzr   c_timedeltaWc_periodr!  r   	c_Integerr"  r   
c_Floatingr   r   r   r   r   r   rE   )r   r   to_datetimedttz_localizer  	to_periodr   rO   r.   r   rX   r/   rb   )funcvaluesr   rf   r:   r<   s         r"   $test_idxmin_idxmax_returns_int_typesr7    s    
(((!\\///666		
 	

 
B >"X,//BxLlo11,??B{O8r(|'8';;B}\_..s33BzNk((11B{O)}++I66B|.WRZZ''..LIIIFuc3Zf'E'E'EFFFH 2==(=44 ( 2"*8"4'1$W-H[%i0H\&(+++++r$   c                     t          t          j                            d                              d          g d          } g d| d<   |                     d          }d}t          j        t          |          5  |	                    d	
          }d d d            n# 1 swxY w Y   | j
        d d d	d f         	                    d	
          }|j                            d	          }t          j        ||         |                    d                     t          dd          | d<   |                     d          }d}t!          j        t$          |          5  t          j        t          |          5  |	                    d	
           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 )Nr*   rD   r   r   r   r   DrE   
r)   r*   rK   r)   r*   rK   r)   r*   rK   r   r   z1DataFrameGroupBy.idxmax with axis=1 is deprecatedr+   r)   rM   z
2016-01-01rD   rz   Ez>'>' not supported between instances of 'Timestamp' and 'float')r   r   rZ   r[   r]   r.   r/   r0   r1   r$  r  r   get_level_valuesr6   	droplevelr   r   r   r   )rf   rg   warn_msgr  altindexergb2r9   s           r"   test_idxmin_idxmax_axis1rD    sg   	
	a  0099CWCWCW
 
 
B -,,BsG	CBBH		#M	B	B	B    iiQi                              '!!!QRR%.

Q

'
'Ci((++G3w<s););<<<r222BsG
**S//C
JC	y	,	,	,  'XFFF 	 	JJAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 sH   =B  B$'B$ F7<FF7F#	#F7&F#	'F77F;>F;)TFNc                 ^   |dv rt          j        d           |dv r:d}| j                            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}t          j        t          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|                    t.                    }t!          j        ||           d S )N)r$  r   z5idxmax and idx_min tested in test_idxmin_idxmax_axis1)corrwithskewzDGH#47723 groupby.corrwith and skew do not correctly implement axis=1reasonr*   r9  r:  rE   rP   r=  r<  rN   r)   r   )r   r   difffillna
pct_changerankshift)r   r   rJ  rL  rM  rN  r   r   r   r$  rK  zDataFrameGroupBy.z with axis=1 is deprecated1got an unexpected keyword argument 'numeric_only')r   r   r+   z)got an unexpected keyword argument 'axis')rK  rN  )z"not supported between instances ofz2can't multiply sequence by non-int of type 'float'unsupported operand type(r   )rN  )r   skipnode
add_markerr   xfailr   r   rZ   r[   r]   r.   rO   r   r   r   r/   r0   r1   r   rX   Tr   r   assert_equal)r   groupby_funcr   r9   rf   groupsrg   r   r  kwargsno_argshas_axisr@  msgsr:   df_expectedr<   s                    r"   test_axis1_numeric_onlyr`  !  s   +++KLLL+++T 1 1 1 = =>>>	
	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
 ]9,A,A,A,ABBB 	( 	(+MJJJ ( (''''( ( ( ( ( ( ( ( ( ( ( ( ( ( (	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 'XFFF 	- 	-VT,V,,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 1=Fbggcg**,,"$57;55t<>7""<"  u--H
)))))s   E0	E9EE			EE		EE #E 	FF #F 
	G  G$'G$)I2	II2I	I2!I	"I22I69I6	J//J36J3c                     t          dgdz  dd          } |                     d          d                                         }|                     dd          d                             d	           }d|_        t          j        ||           t          dgd
z  dd          } | d                             t                    | d<   |                     d          d                                         }|                     dd          d                             d           }d|_        t          j        ||           d S )Nr  rD   r*   keyvaluerc  rd  F
group_keysc                 *    |                                  S rT   r   r  s    r"   rR   z&test_groupby_cumprod.<locals>.<lambda>w      AIIKK r$   d   c                 *    |                                  S rT   rh  r  s    r"   rR   z&test_groupby_cumprod.<locals>.<lambda>~  ri  r$   )	r   r.   r   r5   r   r/   r6   r   r   )rf   actualr<   s      r"   test_groupby_cumprodrm  r  s)   	C52:22	3	3BZZw'//11Fzz%Ez227;AABWBWXXHHM68,,,	C53;33	4	4BW+$$U++BwKZZw'//11Fzz%Ez227;AABWBWXXHHM68,,,,,r$   c                  v   t          dgdz  dd          } |                     d          d                                         }t          g dd          }t	          j        ||           |                     dd	
          d                             d           }d|_        t	          j        ||           d S )Nr  r   順 rb  rc  rd  )ro  l    d(	 l     I5 l      Fx:^ r   Fre  c                 *    |                                  S rT   rh  r  s    r"   rR   z/test_groupby_cumprod_overflow.<locals>.<lambda>  s    !))++ r$   )r   r.   r   r	   r/   r6   r5   r   )rf   rl  r<   numpy_results       r"   test_groupby_cumprod_overflowrr    s    	C519w77	8	8BZZw'//11FMMM  H 68,,,::e:66w?EE L  L6<00000r$   c                     t          ddt          j        dgg dd          } |                     d                              dd          }t          dt          j        t          j        gg d	d
          }t          j        ||           d S )Nr)   r*   )r)   r*   r(   r  r  cr  TF)r   skipna)r)   r*   rt   r  ru  )r   r   r-   r.   r   r/   rb   rf   r:   r<   s      r"   1test_groupby_cumprod_nan_influences_other_columnsry    s    	RVQ	
 	

 
B ZZ__$$$u$EEF26262EEFFH&(+++++r$   c                  "    ddl m}  || ddi|S )Nr   )semddofr)   )scipy.statsr{  )r  r[  r{  s      r"   	scipy_semr~    s.    3'1''''r$   z	op,targopr   r   r   varr4   r   c                     | j         d         S )Nr   r  r  s    r"   rR   rR     s    AF1I r$   c                     | j         d         S )Nr  r  s    r"   rR   rR     s    16": r$   r{  )marksc                 n   t          t          j                            d                              d                    }t          j                            d                              ddd                              t                    } t          |	                    |          |                       }| dv rd nt          }d|  }t          j        ||          5  |	                    |                              |          }d d d            n# 1 swxY w Y   t          j        ||           d S )	Nr*   r   r   r   r   )r   r   r   r{  zusing DataFrameGroupBy.r+   )r   r   rZ   r[   r]   r\   r   r   rO   r.   r1   r/   r0   r2   rb   )optargoprf   r   r:   rh   r9   r<   s           r"   test_ops_generalr    sN   $ 
29((++;;DAA	B	BBY""1%%..q"4.@@GGNNF,WRZZ'',,..F:::44D
(B
(
(C		#D	4	4	4 2 2::f%%))&112 2 2 2 2 2 2 2 2 2 2 2 2 2 2&(+++++s    )DDDc                     d} t          j        t          d          5  t          j        t          |           dg          }d d d            n# 1 swxY w Y   |                    d          }|dg                                         }|d                                                                         }t          j	        ||           |d         
                                                                rJ d S )Nz,Date,app,File
-04-23,2013-04-23 00:00:00,,log080001.log
-05-06,2013-05-06 00:00:00,,log.log
-05-07,2013-05-07 00:00:00,OE,xlsxzCould not infer formatr+   r   )parse_datesDateFile)r/   r0   UserWarningr   read_csvr   r.   r   to_framerb   isnaany)rawrf   rg   res        r"   test_max_nan_bugr    s   &C
 
	#K7O	P	P	P 9 9[#QC8889 9 9 9 9 9 9 9 9 9 9 9 9 9 9	F		B
F8A
6
!!##A!Qy~~##%%%%%%%s   %AAAc                  V   t          g d          } t          t          d                    }|                     |          }|                    d          }t          g dt	          j        t          d          g dg                    }t          j        ||           t          g d          } |                     |          }t          g d	t	          j        t          d          g d
g                    }t          j        |                    dd          |           d S )N
r)   rK   r   rC   r*   rx   r   r      rD   
aaaaabbbbbrK   )rC   r   rK   rD   rx   r  aaabbb)rK   r*   r)   rx   r   rw   r0  
r)   r)   rK   r*   r   rK   rK   r*   r)   r   )rK   r*   r)   rK   rK   r*   )r*   rK   r)   r  r   rC   r   keep)r	   r   r.   nlargestr   from_arraysr/   r6   r  r  rg   r  r  s        r"   test_nlargestr    s'   ...//At%&&''A	
1B
AA$d8nn6H6H6H%IJJ	 	 	A 1a   ---..A	
1B$d8nn6H6H6H%IJJ	 	 	A 2;;qv;66:::::r$   c                     t           j                            d          } t          dd          }|ddgg}t	          j        |ddg	          }t          |                     d
          |          }|                    d          	                    d          }t	          j
        |d         |d         df|d         |d         df|d         |d         df|d         |d         df|d         |d         df|d         |d         df|d         |d         df|d         |d         df|d         |d         df|d         |d         dfg
g d	          }g d}t          ||          }t          j        ||dd           d S )Nr*   20180101rD   rz   onetwor   second)names   r0  r)   r   rK   r   r   r  rC   rw   rx   )r   r   r  )
g. 2?gooڿg?g?gSL	[?g;H?gjsտg1Au?gf+Qs?g;?FgMbP?)check_exactrtol)r   rZ   r[   r   r   from_productr	   r]   r.   r  from_tuplesr/   r6   )	nprdts	iterablesidxr7   r:   exp_idx
exp_valuesr<   s	            r"   test_nlargest_mi_grouperr    s   
)


"
"C
Z
,
,
,Cuen%I

!)GX3F
G
G
GCs""2&&c222AYYw((++F$VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#VSVU#	
 +**  G   J j000H68TJJJJJJr$   c                  V   t          g d          } t          t          d                    }|                     |          }|                    d          }t          g dt	          j        t          d          g dg                    }t          j        ||           t          g d          } |                     |          }t          g d	t	          j        t          d          g d
g                    }t          j        |                    dd          |           d S )Nr  r  rK   )r)   r*   rK   r   r   r  r  )r   r   r)   r  rC   rw   r0  r  )r   r)   r)   r   r)   r*   )r   r)   r   rx   rw   rC   r   r  )r	   r   r.   	nsmallestr   r  r/   r6   r  s        r"   test_nsmallestr    s'   ...//At%&&''A	
1B
QA$d8nn6H6H6H%IJJ	 	 	A 1a   ---..A	
1B$d8nn6H6H6H%IJJ	 	 	A 2<<<77;;;;;r$   zdata, groupsr   r)   r*   rK   r   r   r)   r)   r   r  r  c                    |t          j        | |          } |dk    rt          t          |                     } t	          | d          } t          |                    |          |          d          }t          |t                    rt          j        |t                    n|}t	          | t          j
        ||j        g          d          }t          j        ||           d S )Nr   r  r  r   r*   )nr   r   )r   arrayr   reversedr	   rO   r.   
isinstancer   r   r  r   r/   r6   )r  rZ  r   r   serr:   expidxr<   s           r"   test_nlargest_and_smallest_noopr  )  s     xE***HTNN##
C
 
 
 C1WS[[((&11A666F,6vt,D,DPRXfC((((&Fd*"8&#)9L"M"MTWXXXH68,,,,,r$   r5  r   r   c                    t          g dg dd          }|                    d          }d}t          j        t          |          5   t          ||           ddd	           d d d            n# 1 swxY w Y   t          j        t          |          5   t          ||           d
           d d d            d S # 1 swxY w Y   d S )Nr)   r*   r)   rq   r   r   r   z+numpy operations are not valid with groupbyr+   r)   r*   rK   )r   )r   r.   r   r   r   rO   )r5  rf   gr9   s       r"   test_numpy_compatr  >  sU    
33	4	4B


3A
7C	.c	:	:	: " "4Aq!!!" " " " " " " " " " " " " " "	.c	:	:	:    4Q                                   s$   	A11A58A5B??CCc                    | d         }| d         }t          g dg dd          }g d}|                    |          }t          d|i                              |          }|                    d                                          }t	          j        ||           |                    dd	
          j                            d                                           }t	          j        ||           ||j	        ddgdf<   |dz   |j	        ddgdf<   ||j	        g ddf<   |dz   |j	        ddgdf<   |                    d                                          }t	          j        ||d           |                    dd	
          j                            d                                           }t	          j        ||d           |                    ddi          }t          j        |j	        g ddf<   t          dt          j        dt          j        dt          j        dt          j        dgi          }|                    d                                          }t	          j        ||           |                    dd	
          j                            d                                           }t	          j        ||           t          dgt          j        dg          d          }t          t          j        d          dgd          }|                    d          d                                         }t	          j        ||           t          g dg dd          }|                    d          j                                        }t          g dd          }t	          j        ||           d S ) Nr   r)   r)   r)   r)   r)   r*   r*   r*   r*   rK   r   rK   r*   r*   rK   r*   r)   r  )rK   rK   rK   r*   r*   r*   r*   r)   r   r   Fre  c                 *    |                                  S rT   r   r  s    r"   rR   ztest_cummin.<locals>.<lambda>Y  r  r$   r*   r  r   r*   rK   r  rC   T)r  c                 *    |                                  S rT   r  r  s    r"   rR   ztest_cummin.<locals>.<lambda>d      AHHJJ r$   r   r   r*   r   r  r   rK   c                 *    |                                  S rT   r  r  s    r"   rR   ztest_cummin.<locals>.<lambda>p  r  r$   2001r  r  r  r  r  )r)   r*   r*   r   )r   r   r.   r   r/   rb   r   r5   r  locr   r-   r   r1  r	   r6   r  )r#   r   r    base_dfexpected_minsrf   r<   r:   s           r"   test_cumminr  L  s   a E"G 666=U=U=UVVWWG,,,M			B#}-..55e<<HZZ__##%%F&(+++ZZZ..0667K7KLLUUWWF&(+++ "BFAq63;!A+BFAq63;&-HLs"# '!HL!QZZ__##%%F&(====


35
))+112F2FGGPPRR  &(==== nnc7^,,G%'VGKc!"#261bfaKLMMH__S!!((**F&(+++..0667K7KLLUUWW  &(+++ 
!2>6(#;#;<<	=	=BbnV,,QCcBBBHZZ__S!((**F8V,,, 
33	4	4BZZ__%%''Fiiic***H68,,,,,r$   r   r   )UInt64r   r   r   booleanc                    t          g dt          j        gdz  d          }|d                             |          |d<   |                    d          }t          dt          j        gdz  i|          } t          ||                       }t          j        ||            t          |d         |                                                       }t          j        ||           d S )Nr  rw   r  r   r   r  )	r   r   r-   r   r.   rO   r/   rb   r  )r   r   r  r8   r<   r:   s         r"   test_cummin_max_all_nan_columnr    s     666bfX\JJKKG3<&&u--GCLooc""G#x!|,E:::H%WWf%%''F(F+++*WWS\6**,,5577F(F+++++r$   c                 D   | d         }| d         }t          g dg dd          }g d}|                    |          }t          d|i                              |          }|                    d                                          }t	          j        ||           |                    dd	
          j                            d                                           }t	          j        ||           ||j	        ddgdf<   ||j	        g ddf<   |                    d                                          }t	          j        ||           |                    dd	
          j                            d                                           }t	          j        ||           |                    ddi          }t          j        |j	        g ddf<   t          dt          j        dt          j        dt          j        dt          j        dgi          }|                    d                                          }t	          j        ||           |                    dd	
          j                            d                                           }t	          j        ||           t          dgt          j        dg          d          }t          t          j        d          dgd          }|                    d          d                                         }t	          j        ||           t          g dg dd          }|                    d          j                                        }t          g dd          }t	          j        ||           d S )Nr   r*   r  r  r  )rK   r   r   r   r*   rK   rK   rK   r   r   Fre  c                 *    |                                  S rT   r   r  s    r"   rR   ztest_cummax.<locals>.<lambda>  r  r$   r  r  c                 *    |                                  S rT   r  r  s    r"   rR   ztest_cummax.<locals>.<lambda>  r  r$   r   r  r   rK   c                 *    |                                  S rT   r  r  s    r"   rR   ztest_cummax.<locals>.<lambda>  r  r$   r)   r  r  r  r  r  r  )r*   r)   r)   )r*   r)   r*   r   )r   r   r.   r   r/   rb   r   r5   r  r  r   r-   r   r1  r	   r6   r  )r#   r   r!   r  expected_maxsrf   r<   r:   s           r"   test_cummaxr    sP   a E"G 666=U=U=UVVWWG,,,M			B#}-..55e<<HZZ__##%%F&(+++ZZZ..0667K7KLLUUWWF&(+++ "BFAq63;&-HLs"#ZZ__##%%F&(+++


35
))+112F2FGGPPRR  &(+++ nnc7^,,G%'VGKc!"#261bfaKLMMH__S!!((**F&(+++..0667K7KLLUUWW  &(+++ 
!2>6(#;#;<<	=	=BbnV,,QCcBBBHZZ__S!((**F8V,,, 
33	4	4BZZ__%%''Fiiic***H68,,,,,r$   c                  .   t          d t          d          D                       } t          d| |                     d          d          }|                    d          }|                                }|ddg         }t          j        ||           d S )	Nc                 6    g | ]}t           j        j        |z   S rU   )r   NaT_value).0r  s     r"   
<listcomp>z:test_cummax_i8_at_implementation_bound.<locals>.<listcomp>  s!    666"&-!#666r$   r   r)   zM8[ns]r   r   r   r   )r	   r   r   viewr.   r   r/   rb   )r  rf   rg   r  r   s        r"   &test_cummax_i8_at_implementation_boundr    s     66U1XX666
7
7C	388H+=+=>>	?	?B	CB
))++C
c3Z.C#s#####r$   )r   r   r   zgroups,expected_datar)   r)   r)   )r)   NNrq   r)   Nr*   )r)   rK   rK   c                 T   t          dt          g d|          i          }|                                }|                    |          d         } t	          ||           d          }t          ||d          }t          j        ||           t          j        ||           d S )Nr  r  r  Frv  r   r   )r   r	   copyr.   rO   r/   rb   r6   )	r   r   rZ  expected_datarf   origrg   r:   r<   s	            r"   test_cummin_max_skipnar    s     
CE:::;	<	<B7799D	F		C	 B WR  ...Fm5s;;;H "d###68,,,,,r$   c                 N   t          t          j        ddgg dd          }|                    g d          ddg         } t	          ||           d          }t          t          j        t          j        t          j        gg dd          }t          j        ||           d S )	Nr'   )r'   r'   r'   r  r  r  r  Fr  )r   r   r-   r.   rO   r/   rb   )r   rf   rg   r:   r<   s        r"   $test_cummin_max_skipna_multiple_colsr    s     
"&#s+///BB	C	CB	III		Sz	*B WR  ...F7oooNNOOH&(+++++r$   z	dtype,valr  r  )r   l         c                     |t           j        g}t          ddg|d|          }|                    d          }|                    |           }t          d|i|          }t          j        ||           d S )Nr)   )grpr  r  r  r  )r   NAr   r.   	transformr/   rb   )r   r   valr  rf   r8   r:   r<   s           r"   #test_nullable_int_not_cast_as_floatr    s     <D	Aq6--U	;	;	;BjjGv&&F#tE222H&(+++++r$   zin_vals, out_vals)r)   r*   r   rK   r*   r   r   r   ir)   r)   )TFFTg @r      )TFTF)FFFFc                    g dg d| d}t          |          }|                    d          j        j        }t	          t          d          d          }t          ||d          }t          j        ||           |                    dg          j        	                    d	           }t          j        ||           d S )
N1234567891011r  r  r  r  r  r  ru  ru  ru  dr
  r   r   abcdr   r   r   r  r   c                     | j         S rT   )is_monotonic_increasingr  s    r"   rR   z.test_is_monotonic_increasing.<locals>.<lambda>&  s	    13L r$   )
r   r.   r   r  r   r   r	   r/   r6   r5   in_valsout_valssource_dictrf   r:   r   r<   s          r"   test_is_monotonic_increasingr    s    * GFFDDD K
 
;		BZZ__6F$v,,S)))EEs;;;H68,,, zz3%  "(()L)LMMH68,,,,,r$   )rD   rx   rC   rK   r   r   r*   r   r)   r)   r  )TTFTc                     g dg d| d}t          |          }|                    d          j        j        }t	          t          d          d          }t          ||d          }t          j        ||           d S )	Nr  r	  r   r   r  r   r   r  )	r   r.   r   is_monotonic_decreasingr   r   r	   r/   r6   r  s          r"   test_is_monotonic_decreasingr  *  s    * GFFDDD K 
;		BZZ__6F$v,,S)))EEs;;;H68,,,,,r$   c                 Z    |                      d          }|                                 d S )Nr   level)r.   r   )mframer8   s     r"   test_apply_describe_bugr  O  s-    nn7n++Gr$   c                     t          j                    } |                     d d g          }|                                }t          j        |d         |                                d           t          j        |d         |                                d           t          j        |d         |                                d           d S )Nc                     | j         S rT   yearr  s    r"   rR   z/test_series_describe_multikey.<locals>.<lambda>V  s    AF r$   c                     | j         S rT   monthr  s    r"   rR   z/test_series_describe_multikey.<locals>.<lambda>V  s    ag r$   r   F)check_namesr   r   )r/   makeTimeSeriesr.   r   r6   r   r   r   )tsr8   r:   s      r"   test_series_describe_multikeyr'  T  s    				Bjj**,=,=>??GF6&>7<<>>uMMMM6%='++--UKKKK6%='++--UKKKKKKr$   c                      t          j                    } |                     d           }|                    d           }|                                                    d          }t          j        ||           d S )Nc                     | j         S rT   r"  r  s    r"   rR   z-test_series_describe_single.<locals>.<lambda>_  s    17 r$   c                 *    |                                  S rT   )r   r  s    r"   rR   z-test_series_describe_single.<locals>.<lambda>`  s    QZZ\\ r$   T)future_stack)r/   r%  r.   r5   r   stackr6   )r&  r8   r:   r<   s       r"   test_series_describe_singler-  ]  su    				Bjj**++G]]1122F!!''T'::H68,,,,,r$   key1key2c                    t          g dg dg dd          }|                    ||           d         }|                                }t          g dg dg dt          j        t          j        d	gg d
g dg dg dg dd	          }t          |          dk    r|                    dd|d                    | r|                    |          }t          j	        ||           d S )N)r  r  r  threer  )r)   r*   r   r   r  )r.  r/  foo2r   r2  )r  r1  r  )r&   r&   r(   )r&   rr   rr   r'   )r&   rr   r'   )r&   rr   r(   )r&   rr   rs   )r&   rr   rt   )	r.  r   r   r   r   r   r   r   r   r*   r)   r/  r.  )
r   r.   r   r   r-   r_   insertrd   r/   rb   )r   r?   rf   rg   r:   r<   s         r"   test_series_describe_as_indexr4  e  s     
999999#OO	
 	

 
B 
D8	,	,V	4B[[]]F+++$__#OOFBFC("??"??"??"??"??
	
 
	
 H 4yyA~~68F#3444 ,%%d++&(+++++r$   c                     | j         d d dgf                             | d                   }|                    d           }|j        j        dk    sJ d S )Nr   r   c                 *    |                                  S rT   )r   r  s    r"   rR   z(test_series_index_name.<locals>.<lambda>  s    16688 r$   )r  r.   r2   r   r   )rf   r8   r:   s      r"   test_series_index_namer7    s[    fQQQX&&r#w//G[[++,,F<######r$   c           
         |                      d d g          }|                                }g }| D ]}||                                         }t          |g|j        gdgt	          |j                  z  t          t	          |j                            g          }t          |j        ||j                  }|	                    |           t          j        |d          }t          j        ||           d}t          j        t          |	          5  |                      ddddd
d          }	d d d            n# 1 swxY w Y   |	                                }|                                 j        }t          ddg|j        gg dt          t	          |j                            g          |_        t          j        ||           d S )Nc                     | j         S rT   r  r  s    r"   rR   z.test_frame_describe_multikey.<locals>.<lambda>  s     r$   c                     | j         S rT   r"  r  s    r"   rR   z.test_frame_describe_multikey.<locals>.<lambda>  s    17 r$   r   r   )rF   r   r)   rM   +DataFrame.groupby with axis=1 is deprecatedr+   r:  r  )r.   r   r   rF   r_   r   r   r6  r   appendr   concatr/   rb   r0   r1   rW  )
tsframer8   r:   desc_groupscolr   	group_colr<   r9   groupedTs
             r"   test_frame_describe_multikeyrC    s!   oo//1B1BCDDGFK " "%%''E5=)3U]+++U3u}3E3E-F-FG
 
 
	 %,	MMM5!!!!y1---H&(+++
7C		#M	=	=	= M M??#C#C!?LLM M M M M M M M M M M M M M M  F!!#HA'||U3x~#6#6778  HN &(+++++s   EEEc                     t          g ddz  g ddz  g ddz  d          } g ddz  | d<   |                     dd	i
          }d}t          j        t          |          5  |                     d                                           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d	                                           d d d            d S # 1 swxY w Y   d S )N)r)   r*   rK   r   r   rK   )rD   r     (   r   )rj     i,  i  r   )rP   yz)r   r   r)   )r   r)   r   r)   r   r   r   krc  rE   z*Names should be list-like for a MultiIndexr+   )r   renamer   r   
ValueErrorr.   r   )df1df2r9   s      r"   test_frame_describe_tupleindexrQ    s   
 1$%%%)***Q.	
 	
 C 10014CH
**c5\*
*
*C
6C	z	-	-	- $ $C!!###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $	z	-	-	- & &E##%%%& & & & & & & & & & & & & & & & & &s$   "(BBB<(C11C58C5c                     t          dd           dt          dd           dt          dd           di} t          dd           dt          dd           dt          dd           d	i}t          | |d
          }|                    d          j                                        }||j        dk             j                                        j                                        ||j        dk             j                                        j                                        g}t          |t          ddgd          g d          }t          j
        ||           d S )Nz2011-01-06 10:59:05r   ia  z2011-01-06 12:43:33ic  z2011-01-06 12:54:09i /hYl    rT i )PRICEVOLUMErS  r   r   r   )r
   r   r.   rT  r   rS  r6  tolistr   r/   rb   )pricesvolumesrf   r:   r  r<   s         r"   $test_frame_describe_unstacked_formatrX    so    	'D1115'D1115'D1115F 	'D111:'D111:'D1119G
 
Vw77	8	8BZZ  '0022F
28u$--//6==??
28u$--//6==??D UEN111KKK  H
 &(+++++r$   zZignore:indexing past lexsort depth may impact performance:pandas.errors.PerformanceWarningr   a1a2c                 H   t          g dg dg dg ddg dd          }|dgk    r|                    d	
          }t          j        g d                              ddg          j        }d d g|j        _        t          |          dk    r&t          ddgddggddgddggdd	g          |_	        nt          ddgd          |_	        | s|                                }|                    ||                                           }t          j        ||           d S )N)c   r\  r\  X   r]  r]  )r)   r*   rK   r   r   r  )rD   r  rE  rF  r   <   )rY  rZ  r  ru  )rY  rZ  r  r  F)rF   r  rY  rZ  rE   )r  r   r(   r(   r  r   rs   r'   r  r   r&   r&   r  r   rr   r&   r  r   r   r   r  r   rs   r'   r  r   g      @g      @r  r   rt   r(   r_  r`  ra  rb  rc  rd  re  rf  r   r)   r*   r]  r\  )r   r   r  r   r   )r   rX   from_recordsrd   rW  rF   r  r_   r   r   r   rc   r.   r   r/   rb   )r   r?   rf   r<   r:   s        r"   0test_describe_with_duplicate_output_column_namesrh    sz    
******###)))		
 	
 '&&	
 	
 	
B v~~WWTW"" 	  	
 	
( 
Aq6			
- 0 #D\H
4yyA~~#Hr2h'AA/?d|
 
 
 Bxd333 *''))ZZxZ0099;;F&(+++++r$   c            
         t          g dg          } g d| _        |                     | d                   }|                    g           }g dfddD             }t	          j        |d          }t          d	d
ggdd	gz  ddgz  z   dd	gz  z   dt          t          d                    z  g          |_        dg|j	        _
        t          j        ||           d S )Nr  )r   r)   r*   r   r)   )percentiles)r   r   r   r   r   r   c           
      X    g | ]&}t          d |t          j        |||ggdg          'S )r&   r)   r   r   )r  r  rF   s     r"   r  z3test_describe_duplicate_columns.<locals>.<listcomp>  sL        	Cbfc345aS'RRR  r$   )r   r'   r(   rM   r   r*   r  rK   r   )r   rF   r.   r   r   r=  r   r   r   r   r  r/   rb   )rf   rg   r:   framesr<   rF   s        @r"   test_describe_duplicate_columnsrm    s   	LLL>	"	"BBJ	BqE		B[[R[((F;;;G   "  F ya(((H!A A3waS 1s7*AU1XX,>?  H 3HN&(+++++r$   c                      t          g dg dd          } |                     d          d                                         d         dk    sJ d S )N)r   r   r   r   r   )ij  i  io  i`  l    @~ )userconnectionsro  rp  r   l    ,fL )r   r.   r   )rf   s    r"   test_groupby_mean_no_overflowrq  '  si    	---III	
 	

 
B ::fm,1133C8<OOOOOOOr$   r6  )	r)   r)   r)   r*   r*   r*   rK   rK   rK   )r)   r)   r*   r*   rK   rK   )r)   r*   r)   r*   r)   r*   function)r   r   r  c                 P   |dk    rdnd}t          j        |gdz  t                    }t          g ddd	          }t	          d
|i|                              d          }t	          | d                              d          } t          ||                      }t          j	        ||           |
                    |          }t          j	        ||           |
                    |g          }t          j        d
|fg          |_        t          j	        ||           d S )Nr  g      ?r   rK   r  rq   r  r   r   r   r  r0  r   )r   r  r   r   r   r   r.   rO   r/   rb   r2   r   r  rF   )r6  rr  outputr   r  r<   rZ  r:   s           r"   ,test_apply_to_nullable_integer_returns_floatrv  2  s!    %%SS3F
(F8a<u
-
-
-C
			7
3
3
3C#s3///66yAAHvW---55c::F&WVX&&((F&(+++ZZ!!F&(+++ZZ
##F!-X.?@@H&(+++++r$   	min_countrD   c           	      >   d}d}t           j        }t          j        |||||||gd          }t	          g d|d          }|                    d                              |           }| d	k    rQt	          d
t          j        g dd          it          g dd                    }t          j	        ||           d S t	          d
t          j        t          j
        gdz  d          it          g dd                    }t          j	        ||           d S )NTFr  r  )r)   r)   r*   r*   rK   rK   r)   r  r   rw  r   r   )rK   r   r   r   rq   r   r0  rK   )r   r-   r   r  r   r.   r4   r   r/   rb   r  )rw  r  r  nadfgrf   r:   r<   s           r"   !test_groupby_sum_mincount_booleanr|  Q  s;   AA	B
(Aq"b!Q*)
<
<
<C	...S99	:	:BZZ__  9 55FA~~"(999G4445			,,,
 
 
 	fh/////"(BE7Q;g6667			,,,
 
 
 	fh/////r$   c                     t          g dg dg ddd          } |                     d          }t          g ddd          }|d                             d	          }t	          t
          j        gd
z  d|d          }t          j        ||           |                    d	          }t          t
          j        gd
z  t
          j        gd
z  dd|          }t          j	        ||           d S )N)r   r)   r*   rt  r   r  r  rt  r  r*   ry  rK   )r   r   r   rw  )r   r   )
r   r.   r   r4   r	   r   r  r/   r6   rb   )rf   r8   r  r:   r<   s        r"   0test_groupby_sum_below_mincount_nullable_integerr~  h  s    	CC7	S	S	SBjjooG
			7
3
3
3CS\**Frugk#FFFH68,,,[[1[%%Fw{"%1==WTWXXXH&(+++++r$   c                  d   t          t          j        t          d                    ddgdz  d          } |                     d          d                                         }t          t          j        ddg          dt          ddgd	          
          }t          j	        ||           d S )NrD   r   r   r   )timecatr  r  r   r   )r   r   )
r   r   to_timedeltar   r.   r   r	   r   r/   r6   rx  s      r"   test_mean_on_timedeltar  w  s    	BOE"II66SzA~NN	O	OBZZv&++--F
AfE3*54Q4Q4Q  H 68,,,,,r$   c                     t          g dt          j        d          t          j        d          t          j        d          t          j        gd          } t          j        d          }|                     d          }|                                }t          d	||git          d
dgd                    }t          j        ||           |d	                                         }t          j	        ||d	                    |d	                             d          }t          |t          j        gdd	|j                  }t          j	        ||           d S )N)r)   r)   r*   r*   1d2d3dr  rK   )daysr  r  r)   r*   r   r0  ry  zm8[ns])r   r   r   )r   r   r   r  r.   r4   r   r/   rb   r6   r	   r   )rf   td3rg   r  r<   s        r"   #test_groupby_sum_timedelta_with_natr    s3   	,t$$bl4&8&8",t:L:LbfU	
 	

 
B ,A


C	CB
&&((C#Sz*%AS2I2I2IJJJH#x(((
S'++--C3...
S'+++
"
"CsBFm8#X^TTTH3)))))r$   zkernel, has_arg))allF)r  F)bfillF)corrT)rF  T)covT)r   T)r   T)r   T)r   T)rJ  F)ffillF)rK  F)r   T)r$  T)r   T)r   T)r   T)r   T)r   T)r   T)r  F)nuniqueF)rL  F)r   T)quantileT)r{  T)rG  T)r   T)r4   T)r  Tc                    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 r#|t          j        u r ||i |}	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  )rY  rZ  a3r  r   Tr  r   )r  r  r  r  rK  r  r  r   r   znot allowed for this dtype+cannot be performed against 'object' dtypeszmust be a string or a.* numberrP  r   r   r   r   z8'<' not supported between instances of 'type' and 'type'r$  z8'>' not supported between instances of 'type' and 'type'r+   rO  )rJ  rL  )r   objectr   r   
no_defaultr.   rO   rF   r   r   r   r   r   r   r   r   )kernelhas_argr   r?   rf   r  r[  rg   r   r:   r   r9   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 2$<4''(((&.(((((( 	### RRR.. (((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###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s6   6	EEE	FF!F	G..G25G2c                    g d}t          g d|           }|                    |          }|dk    rt          ||          rJ d S t          ||          }t          g d          }|                    |          }t          ||          }	t	          ||          }
d}d}||v rM| t
          u rD|dk    rd}nd	}t          j        t          |
          5   ||
  d d d            n# 1 swxY w Y   nF| t
          u r= ||
 } |	|
 }||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 )NrJ  rK  r  rF  )r  r  r   r   r   r   r  )r   r   r  r  r  rN  r4   rJ  rL  r  r   r   r   r   r   rG  r  r  z!is not supported for object dtyper+   )r   r   r   r   r   r   r   r  r{  rG  r   r4   r  r   r   r   r   rO  r   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	   r.   hasattrrO   r   r  r   r   r   r   r/   r6   r   boolr0   r1   )r   rY  r   grouperr  rg   r   expected_serexpected_gbexpected_methodr  fails_on_numeric_object
obj_resultr9   r:   r<   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]9C000 	 	FDMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 		&"?D):%%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0sH   C&&C*-C*	E11E58E59	GGG
H''H+.H+r[  )g?g?g333333?r  )rj  includeexcluder   c                    t          g dgg d|           }|d                             t                    |d<   |d                             t                    |d<    |j        d d                             d          j        d
i |} |                    d          j        d
i |                    d	          j        d d         }t          j	        ||            |j        d d                             d          j
        j        d
i |} |                    d          j
        j        d
i |                    d	          j        d d         }t          g           |_        t          j	        ||           d S )Nrq   r   )rF   r   r   r   r   r   T)rX   rU   )r   r   r   r   r  r.   r   rc   r/   rb   r   r   r   )r   r[  rf   r:   r<   s        r"   test_groupby_empty_datasetr  p  st    
III;u	E	E	EBgnnS!!BsGgnnU##BsG.RWRaR[  %%.8888F'rzz#'11&11==4=HHMbqbQH&(+++0RWRaR[  %%'0::6::F)rzz# )33F33??T?JJOPRQRPRSH2YYHN&(+++++r$   c           	      @   t          j        d           d}t          dgddd|          j        d d         } t	          |                    d          |                       }t          ddg|t          g |d	          
          }t          j        ||           d S )Npyarrowzstring[pyarrow_numpy]r  rt  r  r   r  ru  r  )rF   r   r   )	r   importorskipr   r  rO   r.   r   r/   rb   )r5  r   rf   r:   r<   s        r"   test_min_empty_string_dtyper    s     	"""#E	#Ss335	A	A	A	Frr	JB+WRZZ__d++--Fc
%uRu3/O/O/O  H &(+++++r$   c                     t          g dg dd          } |                     d          }d}t          j        t          |          5  |                    | d          }d d d            n# 1 swxY w Y   t          g d	d
          }t          t          j	        gdz  |          }t          j
        ||           d S )Nrp   )rK   rC   r   r  r  z3DataFrameGroupBy.corrwith with axis=1 is deprecatedr+   r)   rM   ))r)   r   )r)   r)   )r)   r*   )r*   r*   )r*   r   )r*   r)   )r  N)r  r   r  r0  )r   r.   r/   r0   r1   rF  r   r	   r   r-   r6   )rf   rg   r9   r:   r   r<   s         r"   test_corrwith_with_1_axisr    s   	33	4	4B	CB
?C		#M	=	=	= ) )Ra(() ) ) ) ) ) ) ) ) ) ) ) ) ) )===  E rvhl%000H68,,,,,s   	A--A14A1c                    t          g g g d                              g d          }|                    g dd          }t          ||           }t	          | |          } || j        }|j        }t          j        ||           d S )Nrt  Fre  )r   rd   r.   rO   r   r   r/   r   )rY  rf   rg   r   r  r:   r<   s          r"   ,test_multiindex_group_all_columns_when_emptyr    s    	"2..	/	/	9	9///	J	JB	OOO	6	6BR&&F"<44DVT] FxH&(+++++r$   c                 P   |dk    r:d}| j                             t          j                            |                     t          g dg dg dgt          d                    }t          ||          }|                    d	|
          } t          ||          | }|
                    g dd          }t          ||          }	|                    d	|
          }
 t          |
|          |	 }|dvr|                    ddi          }t          j        ||           d S )NrF  z:GH#50845 - corrwith fails when there are duplicate columnsrH  )r)   rK   r  )r)   r   rC   )r*   r   rw   abbrE   r  r   rt  r)   rM   )r   ngroupcumcountru  r  )rT  rU  r   r   rV  r   r   r   r.   rO   set_axisrM  r/   rX  )r   rY  r   r9   rf   r  rg   r:   expected_dfexpected_argsr  r<   s               r"   test_duplicate_columnsr    s1   z!!J 1 1 1 = =>>>	IIIyyy)))4d5kk	J	J	JB"<44D	C(	+	+B&WR&&-F++oooA+66K+L+FFM%%cH%==K1w{L11=AH999??C:?66OFH%%%%%r$   r  )
r4   r   r   r   r   r   rG  r   r  r{  rN   rv  sortc                     t          dg          }dk    r|}d}n	|j        }d}t          j        t          |          5  |                    d|          }d d d            n# 1 swxY w Y    dk    rw t          |                     }|                    d                               fd	          }	|r|	                    
          }	t          j	        ||	           d S  t          |                       }|                    d                               fd          }	|r|	                    
          }	t          j	        ||	           d S )Nr   zAThe 'axis' keyword in DataFrame.groupby is deprecated and will ber;  r+   )r  rN   r  rG  r  r  c                 :     t          |                     S )N)rN   rv  rO   )hrN   r  rv  s    r"   rR   z3test_regression_allowlist_methods.<locals>.<lambda>  s    ngann$v>>> r$   rM   c                 8     t          |                     S )NrM   r  )r  rN   r  s    r"   rR   z3test_regression_allowlist_methods.<locals>.<lambda>  s    .'!R..d:S:S:S r$   )
r   rW  r/   r0   r1   r.   rO   r5   
sort_indexrb   )
r  rN   rv  r  	raw_frameframer9   r8   r:   r<   s
   ```       r"   !test_regression_allowlist_methodsr    s   , 1#IqyyQ;		#M	=	=	= ? ?--ad->>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
V||%"%%V444==q=))//>>>>>>
 
  	6***55H
fh/////%"%%''==q=))//0S0S0S0S0STT 	6***55H
fh/////s   A((A,/A,)rr3   ior   r   numpyr   r   pandas._libsr   pandas.errorsr   pandasr   r   r   r   r	   r
   r   pandas._testing_testingr/   pandas.tests.groupbyr   pandas.utilr   tdr   r  r   r  r   r#   r=   r   r   r   r   r4   rl   rn   r   r   r   r  r  r  r7  rD  r`  rm  rr  ry  r~  r   r   r   r  r   r   r   skip_if_no_scipyr  r  r  r  r  ALL_INT_NUMPY_DTYPESr  r  r  r  r  r  r  r  skip_if_32bitr   r  infr-   r  r  r  r'  r-  r4  r7  rC  rQ  rX  filterwarningsrh  rm  rq  r  rv  r|  r~  r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  rU   r$   r"   <module>r     s          				            1 1 1 1 1 1                          8 8 8 8 8 8 . . . . . . Hbh
BJKPPP  % %	 %6. . ." sCo..%%!899#W #W :9 /.#WLyD yD yD yD yD yD yD yDx*0 *0 *0 *0 *0 *0 *0 *0Z, , ,6" " ",, , , PPP  	4**!!,<,<=>?	$qq))+;+;<=>	aa((*:*:;<=	aa((*:*:;<=	**!!,<,<=7SST	 	% %	 	 %6  I233I233	
 	/	 	1 1	 	1. 	aVA1a&IIJ	aVA1a&IIJ  $77, , 87 ,@  4 )<)<)<==M* M* >=M*`- - -"1 1 1", , ,( ( ( 		29							%%&	%%&	"'UIR-@AAA "	, 	,# "	,& & &; ; ;(*K *K *KZ< < <( llLLL!QC!:.  4"B"*A"BCCJ#<==- - >= DC	 - )X!677
  
  87
 3- 3- 3-l Hh#788"T"T"TUU
, 
, VU 98
,1- 1- 1-h	$ 	$ 	$ Hh#788"?"?"?@@	OOO$	LLL!	OOO$ - -  A@ 98- Hh#788, , 98, Hh#7888XRXh//346JK , ,  98 
,  
,	+	+-G-G-GH RVQ26BF7Ar1rvgF&&&	
 261aRVGQG(((	
 $- -% $-$  
-	,	,.H.H.HI VQBB"&Q%%%	
 261aRVGQG(((	
 $- -% $-&  
L L L- - - &66*:!;<<, , =<,>$ $ $, , ,:& & &$, , ,4 ' 
 dE]334&4,!7884, 4, 98 43 4,n, , ,*P P P  -,,RUAq"%Arua8	
 	
 !  '9'9'9::	 	 %>%>%>??, , @?	 	,( q"g..0 0 /.0,, , ,- - -* * *0      # #H $s~)FGG4&4,!788=$ =$ 98 HGI# #L=$@ 4eV"<==m1 m1 >=m1` 3v"677***uNN***tPP***w4PP , ,  87,  %00	, 	, 10	,- - - 	, 	, 	,& & &&     !Q((D%=11$//0 0 0/ 21 )( $0 0 0r$   