
    dC                     ,   d dl Z d dlm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 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          d0             Z/ej#        $                    d1d2d d"gd d#gd d"gd3fd4d d#gd d"gd d#gd3fg          ej#        $                    d5d6d7g          d8                         Z0d9 Z1ej#        $                    d5g d:          d;             Z2d< Z3d= Z4d> Z5d? Z6ej#        $                    d@dAej7        fdBej8        fdCej9        fdDej:        fdEej'        fdFej;        fd&ej&        fd'ej%        fddG fd$dH fd(ej<        f ej=        dIe6ej>        J          g          dK             Z?dL Z@dM ZAdN ZBdO ZCej#        $                    dPg dQg dRfd gd gfg          ej#        $                    ddgejD                  ej#        $                    dSdTdUg          dV                                     ZEej#        $                    dWdXdYg          dZ             ZFd[ ZGej#        $                    dSd\d]g          ej#        $                    dg d^          d_                         ZHd` ZIda ZJej#        $                    dSd\d]g          ej#        $                    dg db          ej#        $                    dcg ddg defg dfg dgfg dhg defg          di                                     ZKej#        $                    dSd\d]g          dj             ZLejM        ej#        $                    dSd\d]g          ej#        $                    dkdl ejN        dm          j%        fdng          do                                     ZOej#        $                    dpg dqg drfd dsejP        d#d"ejP        ejP         dtdud ejP         gg dvfd d"ejQ        d#d"ejQ        ejQ        dtejP         d ejQ        gg dwfg          dx             ZRej#        $                    dpg dyg drfejP        d ejP         ejP        d"dzejP         dtdzejP         ejP         gg d{fd d"ejQ        d#d"ejQ        ejQ        dtejP         d ejQ        gg dwfg          d|             ZSd} ZTd~ ZUd ZVej#        $                    ddddgg          d             ZWd ZXd ZYd ZZd Z[ej#        \                    d          ej#        $                    dd6d7g          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                         Zad Zbd Zcd Zdej#        $                    dg d          ej#        $                    d5d6d7e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                         Zld Zmd Znd ZodS )    N)StringIO)lib)UnsupportedFunctionCall)	DataFrameIndex
MultiIndexSeries	Timestamp
date_range)nanops)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        ^/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/groupby/test_function.pydtypes_for_minmaxr$      s     MEG(	)		* 8G!S(( 	Xg"  8G!S(( 	Xg"  7G$$    c                  f   t          ddt          j        dg          } |                     g d          }|                    t
          j                  }|                    t
          j                  }|                                }t          j	        ||           t          j	        ||           d S )N      ?       @      @)r         r+   )
r	   r   nangroupbyaggbuiltinssumapplytmassert_series_equal)sgroupedresultresult2expecteds        r#   test_intercept_builtin_sumr9   8   s    S"&#&''Aii%%G[[&&FmmHL))G{{}}H68,,,7H-----r%   fkeysjimjoec                    	
 t          t          j                            ddd          ddg          }t          j                            d          |d<   |                    |           }|j        	|                    |          }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*   2   )  r+   r<   r=   columnsr@   jolie)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>S   s!    )wr5))!!444 r%   c                      |           S N )rJ   npfuncs    r#   rL   z%test_builtins_apply.<locals>.<lambda>X   s    vvayy r%   TF)inplacedrop)check_dtyper   rG   )r   r   randomrandintrandnr-   __name__r1   lendrop_duplicatesshaper2   assert_frame_equalassert_produces_warningr0   r.   reset_index	set_indexr3   rI   )r;   r:   dfgbr6   ngroups
