
    .i                        d dl Z 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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<                  j?                  d	g d
      d        Z ej<                  j?                  dg dg dg dg dg dg dg dg dg dg dg dg dejB                  ejB                  ejB                  gg      d        Z"d Z#d Z$ej<                  j?                  dg dg dejJ                  ejJ                  ejJ                  gdejJ                  dgdejJ                  dgdejJ                  dgg      d        Z&ej<                  j?                  d d!d" ejN                  dge(#       ejN                  ejJ                  gd$#      fd%d! ejN                  ejJ                  gd$#       ejN                  dge(#      fd%d% ejN                  ejJ                  gd$#       ejN                  ejJ                  gd$#      fd"d$ ejN                  ejJ                  gd$#       ejN                  ejJ                  gd$#      fg      d&        Z)ej<                  j?                  d	g d'      d(        Z*ej<                  j?                  d)d*ejJ                  ejB                  gdfd*ejJ                  d+ejB                  gdfd,ejJ                  ejV                  gdfd,ejJ                  dejV                  gdfg      d-        Z,d. Z-d/ Z.ej<                  j?                  d0d1d2g      d3        Z/ej<                  j?                  d0d1d2g      d4        Z0ej<                  j?                  d5d1d d6gd+d7gd+d6gd8fd2d+d7gd d6gd d7gd8fg      ej<                  j?                  d9ddg      d:               Z1ej<                  j?                  d ed;       ed<      fd=g      ej<                  j?                  d>g d?      d@               Z2ej<                  j?                  d0dAdBg      dC        Z3dD Z4dE Z5ej<                  j?                  dFd d+ejB                  d7dGdHdIdJdKdLg
dMdMfd d+ejJ                  d7dGdHdIdJdKdLg
d"d"fd d+ejJ                  d7dGdHdIdJdKdLg
d%d"fd d+ejB                  d7dGdHdIdJdKdLg
dNdNf ejl                  dOejV                  dPdQdRdSdTdUdVdWg
      dXdXfg      dY        Z7ej<                  j?                  dZd d+ejB                  d7dGdHdIdJdKdLg
dMfd d+ejJ                  d7dGdHdIdJdKdLg
d"fd d+ejJ                  d7dGdHdIdJdKdLg
d%fd d+ejB                  d7dGdHdIdJdKdLg
dNfg      d[        Z8d\ Z9ej<                  j?                  d]g d^d d+d7ejB                  dGdHdIdJd_dLg
dMdMfd^d d`d7dGdHejJ                  dIdJdKdLg
d"d"fd^d d+d7dadHdIdJd_ejJ                  dLg
d%d%fd^ejB                  gdbz  dMdMfd^ejJ                  gdbz  d"d"fd^ejJ                  gdbz  d%d%fdcd d`d7dGejB                  dHdIdJdKdLg
dMdMfdcd d+d7dadHdIdJd_dLejJ                  g
d"d"fdcd d`d7dGdHdddJejJ                  dKdLg
d%d"fdcejB                  gdbz  dMdMfdcejJ                  gdbz  d"d"fdcejJ                  gdbz  d%d"fded d+d7dadHdIdJd_ejB                  dLg
dMdMfded d`d7dGdHdddJejJ                  dKdLg
d"d"fded d+d7dadHdIdJd_dLejJ                  g
d%d"fdeejB                  gdbz  dMdMfdeejJ                  gdbz  d"d"fdeejJ                  gdbz  d%d"fdfd d`d7dGdHdddJejB                  dKdLg
dMdMfdfd d+d7dadHdIdJd_ejJ                  dLg
d"d"fdfd d`d7dGdHdddJdKdLejJ                  g
d%d"fdfejB                  gdbz  dMdMfdfejJ                  gdbz  d"d"fdfejJ                  gdbz  d%d"fdgd d`d7dGdHdddJejB                  dKdLg
dMdMfdgd d+d7dadHdIdJd_ejJ                  dLg
d"d"fdgd d`d7dGdHdddJdKdLejJ                  g
d%d%fdgd d+ejB                  d7dGdHdIdJdKdLg
dNdNfdg ejl                  dOejV                  dPdQdRdSdTdUdVdWg
      dXdXfdgejB                  gdbz  dMdMfdgejJ                  gdbz  d"d"fdgejJ                  gdbz  d%d%fdhd d`d7dGdHdddJejB                  dKdLg
dMdMfdhd d+d7dadHdIdJd_ejJ                  dLg
d"d"fdhd d`d7dGdHdddJdKdLejJ                  g
d%d%fdhd d+ejB                  d7dGdHdIdJdKdLg
dNdNfdh ejl                  dOejV                  dPdQdRdSdTdUdVdWg
      dXdXfdhejB                  gdbz  dMdMfdhejJ                  gdbz  d"d"fdhejJ                  gdbz  d%d%fdid d`d7dGdHdddJejB                  dKdLg
dMdMfdid d+d7dadHdIdJd_ejJ                  dLg
d"d"fdid d`d7dGdHdddJdKdLejJ                  g
d%d"fdid d+ejB                  d7dGdHdIdJdKdLg
dNdNfdi ejl                  dOejV                  dPdQdRdSdTdUdVdWg
      dXdXfdiejB                  gdbz  dMdMfdiejJ                  gdbz  d"d"fdiejJ                  gdbz  d%d"f      dj        Z:dk Z;dl Z<dm Z=dn Z>do Z?dp Z@dq ZAej<                  j?                  drdgdhg      ds        ZBej<                  j?                  drdgdhg      dt        ZCdu ZDej<                  j?                  drdgdhg      dreEfdv       ZFej<                  j?                  d	g dw      dx        ZGdy ZHej<                  j?                  drg dz      d{        ZIej<                  j?                  drdgdhg      d|        ZJej<                  j?                  d}d d+g      ej<                  j?                  d~ddg      d               ZKd ZLej<                  j                  ej<                  j?                  dddg      ej<                  j?                  ddgddgg      d                      ZNd ZOd ZPd ZQd ZRej<                  j?                  dg d ed      ejV                   ed      gd ed+g ej                  dgd      d      fg d ej                  dd+d+      ejV                   ej                  dd+d+      gd ed+g ej                  dgd      d      fg d ej                  dd+d+      ejV                   ej                  dd+d+      ejV                   ej                  dd+d+      gd ed6d6g ej                  ddgd      d      fg d ej                  dd+d+      ejV                   ej                  dd+d+      ejV                   ej                  dd+d+      gd ed6d+g ej                  ddgd      d      fg      d        ZUd ZVd ZWd ZXd ZYej<                  j?                  d}d dbg      d        ZZd Z[d Z\ej<                  j?                  d	g d      ej<                  j?                  ddAdd+d+dd6d7dgifdBdd+d6dd6dGdgifdgdd+d+dd6d7dgifdhdd+d6dd6dGdgifdd+d6dd6d6dgddfg      d               Z]d Z^ej<                  j?                  ddej                  fdiej                  fdeej                  fdcej                  fdej                  fd^ej                  fdgej                  fdhej                  fdAd fdBd fdej                  f ej                  dfe^ ej                  d            g      d        Zjej<                  j?                  dg dd+ejJ                  d6d+ejJ                  d6d+ejJ                  d6g	dg dg ddg      ej<                  j?                  dg d      d               Zkej<                  j?                  dg d      d        Zld Zmd Znd Zoy)    N)ascii_lowercase)iNaT)pandas_dtype)na_value_for_dtype)	DataFrame
MultiIndexSeries	Timestamp
date_rangeisna)get_groupby_method_args)_test_decoratorsdtype)int64int32float64float32c                    t        t        j                  d      dz  t        j                  d      |       }t        j                  d      }t        j                  j	                  d      j                  |       |j                  |      }|j                  d d      }|D ]  \  }}t        |      dk(  rJ  |j                  t        j                        }|d   dk(  sJ |j                  t        j                        }t        j                  ||       t        j                  ||j                                |j                         }|j                  t        j                        }| d	k(  r|j                  d	      }t        j                  ||       |j!                  d
       }|j#                  d       }	|	d   dk(  sJ t        j                  |	|       |j                  |      }