assert_msgr8   	expected2rK   rP   s            @@r#   test_builtins_applyrd   C   s,    
29$$QI66	O	O	OB)//$''BwK	D		BJEXXa[[F"$$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   D88D<?D<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+   rE   )      @      @      @abccategory)      	   20130101rE   periods
US/Eastern)rt   tzz1 sr4   )rt   freq)	groupintfloatstringcategory_stringcategory_intdatetime
datetimetz	timedeltarA   )r   listr	   astyper   pdtimedelta_rangeselfr_   s     r#   r_   zTestNumericOnly.dff   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ry   rz   r}   rx   g      @rq         @rl   z1.5s3s      ?rE   z2013-01-01 12:00:00z2013-01-03 00:00:00ru   rv   )r}   rz   r   ry   r~   r   r*   r+   nameindexrB   Tnumeric_only)r   r-   r   r   	Timedeltar
   rI   r2   r[   reindex_likerB   _check)r   r_   r   expected_columns_numericr`   r8   r6   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)ry   rz   r{   r}   r~   r   r   r   r   r   r_   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)ry   rz   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%   r0   cumsumc                     t          g d          }t          g d          }|dk    rt          g d          }|                     ||||           d S )Nr   )ry   rz   r{   r}   r   r   )ry   rz   r}   r   r   )r   r_   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)ry   rz   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           
         |                     d          }|                    d          rt          nt          }|dv rcd                    ddd| dg          }t          j        ||	          5   t          ||                       d d d            n# 1 swxY w Y   n|d
v r^d                    g d          }t          j        ||	          5   t          ||                       d d d            n# 1 swxY w Y   n2 t          ||                      }t          j	        |j
        |           |dvrjd                    ddddd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 )Nrx   cum)r   r   r   r   r   r   |zCategorical is not ordered*function is not implemented for this dtypezCannot perform z with non-ordered Categoricalmatch)r0   r   r   r   )z-category type does not support sum operations[Cc]ould not convertz0can't multiply sequence by non-int of type 'str'r   r   r   zcategory type does not supportzcan't multiply sequenceFr   )r-   
startswithNotImplementedError	TypeErrorjoinpytestraisesrI   r2   assert_index_equalrB   )	r   r_   r   r   r   r`   	exceptionmsgr6   s	            r#   r   zTestNumericOnly._check   s   ZZ   ,2+<+<U+C+CR''	LLL((0@KfKKK C y444 & &#F##%%%& & & & & & & & & & & & & & &888((   C y444 & &#F##%%%& & & & & & & & & & & & & & & )WR((**F!&.2JKKK***((*04-@KfKKK	 	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BC66C:=C:-FFFN)rW   
__module____qualname__r   fixturer_   markparametrizer   r   r   r   r   r   r   rO   r%   r#   rf   rf   c   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%   rf   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*   barrE   bazABCrA   r   r   r,   r   s     r#   r_   zTestGroupByNonCythonPaths.df#  sD    ]]Q.BFE0BC#OO
 
 
 	r%   c                 0    |                     d          }|S )Nr   r-   )r   r_   r`   s      r#   r`   zTestGroupByNonCythonPaths.gb+  s    ZZ__	r%   c                 4    |                     dd          }|S )Nr   Fas_indexr   )r   r_   gnis      r#   r   zTestGroupByNonCythonPaths.gni0  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*   rE   r   r   r   countr   stdr   25%50%75%r   r   rp   levelscodesr'   r(           r   )r   r   r   ranger   r   r,   describer2   r[   r]   )r   r_   r`   r   expected_indexexpected_colr8   r6   s           r#   test_describez'TestGroupByNonCythonPaths.test_describe5  s   1vC000!EVVVW37DqNN+
 
 
 c263S#s;bfbfbfbfbfbfbfM ! 
 
 
 
fh///''))
fh/////r%   N)	rW   r   r   r   r   r_   r`   r   r   rO   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
                              d          }|                     d          }t          j        ||           |                     d
                              d          }|                     d          }t          j        ||           d S )Nr*   r+   rq   )rE      rq   r   rA   r   r   r   r   Fr   rG   )r   r   r,   r-   r   r2   r[   r   )r_   r8   r6   s      r#   test_cython_api2r   L  sZ    
Q26NQNIII>	X	X	XB1bf+{QF;c3ZPPPHZZ__##%%F&(+++ ZZeZ,,3355F&(+++ ZZ__###++Fyyay  H&(+++ZZ__$$!$,,Fzzqz!!H&(+++++r%   c                  0   t           j                            d          } t           j        | d d d<   t	          |           }t           j                            ddd                              t                    }t           j        |d d d<   |                    |          	                                }|                    |          
                    t          j                  }t          j        ||           t	          t           j                            dd                    }|                    |          
                    t           j	                  }|                    |          	                                }t          j        ||           d S )Nr@   r+   r   r?   size      )r   rT   rV   r,   r   rU   r   rz   r-   r   r.   r   	nanmedianr2   r[   )arrr_   labelsr6   exprsxps          r#   test_cython_medianr   b  s2   
)//$

CvC!H	3BYq"40077>>F6F44R4LZZ&&((F
**V


 
 !1
2
2C&#&&&	29??4++	,	,B	F						*	*B	F			"	"	$	$B"b!!!!!r%   c                    t          t          j                            ddd                    }t	          ddd          }t          j        |d         |          }|                    ||                                           }|                    ||           	                    d           }t          j        ||           d S )Nr   ,     7   r   )observedc                 *    |                                  S rN   )r   rJ   s    r#   rL   z(test_median_empty_bins.<locals>.<lambda>{       r%   )r   r   rT   rU   r   r   cutr-   r   r.   r2   r[   )r   r_   grpsbinsr6   r8   s         r#   test_median_empty_binsr   t  s    	29$$QC00	1	1B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   r_   r*   abr+   rE   r   r   r   r   r   r   )r_   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+   rE   r   r  argsr	  r_   r  T)rQ   )r   r  r   r^   r-   rI   r2   r[   )	r   r   datar_   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  r8   )r8   r  r+   )r   r   r   r   nthr   r  r  )r   itemsr-   rI   ilocr  )r   r_   grp_expr   r  r5   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+   rE   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   rA   )r   r   to_datetimedttz_localizer  	to_periodr   rI   r-   r   rR   r2   r[   )funcvaluesr   r_   r6   r8   s         r#   $test_idxmin_idxmax_returns_int_typesr/    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          }| j        d d dd f                             d          }|j                            d          }t          j
        ||         |                    d                     t          d	d
          | d<   |                     d          }d}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )N
   r   r   r   r   DrA   
r*   r+   rE   r*   r+   rE   r*   r+   rE   r   r   r*   rG   z
2016-01-01rs   Ez7reduction operation 'argmax' not allowed for this dtyper   )r   r   rT   rV   r-   r  r  r   get_level_valuesr2   r3   	droplevelr   r   r   r   )r_   r`   r  altindexergb2r   s          r#   test_idxmin_idxmax_axis1r;    ss   	29??2q))3G3G3G	H	H	HB,,,BsG	CB
)))

C
'!!!QRR%.

Q

'
'Ci((++G3w<s););<<<r222BsG
**S//C
CC	y	,	,	,  


                 s   D==EE)TFNc                 v   |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||
v r@d}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rWd}t          j        t          dd                    |           d          5   ||i |	 d d d            d S # 1 swxY w Y   d S  ||i |	}|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reasonr1  r   r2  rA   rJ   r5  r4  rH   r*   r   )r   r   difffillna
pct_changerankshift)r   r   rB  rD  rE  rF  r   r   r  r  rC  1got an unexpected keyword argument 'numeric_only'r   z)got an unexpected keyword argument 'axis')rC  rF  )"not supported between instances ofz2can't multiply sequence by non-int of type 'float'unsupported operand type(r   )rF  )r   skipnode
add_markerr   xfailr   r   rT   rV   r-   rI   r   r   r   r   rR   Tr   rz   r2   assert_equal)r   groupby_funcr   r   r_   groupsr`   r   r  kwargsno_argshas_axismsgsr6   df_expectedr8   s                   r#   test_axis1_numeric_onlyrY    s   +++KLLL+++T 1 1 1 = =>>>	29??2q))3G3G3G	H	H	HBBsG+++F	F		BR&&F"<44Da[F!-~ UGH LG$;$;A]9C000 	$ 	$FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$	X	%	%9]9C000 	$ 	$FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 
l
 M 9 9
 ]9,A,A,A,ABBB 	$ 	$FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ (((0<Fbggcg**,,"$57;55t<>7""<"  u--H
)))))s6   8	DDD<	EEE	F11F58F5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  r1  r+   keyvaluer\  r]  F
group_keysc                 *    |                                  S rN   r   r   s    r#   rL   z&test_groupby_cumprod.<locals>.<lambda>Q      AIIKK r%   d   c                 *    |                                  S rN   ra  r   s    r#   rL   z&test_groupby_cumprod.<locals>.<lambda>X  rb  r%   )	r   r-   r   r1   r   r2   r3   r   rz   )r_   actualr8   s      r#   test_groupby_cumprodrf  L  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   順 r[  r\  r]  )rh  l    d(	 l     I5 l      Fx:^ r   Fr^  c                 *    |                                  S rN   ra  r   s    r#   rL   z/test_groupby_cumprod_overflow.<locals>.<lambda>h  s    !))++ r%   )r   r-   r   r	   r2   r3   r1   r   )r_   re  r8   numpy_results       r#   test_groupby_cumprod_overflowrk  ]  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+   rl   r  rn  )r   r   r,   r-   r   r2   r[   r_   r6   r8   s      r#   1test_groupby_cumprod_nan_influences_other_columnsrr  n  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.statsrt  )r  rT  rt  s      r#   	scipy_semrw  |  s.    3'1''''r%   z	op,targopr   r   r   varr0   r   c                     | j         d         S )Nr   r  r   s    r#   rL   rL     s    AF1I r%   c                     | j         d         S )Nrz  r   s    r#   rL   rL     s    16": r%   rt  )marksc                    t          t          j                            d                    }t          j                            ddd                              t                    } t          |                    |          |                       }|                    |          	                    |          }t          j        ||           d S )Nr@   r   r?   r   )r   r   rT   rV   rU   r   rz   rI   r-   r.   r2   r[   )optargopr_   r   r6   r8   s         r#   test_ops_generalr    s    $ 
29??4((	)	)BYq"40077>>F,WRZZ'',,..Fzz&!!%%f--H&(+++++r%   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)r2   r\   UserWarningr   read_csvr   r-   r   to_framer[   isnaany)rawr_   r`   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*   rE   r   ro   r+   rq   r   r      r1  
aaaaabbbbbrE   )ro   r   rE   r1  rq   r  aaabbb)rE   r+   r*   rq   r   rp   r(  
r*   r*   rE   r+   r   rE   rE   r+   r*   r   )rE   r+   r*   rE   rE   r+   )r+   rE   r*   r  r   ro   r   keep)r	   r   r-   nlargestr   from_arraysr2   r3   r  r  r`   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 )Ni[20180101r1  rs   onetwor   second)names   r(  r*   r   r+   rE   r   r   r  ro   rp   rq   )r   r   r  )
g-r@g-`w?g@f|?gp?g=J-?g],l;?g]f$?gM8r g4Y?g
F;FgMbP?)check_exactrtol)r   rT   RandomStater   r   from_productr	   rV   r-   r  from_tuplesr2   r3   )	nprdts	iterablesidxr4   r6   exp_idx
exp_valuesr8   s	            r#   test_nlargest_mi_grouperr    s   
)

	
*
*C
Z
,
,
,Cuen%I