|
j                  t        j                        }t        j                  ||d       |j                  t        j                  t        j$                  g      }d}t'        j(                  t*        j,                  j.                  |      5  |j                  t        j                  t        j$                  d       d d d        d}t'        j(                  t0        |      5  |j                  d        d d d        y # 1 sw Y   BxY w# 1 sw Y   y xY w)N	      indexr      c                     | dz  S )Nr    xs    b/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/groupby/test_reductions.py<lambda>z)test_basic_aggregations.<locals>.<lambda>#   s
    Q!V     F)
group_keys   r   c                 (    | | j                         z  S Nsumr   s    r   r   z)test_basic_aggregations.<locals>.<lambda>5   s    q1557{ r    c                 (    | | j                         z  S r$   r%   r   s    r   r   z)test_basic_aggregations.<locals>.<lambda>6   s    a!%%'k r          )check_index_typeznested renamer is not supportedmatch)onetwozMust produce aggregated valuec                     | dz  S )Nr   r   r   s    r   r   z)test_basic_aggregations.<locals>.<lambda>I   s
    AE r    )r	   nparangerandomdefault_rngshufflereindexgroupbylen	aggregatemeanaggtmassert_series_equalr&   astypeapply	transformstdpytestraisespderrorsSpecificationError	Exception)r   datar   groupedkvaggedexpectedresulttransformedvalue_groupedmsgs               r   test_basic_aggregationsrQ      sS   "))A,!#299Q<uEDIIaLEII!$$U+<<Dll+l>G 11v{{ bgg&E8q=={{277#H5(+5',,.1[[]F{{266"H??7+68,}}23H##$9:Kq>R;1LL&M$$RWW-F655A rww/0E
,C	ryy333	? ;"''"&&9:; *C	y	, +/*+ +; ;+ +s   1K5L5K>L
vals)foobarbaz)rS    rV   )rV   rV   rV   r"   r   r   )r"   r   r   r   r   r   )      ?       @      @)rY           r\   )r\   r\   r\   )TTT)TFF)FFFc                 f   t        dgdz  dgdz  z   |dz  d      } t        t        |      |      }| rt        t	        |            r|dk(  rd}t        |gdz  dgt        j                  ddgd	
            } t        |j                  d	      |      |       }t        j                  ||       y )Nar   br   )keyvalanyFra   r`   namecolumnsr   skipna)
r   getattrbuiltinsallr   rC   Indexr6   r;   assert_frame_equal)rh   all_boolean_reductionsrR   dfexprL   rM   s          r   test_groupby_bool_aggsrq   L   s    & 
C519uqy0B	CB 4'(2
3D
9C #d4j/&<&E		E7"((C:E*JH @WRZZ&(>?vNF&(+r    c                  ,   t        g ddt        j                  dgdt        j                  dggg d      } t        ddgd	dggd
dgddg      }d|j                  _        | j                  d      j                         }t        j                  ||       y )N)r"   r   rS   r"   rT   r   rU   ABCrf   TFru   rv   re   rt   )	r   r0   nanr   rd   r6   rb   r;   rm   ro   rL   rM   s      r   test_anyrz   o   s    		BFFE*Q,>?
B 
t}%Sz!QH HNNZZ_  "F&(+r    c                     t        ddggddg      }|j                  dg      } t        ||              }|j                  t	        j
                  dg            }t        j                  ||       y )NTr^   rw   r   )r   r6   ri   set_axisr0   arrayr;   rm   )rn   ro   grp_byrM   rL   s        r    test_bool_aggs_dup_column_labelsr   |   sa    	T4L>C:	6BZZ_F4WV346F{{288QC=)H&(+r    rG   FTc                     t        |d      } t        ||       |      }t        |t        j                  dg      d      }|j	                  g d      j                  | |      }t        j                  ||       y )Nbooleanr   rg   r   r   rX   )r	   ri   r0   r}   r6   r:   r;   r<   )rn   rh   rG   serexpected_datarL   rM   s          r   test_masked_kleene_logicr      sm     Y
'C 9GC!78GMm288QC=	JH[[#''(>v'NF68,r    zdtype1,dtype2,exp_col1,exp_col2floatFloat64r   r   Int64c                    | j                  d      rdt        j                  gndt        j                  g}|j                  d      rdt        j                  gndt        j                  g}t        t        j                  ||       t        j                  ||      d      }|j                  ddg      j                  dd      }t        ||dt        j                  dg      	      }t        j                  ||       y )
NfrY   r   )col1col2r"   rk   Frg   r   )
startswithr0   rx   rC   NAr   r}   r6   r:   r;   rm   )	dtype1dtype2exp_col1exp_col2data1data2ro   rM   rL   s	            r   test_masked_mixed_typesr      s    > $..s3S"&&M#ruuE#..s3S"&&M#ruuE	%v.f8UV
B ZZA##E%#8F(H=RXXqc]SH&(+r    )r   r   r   c                     |t         j                  dg|      }d}|s| dk(  rt         j                  } ||gt        j                  dg      d      }|j	                  ddg      j                  | |      }t        j                  ||       y )Nr"   r   Trk   r   r   rg   )rC   r   r0   r}   r6   r:   r;   assert_equal)rn   r   rh   frame_or_seriesobjexpected_resrL   rM   s           r   test_masked_bool_aggs_skipnar      s|    
 255!*E
2CL,5uu~RXXqc])TH[[!Q $$%;F$KFOOFH%r    zbool_agg_func,data,expected_resrb   r"   rk   c                      ||t               }|j                  dgt        |      z        j                  |       } ||gt	        j
                  dg      d      }t        j                  ||       y )Nr   r"   boolr   )objectr6   r7   r:   r0   r}   r;   r   )bool_agg_funcrG   r   r   r   rM   rL   s          r   test_object_type_missing_valsr      s[     $f
-C[[!s4y)--m<F~RXXqc]&QHOOFH%r    c                     t        t        j                  gt              }t	        j
                  t        d      5  |j                  dg      j                  | d       d d d        y # 1 sw Y   y xY w)Nr   z boolean value of NA is ambiguousr+   r"   Frg   )	r	   rC   r   r   rA   rB   	TypeErrorr6   r:   )rn   r   s     r   'test_object_NA_raises_with_skipna_falser      s[    
"%%
'C	y(J	K CQC3EBC C Cs   $A))A2c                     | t         u rddginddi} | di |dt        i} t        |j                  |j                        |             } | di |dt
        i}t        j                  ||       y )Nrf   r^   rd   r   r   )r   r   ri   r6   r   r   r;   r   )r   rn   kwargsr   rM   rL   s         r   
test_emptyr      sl    #2i#?i#fc]F

1F
1&
1CDWS[[+-CDFF44t4HOOFH%r    howidxminidxmaxc                    |t         u s|t        u ry d|v rt        j                  nt        j                  } ||      j
                  } ||      j                  }t        g d||||gd|      }|j                  d      } t        ||              }t        dddgit        j                  dd	gd|
            }t        j                  ||       y )Nint)r   r"   r"   r   r^   r_   r   r^   r_   r"   r   r   rd   r   r   )r   r   r0   iinfofinfominmaxr   r6   ri   rC   rl   r;   rm   )	r   any_real_numpy_dtypeinfo	min_value	max_valuero   gbrM   rL   s	            r   test_idxmin_idxmax_extremesr      s     s"&:e&C 44288"((D)*..I)*..I	)Y	9!MN"
B 
CBWRF	q!fRXXq!f3>RSH &(+r    c                    t        j                  |      j                  }t        j                  |      j                  }t	        t        t        j                  t        dd      d      d      t        t         j                  |t         j                  ||t         j                  |t         j                  g|      d      }|j                  d      }| s=| d	}t        j                  t        |
      5   t        ||      |        d d d        y  t        ||      |       }t	        dg dit        j                  t        dd      dd            }	t!        j"                  ||	       y # 1 sw Y   y xY w)Nr"      r   )repeatsintpr   r   r^   z with skipna=Falser+   rg   r_   )r"   r         r   r   )r0   r   r   r   r   r	   repeatrangerx   r6   rA   rB   
ValueErrorri   rC   rl   r;   rm   )
rh   r   float_numpy_dtyper   r   ro   r   rP   rM   rL   s
             r   "test_idxmin_idxmax_extremes_skipnar     s2    *+//I*+//I			%1+q9HFFFFFFFF	 (	

B$ 
CB'(]]:S1 	,GBF+	,WRV,F	l288E!QKc#PH &(+	,s   5E--E6zfunc, valuesr   r   )c_intc_floatc_datenumeric_onlyc                    t        g dg dg dg dd      }t        j                  |d         |d<   |d   j                  j	                  d      |d<   |d   |d   j
                  d	   z
  |d
<   |d   j                  j                  d      |d<   |d   j                  d      |d<   |d   j                  d      |d<    t        |j                  d      |       |      }t        |t        j                  ddgd            }|r|j                  dg      }n|d   |d<   |d   |d
<   |d   |d<   |d   |d<   |d   |d<   t        j                  ||       y )Nrt   rt   ru   ru   r"   r   r   r   )gGz@g=
ףp=@gRQ @g?)2019201820162017)rd   r   r   r   r   z
US/Pacific	c_date_tzr   c_timedeltaWc_periodr   r   	c_Integerr   r   
c_Floatingrd   r   rt   ru   rc   r   rw   )r   rC   to_datetimedttz_localizeiloc	to_periodr=   ri   r6   rl   dropr;   rm   )funcvaluesr   ro   rM   rL   s         r   $test_idxmin_idxmax_returns_int_typesr   2  si    
(!/6		

B >>"X,/BxLloo11,?B{O8r(|'8'8';;B}\__..s3BzNk((1B{O)}++I6B|.WRZZ'.LIFrxxc
'HIH==(=4 ( 2"*8"4'1$W-H[%i0H\&(+r    z2011-01-15 12:50:28.502376z2011-01-20 12:50:28.593448)l    m;-Ll    m;-Lmethod)countr   r   firstlastc                 D   t        ddg|d      }|j                  d      } t        ||              }| dk(  rd}n*| dk(  r|d   }n| dk(  r|d   }n t        |d	   |              }t        d	|git        j                  dgd
            }t        j                  ||       y )Nr"   r   r^   r   r   r   r   r   r_   rc   r   )r   r6   ri   rC   rl   r;   rm   )r   rG   ro   rH   rM   expected_valuerL   s          r   2test_groupby_non_arithmetic_agg_int_like_precisionr   Z  s     
!Qd+	,BjjoG%WWf%'F	7	a	6	a1C&13#/0!38OPH&(+r    r   r   c           
      n   t        t        |             }t        g d|d|d||g|d|d||gd|       }|j                  d|      }t	        ||      } ||      }g d	g d
g dg dd||f   }	|j
                  |	   j                  d      }
|r|
j                         }
t        j                  ||
       y )N)r   r"   r"   r   r   r   r[         @r^   r_   cr   r^   )sortrg   )r   r"   r   )r   r"   r   )r   r"   r   )r   r   r   ))r   T)r   F)r   T)r   F)
r   r   r   r6   ri   r   	set_index
sort_indexr;   rm   )any_real_nullable_dtyper   rh   r   na_valuero   r   r   rM   ilocsrL   s              r   test_first_last_skipnar   x  s     ",/F"GHH	# C3(CC3(C	
 &	
B 
Cd	#BRF6"F ##!"	
 
6kE wwu~'',H&&(&(+r    c                  |    t        g dg dd      } | j                  d      d   j                         d   dk(  sJ y )N)rt   rt   rt   rt   rt   )ij  i  io  i`  l    @~ )userconnectionsr   r   rt   l    ,fL )r   r6   r9   )ro   s    r   test_groupby_mean_no_overflowr     sD    	-I	

B ::fm,113C8<OOOOr    c                  F   t        t        j                  t        d            ddgdz  d      } | j	                  d      d   j                         }t        t        j                  ddg      dt        j                  ddgd	      
      }t        j                  ||       y )N
   rt   ru   r   )timecatr   r   r   rc   rd   r   )
r   rC   to_timedeltar   r6   r9   r	   rl   r;   r<   ro   rM   rL   s      r   test_mean_on_timedeltar     s    	BOOE"I6SzA~N	OBZZv&++-F
AfBHHc3Ze4TH 68,r    zvalues, dtype, result_dtyper   r   r   r(      r   r   ztimedelta64[ns]
2019-05-09z
2019-05-11z
2019-05-12z
2019-05-13z
2019-05-14z
2019-05-15z
2019-05-16z
2019-05-17z
2019-05-18zdatetime64[ns]c                 ,   t        | ddgdz  d      j                  d|i      }|j                  d      d   j                  fd      j                  |      }|j                  d      d   j	                        }t        j                  ||       y )	Nrt   ru   r   ra   r   ra   r   c                 (    | j                        S Nrg   )r9   r   rh   s    r   r   z"test_mean_skipna.<locals>.<lambda>  s    v. r    rg   )r   r=   r6   r>   r9   r;   r<   )r   r   result_dtyperh   ro   rL   rM   s      `   r   test_mean_skipnar    s    : 
:>	


 feU^  	

5% 	.	/		 
 ZZu%**&*9F68,r    zvalues, dtypec                 ,   t        | ddgdz  d      j                  d|i      }|j                  d      d   j                  fd      j                  |      }|j                  d      d   j	                        }t        j                  ||       y )	Nrt   ru   r   r   ra   r   c                 (    | j                        S r  r%   r  s    r   r   z!test_sum_skipna.<locals>.<lambda>  s    f1E r    rg   )r   r=   r6   r>   r&   r;   r<   )r   r   rh   ro   rL   rM   s     `   r   test_sum_skipnar    s     
:>	


 feU^  	

5% &&'EFMMeT  ZZu%)))8F68,r    c                    t        ddt        j                  ddddddd	g
d
dgdz  d      j                  dt        i      }| r;t        ddgt        j                  d
dgd      d      j                  t              }nHt        t        j                  dgt        j                  d
dgd      d      j                  t              }|j                  d      d   j                  |       }t        j                  ||       y )Nr^   r_   der   ghijrt   ru   r   r   ra   aegibdfhjr   rc   r   rd   rg   )r   r0   rx   r=   r   r	   rC   rl   r6   r&   r;   r<   )rh   ro   rL   rM   s       r   test_sum_skipna_objectr    s    	bffc3S#sCH:>	


 feV_  WRXXsCju%EE

&. 	 VVWRXXsCju%EE

&. 	 ZZu%)))8F68,r    z!func, values, dtype, result_dtypeprodir   varir@   semr   r   medianc                 2    t        |ddgdz  d      j                  d|i      }|j                  d      d   j                   fd      j                  |      } t	        |j                  d      d                }t        j                  ||       y )	Nrt   ru   r   r   ra   r   c                 *     t        |             S r  ri   )r   r   rh   s    r   r   z'test_multifunc_skipna.<locals>.<lambda>  s    )D)8 r    rg   )r   r=   r6   r>   ri   r;   r<   )r   r   r   r  rh   ro   rL   rM   s   `   `   r   test_multifunc_skipnar    s    x 
:>	


 feU^  	

5% 	8	9		 
 5WRZZ&u-t4FCF68,r    c                  P   t         j                  j                  d      j                  d      } t         j                  | d d d<   t        |       }t         j                  j                  d      j                  ddd      j                  t              }t         j                  |d d d<   |j                  |      j                         }|j                  |      j                  t         j                        }t        j                  ||       t        t         j                  j                  d      j                  d            }|j                  |      j                  t         j                        }|j                  |      j                         }t        j                  ||       y )Nr     r   2   size   )r  r   )r0   r2   r3   standard_normalrx   r   integersr=   r   r6   r  r:   	nanmedianr;   rm   )arrro   labelsrM   rp   rsxps          r   test_cython_medianr+    s)   
))


"
2
24
8CvvC!H	3BYY""1%..q"4.@GGNF66F4R4LZZ&&(F
**V

 
 
.C&#&	299((+;;IF	GB	F						*B	F		"	"	$B"b!r    c                 v   t        t        j                  j                  d      j	                  ddd            }t        ddd      }t        j                  |d   |      }|j                  ||       j                         }|j                  ||       j                  d       }t        j                  ||       y )	Nr   r   ,     7   r   observedc                 "    | j                         S r$   )r  r   s    r   r   z(test_median_empty_bins.<locals>.<lambda>  s     r    )r   r0   r2   r3   r%  r   rC   cutr6   r  r:   r;   rm   )r1  ro   grpsbinsrM   rL   s         r   test_median_empty_binsr6    s    	299((+44QC@	ABB?D66"Q%DZZxZ0779Fzz$z2667KLH&(+r    c                  b   t        g dg dddgz  d      } | j                  d      j                         }d|v sJ | j                  d      j                  d	      }d|v sJ | j                  d      j                         }d|v sJ | j                  d      j                  d	      }d|v sJ y )
N)   r8     r9  r   r   mama)nniissr;  r=  Fr   )r   r6   r   r   )aarM   s     r   test_max_min_non_numericr?    s    	*,a6(lS	TBZZ!!#F6>>ZZ!!u!5F6>>ZZ!!#F6>>ZZ!!u!5F6>>r    c                    t        g dg dg dd      }|j                          | r$t        |j                  j                        dk(  sJ 	 |j                  d      }|dg   j                         }t        j                  g dd	      }t        dg d
i|      }t        j                  ||       |dg   j                         }t        j                  g dd	      }t        dg di|      }t        j                  ||       y )N)r"   r"   r   r   r   )r"   rS   r   rT   F)r^   r_   r   r
  r  rs   r   rt   rv   rW   rc   )r_   r
  r  r   )r^   r   r  )r   _consolidate_inplacer7   _mgrblocksr6   r   rC   rl   r;   rm   r   )using_infer_stringro   r   rM   eirL   s         r   $test_max_min_object_multiple_columnsrF    s    
 
 ,*	

B '93rww~~!#@@q	CBY]]_F	)#	&B#/r:H&(+Y]]_F	)#	&B#/r:H&(+r    c                  L   t        j                  t        g d      d      j                  j                  } t        t        j                  dt        j                  gg d| d      }|j                  dd	      d
   j                         d
   }t        j                  t        ddgd
      d      j                  j                  }t        j                  ||       |j                  d      d
   j                         }d|j                  _        t        j                  ||       y )N)r   r   r   z%Y-%m-%d)format1)r   r"   r"   r   r_   Fas_indexr   r   rc   )rC   r   r	   r   dater   r0   rx   r6   r   r;   r<   r   rd   )datesro   rM   rL   s       r   test_min_date_with_nansrN    s    NN9::b 
 
"&&#rvv.YUK	LBZZeZ,S1557<F~~l+#6zb  68,ZZ_S!%%'FHNN68,r    c                  D   t        dt        g      } t        j                  ddgt        j                        }| j                  |      }|j                  d      }t        ddit        j                        }t        j                  ||d       |j                  d      }t        dt        it        j                        }t        j                  ||d       |j                  d      }t        dt        j                  i      }t        j                  ||d       y )Nr"   r   r   	min_countTcheck_exactr   )r	   r   r0   r}   r   r6   r   r;   r<   r   rx   )r   r`   r   rM   rL   s        r   test_max_inatrT    s    
!T
C
((Aq6
*C	S	BVVaV Fq!fBHH-H68>VVaV Fq$irxx0H68> VVaV Fq"&&k"H68>r    c                  ^   t        dt        dt        dz   g      } | j                  g d      }|j                  d      }t        t        j
                  t        j
                  t        dz   d      }|j                  j                  t              |_        t        j                  ||d       y )Nr"   r   )r"   r   r   r   rP  rW   TrR  )r	   r   r6   r   r0   rx   r   r=   r   r;   r<   )r   r   rM   rL   s       r   test_max_inat_not_all_narV    s     !T1dQh'
(C	\	"BVVaV F "&&RVVq9:H^^**3/HN68>r    r   c                    ddg}t        j                  ddd      }t        ||d      } t        |j	                  d      d   |              }t        j
                  ddgd	      }t        ||d
      }t        j                  ||       y )Nr"   r   2020Yperiodsfreqr   r^   r_   rc   r  )	rC   period_ranger   ri   r6   rl   r	   r;   r<   r   groupsr[  ro   rM   idxrL   s          r   $test_groupby_aggregate_period_columnra    s~     VFoofac:G	g.	/B0WRZZ_S)402F
((Aq6
$CgSs3H68,r    c                    ddg}t        j                  ddd      }t        ||d      } t        |j	                  d      |              }t        j
                  ddgd      }t        d	|i|
      }t        j                  ||       y )Nr"   r   rX  rY  rZ  r   r^   rc   r_   r   )rC   r]  r   ri   r6   rl   r;   rm   r^  s          r   #test_groupby_aggregate_period_framerc  "  s{     VFoofac:G	g.	/B+WRZZ_d+-F
((Aq6
$C#ws3H&(+r    c                     t        g dt        d      t        j                  gdz  d      j	                  t
              } | j                  d      j                         }t        ddgdd	gt        j                  t        j                  gd      j                  d      j	                  t
              }t        j                  ||       t        g dt        d      t        d      d      j	                  t
              } | j                  d      j                         }t        ddgdd	gd
dgd      j                  d      j	                  t
              }t        j                  ||       y )Nr   abcdr   )r`   r   r   r`   rt   ru   r^   r   r   r   )r   listr0   rx   r=   r   r6   r   r   r;   rm   r   r   s      r   #test_aggregate_numeric_object_dtyperg  0  s&    
$d6lRVVHqLQ
fVn  ZZ""$F#Jc
RVVRVV<LM	
 
5		  &(+ 
$d6lE!HM
fVn  ZZ""$F3*sCj1a&IJ	5		 
 &(+r    c                 l   t        dgd      j                  j                         }t        dg|d      }|j	                  d      j                  d| i      }t        ddgit        j                  dgd      	      }|d   j                  |j                        |d<   t        j                  ||       y )
Nr_   categoryr   i  rt   ru   rt   ru   rc   r   )r	   r   
as_orderedr   r6   r:   rC   rl   r=   r   r;   rm   )r   dsro   rM   rL   s        r   %test_aggregate_categorical_lost_indexrm  N  s     
Z	(	,	,	7	7	9B	$b)	*BZZ_  #t-F#uRXXtf3-GHH SM((2HSM&(+r    )r   Int32r   Float32r   c                 t   | dk(  rd}n
| dk(  rd}nd}t        ddg||dz   gd      }|d	   j                  |       |d	<   |j                  d
      }|j                         }|j                  d d j                  d
      }t        j                  ||       |j                         }|j                  dd  j                  d
      }t        j                  ||       |j                  d      }t        d	t        j                  gi|j                  |       }	t        j                  ||	       |j                  d      }
t        j                  |
|	       t        g d|t        j                  |dz   gd      }|d	   j                  |       |d	<   |j                  d
      }|j                         }t        j                  ||       |j                         }t        j                  ||       |j                  d      }t        j                  ||	       |j                  d      }t        j                  ||	       y )Nr   l   .D3 r   r   r   r   r"   )idtsrr  rq  r   rP  r   )r   r   r   d   )r   r=   r6   r   r   r   r;   rm   r   rC   r   r   )r   rr  ro   r   rM   rL   res_maxexpected_maxresult2	expected2res_max2df2gb2result3res_max3result4res_max4s                    r   test_groupby_min_max_nullabler  \  s    	)		1a&R!V5	6B$xu%BtH	D	BVVXFwwr{$$T*H&(+ffhG7712;((.L'<0ffqf!G4"%%/uMI'9-vvv"H(I. 9RQ,?@
ACD	  'CI
++d
CggiG'8,wwyH(L1ggg$G'9-www%H(I.r    c            	      R   t        j                  dgdz  ddg      } t        | t        j                  t	        j
                  dt        j                              d      }|j                  dd	      }|j                         }t        j                  ddg| j                  d
      }t        dt        j                  dt         j                  gd      i|      }t        j                  ||       |j                         }d|j                  d<   t        j                  ||       y )Nr   r   r"   )
categoriesr   rj  rt   Fr0  r   rd   ru   UInt64r   r   )r   r   )rC   Categoricalr   r}   r0   r1   uint64r6   r   CategoricalIndexr   r   r;   rm   r   r   )r   ro   r   resr`  rL   s         r   (test_min_max_nullable_uint64_empty_groupr    s    
..!rq!f
5C	288BIIb		,J#KL	MB	C%	(B
&&(C


q!fCIIC
@C#rxxBEE
(CDCPH#x(
&&(CHMM$#x(r    )r   r   r   r   c                    t        t        j                  dgt        d      d      t        j                  dgddgd      dd      } t	        |j                  d	d
      |              }t        j                  ddgd	d      }t        t        j                  dd gddgd      dd gd|      }t        j                  ||       y )Nrt   ABT)r  orderedr"   r   g?)r   r   valuer   Fr0  ru   )rG   rd   r  )r   r  r   )	r   rC   r  rf  ri   r6   r  r;   rm   )r   ro   rM   r`  rL   s        r    test_groupby_min_max_categoricalr    s     
NNC5T$ZNNNA3Aq64H	

B ?WRZZZ7>@F


C:FD
ICNNAt9!QN4[	
 H &(+r    c           	          |}t        dgddd|      j                  d d } t        |j                  d      |              }t        ddg|t	        j
                  g |d            }t        j                  ||       y )	Nr^   r   r   r   r_   r   r  )rf   r   r   )r   r   ri   r6   rC   rl   r;   rm   )r   string_dtype_no_objectr   ro   rM   rL   s         r   test_min_empty_string_dtyper    sx     #E	#Ss35	A	F	Fr	JB+WRZZ_d+-Fc
%rxx%c/RH &(+r    rQ  test_seriesc                    |dk(  ry | }|dv rd|i}n|dv rd|i}n|dv ri }n||d}|t         j                  }}|dv rd	}|d
k(  r| nd}nd|dv rA|r3|dk(  r.|j                  dk(  r|j                  t         j                  u rd}nd}|dk(  rdnd}n|r|dkD  rt         j                  }n|dk(  rd}t	        dgt         j                  gd|      }	|r|	d   n|	}
t        ||
      }|
j                  |	d         }t        ||      }|dv r6d| d| d}t        j                  t        |      5   ||i | d d d        y |dv r:|r| d }n| d!}t        j                  t        |      5   ||i | d d d        y  ||i |}t        j                  dgd|"      }|s|dk(  r|s|dk(  rd nd}t        ||||#      }nt	        d|i||$      }t        j                  ||       y # 1 sw Y   y xY w# 1 sw Y   y xY w)%Ncorrwith)rb   rk   r   r   r9   r  r@   r  rh   )kurtrQ  )r   nuniquequantiler  r"  )rh   rQ  )rk   rb   r   rb   T)r   r  r"  r"  pyarrowr   r   r"   r   r&   rV   r   r   r   r_   r^   )	r9   r  r  r  r  r  skewr@   r  zdtype 'z' does not support operation ''r+   )r   r   z+ with skipna=True encountered all NA valuesz+ with skipna=False encountered an NA value.r   )r   r   rd   r   )rC   r   storager   r   r   r6   ri   rA   rB   r   r   rl   r	   r;   r   )r  reduction_funcrh   rQ  r  r   r   expected_dtyper   ro   r   argsr   r   rP   rM   r   rd   rL   s                      r   test_string_dtype_all_nar    sX    #"E 	 	 F#	8	#y)	J	J";%*BEENN''5'>VD	7	7 &(*"%%'$N$N,6Ay1}	5	 	#beeW-U	;B "S'bC">37D	RW	BR(F 
 
 w<^<LAN]]9C0 	$D#F#	$	/	/#$$OPC#$$OPC]]:S1 	$D#F#	$T$V$FHHcUE2En.&>V+Ct.^RVWc>2%~VOOFH%'	$	$s   +	G%)	G1%G.1G:c            	      ~   t        g dg dt        t        j                  t        j                  dg      g dd      } | j	                  d      }|dg   j                         }|d   j                         j                         }t        j                  ||       |d   j                         j                         rJ y )N)z-04-23z-05-06z-05-07)z2013-04-23 00:00:00z2013-05-06 00:00:00z2013-05-07 00:00:00OE)zlog080001.logzlog.logxlsx)z
Unnamed: 0DateappFiler  r  )r   r	   r0   rx   r6   r   to_framer;   rm   r   rb   )ro   r   rr  s       r   test_max_nan_bugr    s    	8
 2662664018		

B 
F	B
F8A
6
!!#A!Qy~~##%%%%r    with_nankeysjoejimc           	         d}d}t        dd      }t        t        j                  j	                  d      j                  t        t              |      t        j                  j	                  d      j                  ||      t        j                  j	                  d      j                  d||      d      }|r{|j                  dt        i      }d |j                  d	d d
df<   d |j                  dd ddf<   d |j                  dd ddf<   d |j                  dd ddf<   d |j                  dd ddf<   |j                         }	|j                  |||       }
|
d   j                  |      }|j                  |||       }
|
d   j                  t         j                  |      }|s|j#                  d      }|rt%        j&                  ||d       nt%        j(                  ||d       t%        j(                  ||	       y )Nrs  r   z
2015-08-23)r[  r   r   )r  r  julier  r"   r#  r  r   %   r  r(      r   r   )rK  r   dropnaT)r   F)check_names)r   r   r0   r2   r3   choicerf  r   r%  r=   r   loccopyr6   r  r>   r	   reset_indexr;   r<   rm   )r   r  rK  r  r  nmdaysro   original_dfgrleftrights                r   test_series_groupby_nuniquer  1  s    	A
AlB/D	99((+2243H!L99((+224;YY**1-66q!Q?	

B YY'(#qu"ue|#qu"ue|!%qu"ug~!%qu"ug~!%qu"ug~'')K	D8$	7Bg;f-D	D8$	7BwKfnnV<E!!t!,
tU>
dEu="k*r    c                  N   t        t        d      t        d      t        d      d      } t        t        d      g dg dd      }| j                  dd	
      j                         }t	        j
                  ||       t        d      |_        d|j                  _        |j                  d      }| j                  d      j                         }t	        j
                  ||       | j                  dd i      j                  d      j                  d	      }t	        j
                  ||       t        dgdz  dgdz  dt        d            }d|j                  _        | j                  dd i      j                  d      j                         }t	        j
                  ||       y )Nabbaccabxaccabbacxrs   abc)r"   r   r"   )r"   r"   r   rt   FrJ  rw   r   r  r"   r   )ru   rv   r   )
r   rf  r6   r  r;   rm   r   rd   r   replacery   s      r   test_nuniquer  V  sP   	hd8n4>R	SBtE{KLHZZeZ,446F&(+ %[HNHNN}}S})HZZ_$$&F&(+ ZZd$,,S1999GF&(+ sQwaS1W5T%[IHHNNZZd$,,S199;F&(+r    c                  .   t        g dg dg dg dg dgg d      } | j                  dd	g      d
   j                         }t        j                  | j
                  | j                  g      }t        dgdz  d
|      }t        j                  ||       y )N)rs  r"   Alice)   r   Bob)i,  r   Charlie)ipr   Dan)r.  r   Edith)amountrq  rd   rw   rq  r  rd   r"   r   r   )
r   r6   r  r   from_arraysrq  r  r	   r;   r<   )rG   rM   r   rL   s       r   test_nunique_with_objectr  o  s    	
 )	D \\4*+F3;;=F""DGGT[[#9:EqcAgF%8H68,r    c                      t        dt              } | j                  d      j                         }t        dd      }t	        j
                  ||       y )Nrd   r   r   levelr   )r	   r   r6   r  r;   r<   )rG   rM   rL   s      r   test_nunique_with_empty_seriesr    sC    vV,D\\\"**,F61H68,r    c                     t        t        d      t        d      t        d      gg dd      j                  d      } | j                  t	        j
                  d            d	   j                         }| j                  t	        j
                  d            d	   j                  t        j                        }t        j                  ||       y )
Nz2016-06-28 09:35:35z2016-06-28 16:09:30z2016-06-28 16:46:28)rI  23)r   rG   r   r  )r\  rG   )r   r
   r   r6   rC   Grouperr  r>   r	   r;   r<   testrM   rL   s      r   test_nunique_with_timegrouperr    s     /0/0/0
 $	
	 i 	 \\"**#./7??AF||BJJC01&9??OH68,r    zkey, data, dropna, expected)r   r   r   z
2019-01-01r   r`   rc   r  i  )r   r   r   yr  r  )r   r   r   r   r  c                     t        | |d      }|j                  dg      d   j                  |      }t        j                  ||       y )N)r`   rG   r`   rG   r  )r   r6   r  r;   r<   )r`   rG   r  rL   ro   rM   s         r   test_nunique_with_NaTr    sG    V 
3-	.BZZ (000?F68,r    c                     t        g dt        j                  dgd            } | j                  g d      j	                         }t        dgt        j                  dg      | j                  	      }t        j                  ||       y )
N)r"   r   r   rt   level_0rc   rw   rX   r   r   )r   rf   )
r   rC   rl   r6   r  r0   r}   rf   r;   rm   r  s      r   )test_nunique_preserves_column_level_namesr    s`    Y#Y(GHD\\)$,,.F!BHHaSM4<<HH&(+r    c                      t        t        dd      dg      } | j                  g d      d   j                  d      }t	        g dd      }t        j                  ||       y )	Nz
2008-12-31z
2009-01-02rL  rw   )r   r   r"   r  )r   r   r"   rc   )r   r   r6   r?   r	   r;   r<   r   s      r   $test_nunique_transform_with_datetimer    sQ    	:lL9F8	LBZZ	"6*44Y?Fif-H68,r    c                     t        dg      j                  d      }|d d }|j                  ||       }|j                         }| rt        g |d d d      }nt        dg|d      }t	        j
                  ||       y )Nr"   ri  r   r0  r   r   )r	   r=   r6   r  r;   r<   )r1  r   r   r   rM   rL   s         r   test_empty_categoricalr    sw    
!+

Z
(C
bq'C	S8	,BZZ\F"CG7;1#S868,r    c                     t        ddt        j                  dg      } | j                  g d      }|j	                  t
        j                        }|j                  t
        j                        }t        ddt        j                  gt        j                  g d            }t        j                  ||       t        j                  ||       y )NrY   rZ   r[   )r   r"   r   r   r   r"   r   r   )r	   r0   rx   r6   r:   rj   r&   r>   r}   r;   r<   )srH   rM   rv  rL   s        r   test_intercept_builtin_sumr    s    S"&&#&'Aii%G [[&FmmHLL)GsC(0CDH68,7H-r    c           	      B   d}d}t         j                  }t        j                  |||||||gd      }t	        g d|d      }|j                  d      j                  |       }| d	k(  rTt	        d
t        j                  g dd      it        j                  g dd            }t        j                  ||       y t	        d
t        j                  t        j                  gdz  d      it        j                  g dd            }t        j                  ||       y )NTFr   r   )r"   r"   r   r   r   r   r"   rj  rt   rP  r   ru   )r   r   r   r   rW   rc   r   r   )r0   rx   rC   r}   r   r6   r&   rl   r;   rm   r   )rQ  r_   r^   nadfgro   rM   rL   s           r   !test_groupby_sum_mincount_booleanr    s    AA	B
((Aq"b!Q*)
<C	.S9	:BZZ_  9 5FA~"((9G45((93/
 	fh/"((BEE7Q;g67((93/
 	fh/r    c                     t        g dg dg ddd      } | j                  d      }t        j                  g ddd      }|d   j	                  d	      }t        t        j                  gd
z  d|d      }t        j                  ||       |j	                  d	      }t        t        j                  gd
z  t        j                  gd
z  dd|      }t        j                  ||       y )Nr  r   r   r   r^   r   r_   r   rP  r   )r   r   rd   )r_   r   )r   r   )
r   r6   rC   rl   r&   r	   r   r;   r<   rm   )ro   rH   r`  rM   rL   s        r   0test_groupby_sum_below_mincount_nullable_integerr    s    	C7	SBjjoG
((93g
6CS\*Fruugk#FH68,[[1[%Fw{"%%1=WTWXH&(+r    c                     t        g dt        j                  d      t        j                  d      t        j                  d      t        j                  gd      } t        j                  d      j	                  d      }| j                  d	      }|j                         }t        d
||git        j                  ddgd	            }t        j                  ||       |d
   j                         }t        j                  ||d
          |d
   j                  d      }t        |t        j                  gdd
|j                        }t        j                  ||       y )N)r"   r"   r   r   1D2D3Dr   r   )r  usr^   r_   r"   r   rc   r   rP  zm8[us])r   rd   r   )r   rC   	TimedeltaNaTas_unitr6   r&   rl   r;   rm   r<   r	   r   )ro   td3r   r  rL   s        r   #test_groupby_sum_timedelta_with_natr    s	   	,,t$bll4&8",,t:LbffU	

B ,,A

&
&t
,C	CB
&&(C#Sz*"((Aq62LMH#x(
S'++-C3.
S'+++
"CsBFFm8#X^^TH3)r    )int8int16r   r   r   r   r  zmethod,dataro   r   r   r   )ro   out_typec                    t        ddddddddddddg      }|j                  j                  |       |d<   d|vrg |d<   d|v r|d   }n| }|d	   }t        |      }|j                  j                  |      |d<   |j                  d
d       |j	                  d
      } t        ||      |d    }t        j                  ||       y )Nr"   r   r   r   r   r_   r  r  ro   r^   T)inplace)r   r_   r=   r   r6   ri   r;   rm   )	r   r   rG   ro   r  rp   df_outgrpdts	            r   %test_groupby_non_arithmetic_agg_typesr  3  s     
q	+11-=QQ?OP
B ddkk% BsGTVT
#
t*Cs^F((//(+F3K
S$'::c?DftF|,A!V$r    c                  "    ddl m}  || ddi|S )Nr   )r  ddofr"   )scipy.statsr  )r  r   r  s      r   	scipy_semr  [  s    '1'''r    z	op,targopr9   r&   c                      | j                   d   S )Nr   r   r   s    r   r   r   l  s    AFF1I r    c                      | j                   d   S )Nr  r  r   s    r   r   r   m  s    166": r    scipy)marksc                    t        t        j                  j                  d      j	                  d            }t        j                  j                  d      j                  ddd      j                  t              } t        |j                  |      |              }| dv rdddni } |j                  |      j                  |fi |}t        j                  ||       y )	Nr   r  r   r   r!  )r@   r  r"   )r  axis)r   r0   r2   r3   r$  r%  r=   r   ri   r6   r:   r;   rm   )optargopro   r(  rM   r   rL   s          r   test_ops_generalr  a  s    $ 
299((+;;DA	BBYY""1%..q"4.@GGNF,WRZZ',.F')^';a#F%rzz&!%%f77H&(+r    r   )	r"   r"   r"   r   r   r   r   r   r   )r"   r"   r   r   r   r   )r"   r   r"   r   r"   r   function)r9   r  r  c                 "   |dk(  rdnd}t        j                  |gdz  t              }t        j                  g ddd	      }t        d
|i|      j                  d      }t        | d      j                  d      } t        ||             }t        j                  ||       |j                  |      }t        j                  ||       |j                  |g      }t        j                  d
|fg      |_        t        j                  ||       y )Nr  g      ?g      ?r   r   rW   r^   r   r   r_   r   r   )r0   r}   r   rC   rl   r   r=   r6   ri   r;   rm   r:   r   from_tuplesrf   )r   r  outputr'  r`  rL   r_  rM   s           r   ,test_apply_to_nullable_integer_returns_floatr  |  s     %S3F
((F8a<u
-C
((93g
6C#s3/66yAHvW-55c:F&WVX&(F&(+ZZ!F&(+ZZ
#F!--X.?@H&(+r    r  )r&   r  r   r   r  r9   r  r  r@   r  r  c                     t        dg      }|j                  d|      } dv ra t        |             }|j                  d      j                   fd      }|r|j	                         }t        j                  ||       y  t        |              }|j                  d      j                   fd      }|r|j	                         }t        j                  ||       y )Nr   )r  r   )r  r  r&   r9   rg   r  c                 *     t        |             S r  r  )r  r  rh   s    r   r   z3test_regression_allowlist_methods.<locals>.<lambda>  s    .'!R.PV:W r    c                 &     t        |              S r$   r  )r  r  s    r   r   z3test_regression_allowlist_methods.<locals>.<lambda>  s    .'!R.:J r    )r   r6   ri   r>   r   r;   rm   )r  rh   r   framerH   rM   rL   s   ``     r   !test_regression_allowlist_methodsr    s    ( qcNEmm!$m/G	,,%"%V4==q=)//0WX**,H
fh/%"%'==q=)//0JK**,H
fh/r    c                  (   ddgddgddgddgddgddgddgdd	gdd
gddgddgddgddgddgg} t        | ddgd      }|j                  dg      j                         j                         }t        dgdgdd      }t	        j
                  ||       y )Nr"   r8  )   r#  r  r(         r   r   +   r   /   r  X   rt   ru   r   )rf   r   l   N+R@rj  r   )r   r6   r  r  r;   rm   )rG   ro   rM   rL   s       r   "test_groupby_prod_with_int64_dtyper!    s     
B	
B	
B	
B	
A	
B	
B	
A	
A	
B	
A	
B	
B	
BD  
4#s7	;BZZ##%113Fs*<)=>gNH&(+r    c                     t        j                  ddd      } t        |       }|d d dxx   dz  cc<   |j                  d      j	                         }|t        d      z   |d	<   |t        dd
      z   |d<   t         j                  |j                  d<   |j                  t        t        d            dz        }|j                         }t        j                  d      }t        j                  d      }t        |dz  ||||gt        j                  d            }t        |||d      }t!        j"                  ||       y )Nz1 Dayi'  ns)r[  unitr   r   rt   r   ru   UTC)tzrv   r  i  z2887 days 11:21:02.326710176z2886 days 00:42:34.664668096r   rs   )rC   timedelta_ranger	   r  r  r
   r  r   r6   rf  r   r@   r  r0   r1   r   r;   rm   )	tdir   ro   r   rM   td1td4exp_serrL   s	            r   test_groupby_std_datetimeliker,    s	   


We$
?C
+C!HMH	c				!BIaL BsGIaE**BsG&&BGGBK	DqNT)	*BVVXF ,,5
6C
,,5
6CcAgsCc2"))A,GGwW7CDH&(+r    c                  4   t        t        d      t        d      d      } d}t        j                  t        |      5  | j                  dg      j                  dg       d d d        t        j                  t        |      5  | j                  dg      j                  d       d d d        t        j                  t        |      5  | j                  dg      j                  d	       d d d        y # 1 sw Y   xY w# 1 sw Y   \xY w# 1 sw Y   y xY w)
Nr   rj  z(numeric_only accepts only Boolean valuesr+   rt   ru   Truer   r"   )r   r   rA   rB   r   r6   r9   )ro   rP   s     r   %test_mean_numeric_only_validates_boolr/    s     
qa1	2B
4C	z	- &


C5u%& 
z	- 4


C5F34 
z	- /


C5A./ /& &4 4/ /s#   #C6#D
#D6C?DD)prj   datetimer   stringr   numpyr0   rA   pandas._libs.tslibsr   pandas.core.dtypes.commonr   pandas.core.dtypes.missingr   pandasrC   r   r   r	   r
   r   r   pandas._testing_testingr;   pandas.tests.groupbyr   pandas.utilr   tdmarkparametrizerQ   rx   rq   rz   r   r   r   r}   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r+  r6  r?  rF  rN  rT  rV  ra  rc  rg  strrm  r  r  r  r  r  r  slowr  r  r  r  r  rl   rL  r  r  r  r  r  r  r  r  r  r  r9   r  r@   r  r&   r  r   r   r"  param
skip_if_nor  r  r  r!  r,  r/  r   r    r   <module>rB     sV     "   $ 2 9    8 . "JK-+ L-+` 
	 $,%$,"
,, 
	ruu	u	ruud	ruue

-

- % BHHdV4(BHHbeeWI.		
 BHHbeeWI.BHHdV4(		
 BHHbeeWI.BHHbeeWI.		
 BHHbeeWI.BHHbeeWI.		
':
,;:
, "AB& C& %	'	266"D)	&	rvv&.	&&C& 8 45, 6,( 8 45!, 6!,H 	aVA1a&IJ	aVA1a&IJ $7, 8,@ 
 2323	
 	/	 #KL, M	,& & 12, 3,:P- !
Q1aAq!	,iC
Qq!Q1a	+Y	B
Qq!Q1a	+Wi@
Q1aAq!	,.?ARSBNN FF         !	
6-76-& 
Q1aAq!	,i8
Qq!Q1a	+Y7
Qq!Q1a	+W5
Q1aAq!	,.?@	--"-( 'v	!Q2661aAr15y)Lv	!RAq"%%Aq!4iKv 
!Q2q!QBEE15wHv 
"&&B	95	v
 
"%%2y)4v 
"%%2w0v 
B1bffaAq!4iKv 
Aq"aAr1bee4iKv 
B1aQq!4gyIv 
2y)4v 
"i3v 
"gy1v 
Aq"aAr26615y)Lv 
B1aQq!4iKv 
Aq"aAr1bee4gyIv  
2y)4!v" 
"i3#v$ 
"gy1%v& 
B1aQ15y)L'v( 
Aq"aAr255!4iK)v* 
B1aQ1bee4gyI+v, 
2y)4-v. 
"i3/v0 
"gy11v2 
B1aQ15y)L3v4 
Aq"aAr255!4iK5v6 
B1aQ1bee4gwG7v: 2661aAq!Q/		
9vF BNN FF         #	
Evj 
2y)4kvl 
"i3mvn 
"gw/ovp 
B1aQ15y)Lqvr 
Aq"aAr255!4iKsvt 
B1aQ1bee4gwGuvx 2661aAq!Q/		
wvD BNN FF         #	
Cvh 
2y)4ivj 
"i3kvl 
"gw/mvn 
Ar1aB2661a8)YOovp 
Aq!RAq"beeQ7INqvr 
Ar1aB1a7)Lsvv 2661aAq!Q/		
uvB BNN FF         #	
Avf 
BFF8b=)Y7gvh 
BEE7R<I6ivj 
BEE7R<)4kvyt-uyt-&"$,",<-$?(? %0
- 1
- %0
, 1
,,< %0
, 
, 1
, "UV,/ W,/^)" !@A, B,, %0, 1, q!f-u6X& 7 .X&v&( dE]35'E5>!:;+ < 4 +D,2-&--" ! |$bffi.EFA3hbhhu59G		
 RWWT1a "&&'"''$1*=>A3hbhhu59G		
 &a#a#a# Aq63*5!AO	
 &a#a#a# Aq63*5!AO	
3%(R-S(R-,-
-
. q"g.0 /0,,*0 P 	4*!!,<=>?	$qq)+;<=>	aa(*:;<=	aa(*:;<=	*!!,<=7ST	%	%6( 		299							%&	%&	"''UI]R]]7-CD",#",  -RUUAq"%%Aruua8	
 !'9:	 %>?, @	,(  0! 0.,0,6/r    