!)GX3F
G
G
GCsyy}}C(((A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  rE   )r*   r+   rE   r   r   r  r  )r   r   r*   r  ro   rp   r(  r  )r   r*   r*   r   r*   r+   )r   r*   r   rq   rp   ro   r   r  )r	   r   r-   	nsmallestr   r  r2   r3   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+   rE   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           j                  n|}t	          | t          j
        ||j        g          d          }t          j        ||           d S )Nr   r  r  r   r+   )nr   r   )r   arrayr   reversedr	   rI   r-   
isinstanceint_r   r  r   r2   r3   )r  rS  r   r   serr6   expidxr8   s           r#   test_nlargest_and_smallest_noopr     s     xE***HTNN##
C
 
 
 C1WS[[((&11A666F0:640H0HTRXfBG,,,,fFd*"8&#)9L"M"MTWXXXH68,,,,,r%   r-  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*   ri   r   r   r   z+numpy operations are not valid with groupbyr   r*   r+   rE   )r   )r   r-   r   r   r   rI   )r-  r_   gr   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+   rE   r   rE   r+   r+   rE   r+   r*   r  )rE   rE   rE   r+   r+   r+   r+   r*   r   r   Fr^  c                 *    |                                  S rN   r   r   s    r#   rL   ztest_cummin.<locals>.<lambda>0  r   r%   r+   r  r   r+   rE   r  ro   T)r  c                 *    |                                  S rN   r  r   s    r#   rL   ztest_cummin.<locals>.<lambda>;      AHHJJ r%   rz   r   r+   r   r  r   rE   c                 *    |                                  S rN   r  r   s    r#   rL   ztest_cummin.<locals>.<lambda>G  r   r%   2001r  r  r  r  r  )r*   r+   r+   r   )r   r   r-   r   r2   r[   r   r1   r  locr   r,   r   r)  r	   r3   r  )r$   r   r!   base_dfexpected_minsr_   r8   r6   s           r#   test_cumminr  #  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   rz   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  rp   r  r   r   r  )	r   r   r,   r   r-   rI   r2   r[   r  )r   r   r  r5   r8   r6   s         r#   test_cummin_max_all_nan_columnr  Y  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  )rE   r   r   r   r+   rE   rE   rE   r   r   Fr^  c                 *    |                                  S rN   r   r   s    r#   rL   ztest_cummax.<locals>.<lambda>u  r   r%   r  r  c                 *    |                                  S rN   r  r   s    r#   rL   ztest_cummax.<locals>.<lambda>~  r  r%   rz   r  r   rE   c                 *    |                                  S rN   r  r   s    r#   rL   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   r2   r[   r   r1   r  r  r   r,   r   r)  r	   r3   r  )r$   r   r"   r  expected_maxsr_   r8   r6   s           r#   test_cummaxr  h  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 rO   )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   r2   r[   )r  r_   r`   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%   )rz   r   r   zgroups,expected_datar*   r*   r*   )r*   NNri   r*   Nr+   )r*   rE   rE   c                 T   t          dt          g d|          i          }|                                }|                    |          d         } t	          ||           d          }t          ||d          }t          j        ||           t          j        ||           d S )Nr  r  r  Fro  )r   r   )r   r	   copyr-   rI   r2   r[   r3   )	r   r   rS  expected_datar_   origr`   r6   r8   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-   rI   r2   r[   )r   r_   r`   r6   r8   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-   	transformr2   r[   )r   r   valr  r_   r5   r6   r8   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   rE   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  rn  rn  rn  dr  r   r   abcdr   r   r   r  r   c                     | j         S rN   )is_monotonic_increasingr   s    r#   rL   z.test_is_monotonic_increasing.<locals>.<lambda>  s	    13L r%   )
r   r-   r   r  r   r   r	   r2   r3   r1   in_valsout_valssource_dictr_   r6   r   r8   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%   )r1  rq   ro   rE   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	   r2   r3   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   )mframer5   s     r#   test_apply_describe_bugr  &  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 rN   yearr   s    r#   rL   z/test_series_describe_multikey.<locals>.<lambda>-  s    AF r%   c                     | j         S rN   monthr   s    r#   rL   z/test_series_describe_multikey.<locals>.<lambda>-  s    ag r%   r   F)check_namesr   r   )r2   makeTimeSeriesr-   r   r3   r   r   r   )tsr5   r6   s      r#   test_series_describe_multikeyr   +  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           }|                                                                }t          j        ||           d S )Nc                     | j         S rN   r  r   s    r#   rL   z-test_series_describe_single.<locals>.<lambda>6  s    17 r%   c                 *    |                                  S rN   )r   r   s    r#   rL   z-test_series_describe_single.<locals>.<lambda>7  s    QZZ\\ r%   )r2   r  r-   r1   r   stackr3   )r  r5   r6   r8   s       r#   test_series_describe_singler%  4  sp    				Bjj**++G]]1122F!!''))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   r*  )r  r)  r  )r'   r'   r)   )r'   rj   rj   r(   )r'   rj   r(   )r'   rj   r)   )r'   rj   rk   )r'   rj   rl   )	r&  r   r   r   r   r   r   r   r   r+   r*   r'  r&  )
r   r-   r   r   r,   rX   insertr^   r2   r[   )r   r;   r_   r`   r6   r8   s         r#   test_series_describe_as_indexr,  <  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 rN   )r   r   s    r#   rL   z(test_series_index_name.<locals>.<lambda>^  s    16688 r%   )r  r-   r.   r   r   )r_   r5   r6   s      r#   test_series_index_namer/  \  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ddddd          }|                                }|                                 j        }t          ddg|j        gg d	t          t	          |j                            g          |_        t          j        ||           d S )
Nc                     | j         S rN   r  r   s    r#   rL   z.test_frame_describe_multikey.<locals>.<lambda>c  s     r%   c                     | j         S rN   r  r   s    r#   rL   z.test_frame_describe_multikey.<locals>.<lambda>c  s    17 r%   r   r   )rB   r   r*   rG   r2  r  )r-   r   r   rB   rX   r   r   r.  r   appendr   concatr2   r[   rP  )	tsframer5   r6   desc_groupscolrx   	group_colr8   groupedTs	            r#   test_frame_describe_multikeyr:  b  s   oo//1B1BCDDGFK " "%%''E5=)3U]+++U3u}3E3E-F-FG
 
 
	 %,	MMM5!!!!y1---H&(+++QQQQ??aHHH  F!!#HA'||U3x~#6#6778  HN &(+++++r%   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+   rE   r   r   rE   )r1  r     (   r?   )rc     i,  i  r   )rJ   yz)r   r   r*   )r   r*   r   r*   r   r   r   kr\  rA   z*Names should be list-like for a MultiIndexr   )r   renamer   r   
ValueErrorr-   r   )df1df2r   s      r#   test_frame_describe_tupleindexrH  }  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VOLUMErJ  r   r   r   )r
   r   r-   rK  r   rJ  r.  tolistr   r2   r[   )pricesvolumesr_   r6   r  r8   s         r#   $test_frame_describe_unstacked_formatrO    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   rS  rS  X   rT  rT  )r*   r+   rE   r   r   r  )r1  r  r<  r=  r?   <   )rP  rQ  r  rn  )rP  rQ  r  r  F)rB   r  rP  rQ  rA   )r  r   r)   r)   r  r   rk   r(   r  r   r'   r'   r  r   rj   r'   r  r   r   r   r  r   rk   r(   r  r   g      @g      @r  r   rl   r)   rV  rW  rX  rY  rZ  r[  r\  r]  r   r*   r+   rT  rS  )r   r   r  r   r   )r   rR   from_recordsr^   rP  rB   r  rX   r   r   r   r]   r-   r   r2   r[   )r   r;   r_   r8   r6   s        r#   0test_describe_with_duplicate_output_column_namesr_    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  rB   s     r#   r  z3test_describe_duplicate_columns.<locals>.<listcomp>  sL        	Cbfc345aS'RRR  r%   )r   r(   r)   rG   r   r+   r  rE   r   )r   rB   r-   r   r   r4  r   r   r   r   r  r2   r[   )r_   r`   r6   framesr8   rB   s        @r#   test_describe_duplicate_columnsrd    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connectionsrf  rg  r   l    ,fL )r   r-   r   )r_   s    r#   test_groupby_mean_no_overflowrh    si    	---III	
 	

 
B ::fm,1133C8<OOOOOOOr%   r.  )	r*   r*   r*   r+   r+   r+   rE   rE   rE   )r*   r*   r+   r+   rE   rE   )r*   r+   r*   r+   r*   r+   function)r   r   rx  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 )Nrx  g      ?r   rE   r  ri   r  r   r   r   r  r(  r   )r   r  rz   r   r   r   r-   rI   r2   r[   r.   r   r  rB   )r.  ri  outputr   r  r8   rS  r6   s           r#   ,test_apply_to_nullable_integer_returns_floatrm    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%   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+   rm  r   r  r  rk  r  r+   	min_countrE   )r   r   r   rp  )r   r   )
r   r-   r   r0   r	   r   r  r2   r3   r[   )r_   r5   r  r6   r8   s        r#   0test_groupby_sum_below_mincount_nullable_integerrq  &  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 )Nr1  r   r   r   )timecatrt  rs  r   r   )r   r   )
r   r   to_timedeltar   r-   r   r	   r   r2   r3   rq  s      r#   test_mean_on_timedeltarv  5  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  rE   )daysr  r  r*   r+   r   r(  ro  zm8[ns])r   r   r   )r   r   r   r  r-   r0   r   r2   r[   r3   r	   r   )r_   td3r`   r  r8   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)r>  T)covT)r   T)r   T)r   T)r   T)rB  F)ffillF)rC  F)r   T)r  T)r  T)r   T)r   T)r   T)r   T)r   T)r  F)nuniqueF)rD  F)r   T)quantileT)rt  T)r?  T)r   T)r0   T)rx  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 |s| dv ry|dusJ |                     d          rt          nt          }
d                    g 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  )rP  rQ  a3r  r   Tr  r   )r  r~  r  r  rC  r  r  r=  r   r   )not allowed for this dtypezmust be a string or a number+cannot be performed against 'object' dtypesz!must be a string or a real numberrI  rH  r   r   rG  )rB  rD  rI  )r   objectr   r   
no_defaultr-   rI   rB   r   r   r   r   r   r   )kernelhas_argr   r;   r_   r  rT  r`   r   r6   r   r   s               r#   test_numeric_onlyr  W  sh   T 
1a&Aq!f1x<PP	Q	QB"62..D3>11RR7UF	D		BR  F .$<4''(((&.(((((( 	### RRR.. (((fn$$$$$$	 $F2224''''
 ,2+<+<U+C+CR''	hh  

 

 ]9C000 	$ 	$FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 
$S^;;]P
 
 
 	$ 	$ FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$
 /////s~----]9,GHHH 	$ 	$FD#F###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s6   	D%%D),D)	E33E7:E71	GGGc                 `   |dk    r:d}|j                             t          j                            |                     g d}t          g d|           }|                    |          }t          ||          }t          g d          }|                    |          }	t          |	|          }
t          ||          }d}d}||v rT| t          u rK|d	v rd
}n|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  ||ddi} ||ddi}t          j        ||           d S )Nr>  z,corrwith is not implemented on SeriesGroupByr@  rA  rB  r  )	r  r  r   r   r   r   r  r  r  )r   r   r  r  r  rF  r0   rB  rD  rx  r   r   r   r   r   r=  r  r  r  z!is not supported for object dtyper   )r   r   r   r   r   r   r   r  rt  r?  r   r0   rx  r   r   r   r   rG  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-numericF)rM  rN  r   r   rO  r	   r-   rI   r   r  r   r   r   r2   r3   r   )r   rR  r   r   grouperr  r`   r   expected_serexpected_gbexpected_methodr  fails_on_numeric_object
obj_resultr6   r8   has_numeric_onlys                    r#   "test_deprecate_numeric_only_seriesr    sy    z!!< 1 1 1 = =>>>iiG
%
(
(
(C	W		BR&&F)))$$L&&w//Kk<88O"<55D
J( ...5F??///.CCZ''?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,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 1D11644e44
vx00000s6   DDD	FF"%F"&	G<<H H rT  )g?g?g333333?r~  )ra  includeexcludery   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 )Nri   r   )rB   r   r   r   r   r   T)rR   rO   )r   r   ry   rz   r  r-   r   r]   r2   r[   r   r   r   )r   rT  r_   r6   r8   s        r#   test_groupby_empty_datasetr  $  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          g dg dd          } |                     d                              | d          }t          g dd	          }t	          t
          j        gd
z  |          }t          j        ||           d S )Nrh   )rE   ro   r   r  r  r*   rG   ))r*   r   )r*   r*   )r*   r+   )r+   r+   )r+   r   )r+   r*   )r  N)r  r   r  r(  )	r   r-   r>  r   r	   r   r,   r2   r3   )r_   r6   r   r8   s       r#   test_corrwith_with_1_axisr  =  s    	33	4	4BZZ__%%bq%11F===  E rvhl%000H68,,,,,r%   c                    t          g g g d                              g d          }|                    g dd          }t          ||           }t	          | |          } || j        }|j        }t          j        ||           d S )Nrm  Fr^  )r   r^   r-   rI   r   r   r2   r   )rR  r_   r`   r   r  r6   r8   s          r#   ,test_multiindex_group_all_columns_when_emptyr  I  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 )Nr>  z:GH#50845 - corrwith fails when there are duplicate columnsr@  )r*   rE   r  )r*   r   ro   )r+   r   rp   abbrA   r  r   rm  r*   rG   )r   ngroupcumcountrn  r  )rM  rN  r   r   rO  r   r   r   r-   rI   set_axisrD  r2   rQ  )r   rR  r   r   r_   r  r`   r6   expected_dfexpected_argsr  r8   s               r#   test_duplicate_columnsr  U  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%   )pr/   ior   numpyr   r   pandas._libsr   pandas.errorsr   pandasr   r   r   r   r	   r
   r   pandas._testing_testingr2   pandas.corer   pandas.tests.groupbyr   pandas.utilr   tdr   r  r   r  r   r$   r9   r   r   r   r   r0   rd   rf   r   r   r   r   r  r  r/  r;  rY  rf  rk  rr  rw  r   r   r   rx  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%  r,  r/  r:  rH  rO  filterwarningsr_  rd  rh  r  rm  rq  rv  r}  r  r  boolry   rz   r  r  r  r  r  r  rO   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<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, , ,," " "$, , , 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 ,@  * )<)<)<==C* C* >=C*L- - -"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*:!;<<, , =<,>$ $ $, , ,6& & &$, , ,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::	 	 %>%>%>??, , @?	 	,(, , ,- - -* * *0      # #H $s~)FGG4&4,!7889$ 9$ 98 HGI# #L9$x 4eV"<==g1 g1 >=g1T 3v"677***uNN***tPP***w4PP , ,  87, 	- 	- 	-	, 	, 	,& & & & &r%   