+
    xȇiU                         R t ^ RIHtHtHt ^ RIt^ RIt^ RIHu H	t
 ^ RIt^ RIHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ]P8                  R 4       t]P8                  R 4       t ! R R	4      tR# )
z5
test with the TimeGrouper / grouping with datetimes
)datetime	timedeltatimezoneN)	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestamp
date_rangeoffsets)Grouper)
BinGrouperc                     \        R. ROR\        R^	^^^ 4      \        R^	^^^4      \        R^
^^^ 4      \        R^
^^
^ 4      \        P                  \        R^	^^^ 4      ./4      p V # )z
DataFrame used by groupby_with_truncated_bingrouper, made into
a separate fixture for easier reuse in
test_groupby_apply_timegrouper_with_nat_apply_squeeze
QuantityDate              	   r   )r   r
   pdNaT)dfs    u/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/groupby/test_timegrouper.pyframe_for_truncated_bingrouperr       s     
+$1b!,$1b!,$Ar1-$Ar1-$1b!,
	

B I    c                    T p\        RRR7      pVP                  V4      p\        VP                  P                  4      \        VP                  P
                  4      8w  g   Q hV# )a  
GroupBy object such that gb._grouper is a BinGrouper and
len(gb._grouper.result_index) < len(gb._grouper.group_keys_seq)

Aggregations on this groupby should have

    dti = date_range("2013-09-01", "2013-10-01", freq="5D", name="Date")

As either the index or an index level.
r   5Dkeyfreq)r   groupbylen_grouperresult_indexcodes)r   r   tdggbs   &   r   !groupby_with_truncated_bingrouperr+   7   sU     
(B
f4
(C	CB r{{''(C0A0A,BBBBIr   c                     a  ] tR t^Nt o R t]P                  P                  RRR.4      R 4       tR t	]P                  P                  R. R$O4      R 4       t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t ]P                  PB                  R 4       t"]#PH                  ! R 4      R! 4       t%R"t&V t'R## )%TestGroupByc                j   \        R RP                  4       R. ROR\        R^	^^^ 4      \        R^	^^^4      \        R^
^^^ 4      \        R^
^^
^ 4      \        R^^^^ 4      \        R^	^^^ 4      ./4      pVP                  RR7      pW#3 EF  pVP	                  R.4      p\        RRRRR	VP                  P                  R
7      p\        R V'       d   RM^ R^ /VR7      pVP                  R \        /4      pV'       d   VP                  R R/4      pRVP                  R&   RVP                  R&   RVP                  R&   \        P                  ! . RORR7      VP                  . RO^3&   VP                  R4      P                  4       p\        P                   ! Wv4       VP#                  4       pVP%                  \'        RR7      4      P                  4       p	\        P                   ! W4       VP%                  \'        RR7      4      P                  4       p
\        P                   ! W4       EK  	  R# )BuyerzCarl Carl Carl Carl Joe Carlr   r   r   by2013090120131205r    left)r#   name	inclusiveunit indexstrCarlCarlCarlCarlCarlJoeint64dtyper#   Nr   )    rC   )   rC   )r   rC   )   rD   r   )rC   rD   r   )r   splitr   sort_values	set_indexr   r:   r7   astypeobjectilocnparrayresamplesumtmassert_frame_equal
sort_indexr$   r   )selfusing_infer_stringdf_originaldf_reorderedr   exp_dtiexpectedresult1	df_sortedresult2result3s   &&         r   test_groupby_with_timegrouper)TestGroupBy.test_groupby_with_timegrouperO   s     7==?/T1aQ/T1aQ/T2q"a0T2q"a0T2q"a0T1aQ/
  #..*.=-Bvh'B  XX]]G ! 2":qIH  '89H!#??GU+;<"0HMM$",HMM$#(HMM% +-88Jg+NHMM*a-(kk$'++-G!!'4I''T(:;??AG!!'4jjd!3488:G!!'4C .r   should_sortTFc                z   \        R RP                  4       RRP                  4       R. ROR\        R^^^^ 4      \        R^^^^4      \        R^
^^^ 4      \        R^
^^
^ 4      \        R^^^^ 4      \        R^^^^ 4      ./4      pV'       d   VP                  RRR7      pVP	                  RRR	7      pVP                  \        R
R7      4      pVP                  '       g   Q h\        VP                  \        4      '       g   Q hVP                  p\        V\        4      '       g   Q h\        V4      ^8X  g   Q hR# )BranchzA A A A A Br/   zCarl Mark Carl Joe Joe Carlr   r   r   Fr1   	ascendingdrop6MErB   N)r   r   r      r   r   )r   rF   r   rG   rH   r$   r   
group_keys
isinstancer&   r   groupsdictr%   )rS   r_   r   grj   s   &&   r   %test_groupby_with_timegrouper_methods1TestGroupBy.test_groupby_with_timegrouper_methods   s-   
 ---/6<<>.T1aQ/T1aQ/T2q"a0T2q"a0T2q"a0T2q"a0	
  :?B\\&u\-JJwE*+||||!**j1111&$''''6{ar   c                   \        R RP                  4       RRP                  4       R. ROR\        R^^^^ 4      \        R^^^^4      \        R^
^^^ 4      \        R^
^^
^ 4      \        R^
^^^ 4      \        R^
^^
^ 4      \        R^^^^ 4      \        R^^^^ 4      ./4      P                  R4      pVP	                  RRR7      pW3 EFR  p\        RR	P                  4       R. R OR\        R^^^ ^ 4      \        R^^^ ^ 4      \        R^^^ ^ 4      ./4      P                  RR.4      pR
pVP                  \        RR7      R.4      P                  RR7      p\        P                  ! Wd4       \        RRP                  4       R. R!OR\        R^^^ ^ 4      \        R^^^ ^ 4      \        R^^^ ^ 4      \        R^^^ ^ 4      ./4      P                  RR.4      pVP                  \        RR7      R.4      P                  RR7      p\        P                  ! Wd4       EKU  	  \        R RP                  4       RRP                  4       R. ROR\        R^
^^^ 4      \        R^
^^^4      \        R^
^^^ 4      \        R^
^^
^ 4      \        R^
^^^ 4      \        R^
^^
^ 4      \        R^
^^^ 4      \        R^
^^^ 4      ./4      P                  R4      pVP	                  RRR7      pW3 EF  p\        RRP                  4       R. R"OR\        R^
^^ ^ 4      \        R^
^^ ^ 4      \        R^
^^ ^ 4      \        R^
^^ ^ 4      \        R^
^^ ^ 4      ./4      P                  RR.4      pVP                  \        RR7      R.4      P                  RR7      p\        P                  ! Wd4       VP                  \        RR7      R.4      P                  RR7      p\        RR	P                  4       R. R OR\        R^
^^ ^ 4      \        R^
^^ ^ 4      \        R^
^^ ^ 4      ./4      P                  RR.4      p\        P                  ! Wd4       VP                  4       pVP                  \        RRR7      R.4      P                  RR7      p\        P                  ! Wd4       \        P                  ! \        RR7      ;_uu_ 4        VP                  \        RRR7      R.4      P                  4        RRR4       VP                  R4      pVP                  \        RRR7      R.4      P                  RR7      p\        P                  ! Wd4       VP                  \        R^ R7      R.4      P                  RR7      p\        P                  ! Wd4       \        P                  ! \        RR7      ;_uu_ 4        VP                  \        RRR7      R.4      P                  4        RRR4       VP                  4       pVP                   \"        P$                  ! ^4      ,           VR&   VP                  \        RRR7      R.4      P                  RR7      p\        RR	P                  4       R. R OR\        R^^^ ^ 4      \        R^^^ ^ 4      \        R^^^ ^ 4      ./4      P                  RR.4      p\        P                  ! Wd4       Rp\        P                  ! \        VR7      ;_uu_ 4        VP                  \        RRRR7      R.4      P                  4        RRR4       \        ^..R.\'        \        R^
^^ ^ 4      .\"        P$                  ! 4       RR7      R7      pVP                  \        RR7      4      P                  RR7      p\        P                  ! Wd4       VP                  \        RR7      .4      P                  RR7      p\        P                  ! Wd4       VP                   P)                  ^4      Vn        VP                   P*                  \"        P$                  ! 4       8X  g   Q hVP                  \        RRR7      4      P                  RR7      p\        P                  ! Wd4       VP                  \        RRR7      .4      P                  RR7      p\        P                  ! Wd4       EK  	  R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i)#ra   zA A A A A A A Br/   z$Carl Mark Carl Carl Joe Joe Joe Carlr   r   r   Frb   zCarl Joe Markz!The default value of numeric_onlyYErB   T)numeric_onlyzCarl Mark Carl Joe6MSzCarl Joe Mark Carl Joe1D1MEr#   r"   z#'The grouper name foo is not found')matchfooN)r#   levelzThe level foo is not validz2The Grouper cannot specify both a key and a level!)r#   r"   rx   r#   r5   columnsr:   )r   r   r   r   rg   r   r   r   )
   r   r   )r   r   r   r   )rD   rg   r      r|   )r   rF   r   rH   rG   r$   r   rO   rP   rQ   reset_indexpytestraisesKeyError
ValueErrorcopyr:   r   MonthEndr   shiftr#   )rS   rU   rZ   r   rX   msgresults   &      r    test_timegrouper_with_reg_groups,TestGroupBy.test_timegrouper_with_reg_groups   s     +113?EEG4T1aQ/T1aQ/T2q"a0T2q"a0T2q"a0T2q"a0T2q"a0T2q"a0		
  )F
! 	$  ++zU+K	*B _224 r2q!4 r2q!4 r2q!4
 i)*  6CZZd!3W =>BBPTBUF!!&3 1779 q!Q2 q!Q2 q!Q2 q!Q2		 i)*  ZZe!4g >?CCQUCVF!!&3= +@  +113?EEG4T2q"a0T2q"a0T2q"a0T2q"a0T2q"a0T2q"a0T2q"a0T2q"a0		
  )F
! 	$  ++zU+K	*B 5;;= 0 r1a3 r1a3 r1a3 r1a3 r1a3
 i)*  ZZd!3W =>BBPTBUF!!&3ZZe!4g >?CCQUCVF _224 r2q!4 r2q!4 r2q!4
 i)*  !!&3 !BZZe!@' JKOO! P F !!&3x/TUU

GE:GDEIIK V f%BZZe6!BG LMQQ! R F !!&3ZZe1!=w GHLL! M F !!&3z1MNN

Ge<gFGKKM O BG$4$4Q$77BvJZZe!@' JKOO! P F !_224 r2q!4 r2q!4 r2q!4
 i)*  !!&3 GCz55

%V6BGL#% 6 !##dBAq129I9I9KRXH ZZU 3488d8KF!!&3ZZe!4 56:::MF!!&3%^^11!4HN>>&&'*:*:*<<<<ZZU ?@DDRVDWF!!&3ZZe!@ ABFF! G F !!&3Q +N VUU ONN0 655s$   :-b4,-c!.c4ccc-r#   c                   \        R \        P                  ! . RO4      R. R	OR. R
OR. RO/4      P                  R 4      pVP	                  R4      R,          P                  V4      P                  ^R7      P                  4       P                  R R.4      P                  4       P                  R4      pRVn        VP                  4       P	                  \        VR7      R.4      R,          P                  4       p\        P                  ! WC4       VP	                  \        VR7      R.4      R,          P                  4       p\        P                  ! WS4       R# )dateuser_id
whole_costcost1)	min_countr?   rB   N)2012100220121007201301302013020220130305r   20121207r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )i  il  i  i     io  Z   i8  g  i-  r   i!  )      r|   rE   '   r   rC   r   -   "   r   r   )r   r   to_datetimerH   r$   rN   rO   dropnareorder_levelsrR   rI   r5   r   rP   assert_series_equal)rS   r#   r   rX   rY   r[   s   &&    r   %test_timegrouper_with_reg_groups_freq1TestGroupBy.test_timegrouper_with_reg_groups_freq^  s$      ?  FA!#
F )F
G 	L JJy!,/Xd^S1SVX^VY/0Z\VG_ 	 % MMO##W$%7$CD\RVVX 	 	w1**g40)<=lKOOQ
w1r   c                r   \        R RP                  4       R. ROR\        R^	^^^ 4      \        R^	^^^4      \        R^
^^^ 4      \        R^
^^
^ 4      \        R^^^^ 4      \        R^	^^^ 4      ./4      pVP                  RR7      pVP                  . RO,          VP                  ^^.,          VP                  ^.,          .p. ROpW3 Fg  pVP                  \        RRR7      4      p\        WCRR	7       F7  w  rx\        V4      p	VP                  V	4      p
\        P                  ! W4       K9  	  Ki  	  VP                  ^.,          VP                  ^.,          VP                  ^.,          .p. ROpW3 Fm  pVP                  R \        RRR7      .4      p\        WRR	7       F;  w  w  rp\        V4      p	VP                  W34      p
\        P                  ! W4       K=  	  Ko  	  VP                  R4      pVP                  RR7      pVP                  . RO,          VP                  ^^.,          VP                  ^.,          .pW3 Ff  pVP                  \        RR
7      4      p\        WCRR	7       F7  w  rx\        V4      p	VP                  V	4      p
\        P                  ! W4       K9  	  Kh  	  R# )r/   zCarl Joe Joe Carl Joe Carlr   r   r   r0   MEru   T)strictrB   Nr   )rC   r   r   )
2013-09-30
2013-10-31
2013-12-31))r>   r   )Carlr   )r>   r   )r   rF   r   rG   rK   r$   r   zipr
   	get_grouprP   rQ   rH   )rS   rU   rV   expected_listdt_listr   groupedtrX   dtr   g_listbs   &            r   test_timegrouper_get_group&TestGroupBy.test_timegrouper_get_group  s     5;;=/T1aQ/T1aQ/T2q"a0T2q"a0T2q"a0T1aQ/
 #..*.= Y'aV$aS!

 =-Bjjd!?@G"7$Gq\ **2.%%f7  H . aS!aS!aS!

 X-Bjj'7&+I!JKG$'d$K q\ **A73%%f7 %L . "++F3"..*.= Y'aV$aS!
 -Bjjd!34G"7$Gq\ **2.%%f7  H .r   c                   \        R RR.R^
^./4      pVP                  4       p\        P                  ! VR ,          4      VR &   R pVP	                  \        R R7      4      P                  V4      pVP	                  \        RR R7      4      P                  V4      p\        P                  ! VP                  RR	7      VP                  RR	7      4       R
# )r   
10/10/2000
11/10/2000valuec                 F    \        V R ,          P                  4       .R4      # )r   )rO   )r	   rO   xs   &r   sumfunc_seriesMTestGroupBy.test_timegrouper_apply_return_type_series.<locals>.sumfunc_series  s    1W:>>+,h77r   r"   r   ru   Trd   N)
r   r   r   r   r$   r   applyrP   rQ   r~   )rS   r   df_dtr   rX   r   s   &     r   )test_timegrouper_apply_return_type_series5TestGroupBy.test_timegrouper_apply_return_type_series  s     | <gBxPQ	uV}5f	8 ::g&1288HwDf=>DD^T
D)8+?+?T+?+J	
r   c                   \        R RR.R^
^./4      pVP                  4       p\        P                  ! VR ,          4      VR &   R pVP	                  \        R R7      4      P                  V4      pVP	                  \        RR R7      4      P                  V4      p\        P                  ! VP                  RR	7      VP                  RR	7      4       R
# )r   r   r   r   c                 6    V P                   P                  4       # N)r   rO   r   s   &r   sumfunc_valueKTestGroupBy.test_timegrouper_apply_return_type_value.<locals>.sumfunc_value  s    77;;= r   r   r   ru   Trd   N)
r   r   r   r   r$   r   r   rP   r   r~   )rS   r   r   r   rX   r   s   &     r   (test_timegrouper_apply_return_type_value4TestGroupBy.test_timegrouper_apply_return_type_value  s     | <gBxPQ	uV}5f	! ::g&1288GwDf=>DD]S
D)8+?+?T+?+J	
r   c                D   R p\        RRVR7      p\        R\        P                  ! V4      R\        P                  ! V4      /VR7      pVP	                  R 4      pVP
                  p\        \        \        VP                  4       4      4      \        4      '       g   Q hR# )	i  z2012/1/15min)startr#   periodshighlowr9   c                 X    \        V P                  V P                  V P                  4      # r   )r   yearmonthdayr   s   &r   <lambda>?TestGroupBy.test_groupby_groups_datetimeindex.<locals>.<lambda>  s    x'Gr   N)r   r   rL   aranger$   rj   ri   nextiterkeysr   )rS   r   indr   r   rj   s   &     r   !test_groupby_groups_datetimeindex-TestGroupBy.test_groupby_groups_datetimeindex  s~    zHRYYw'		'0BC3
 **GH $tFKKM23X>>>>r   c           	     L   \        R ^RR7      p\        R. ROR. RO/VR7      pVP                  RR7      P                  p. ROpV Uu/ uF  p\	        V4      \        V.RR7      bK  	  pp\        P                  ! W64       VP                  RR7      pV F  pVP                  V4      pVP                  VR3,          VP                  VR3,          ..p\        V.RRVP                  R	7      p	\        V\        R
4      V	R7      p\        P                  ! W64       K  	  R# u upi )z
2015/01/01r   )r   r5   ABr9   rx   r5   D)r5   r#   rA   ABrz   N)r   rD      rg   r   )r      r   r}   r   )z
2015-01-05z
2015-01-04z
2015-01-03z
2015-01-02z
2015-01-01)r   r   r$   rj   r
   r   rP   assert_dict_equalr   locrA   listrQ   )
rS   r:   r   r   datesr   rX   r   dataexpected_indexs
   &         r   "test_groupby_groups_datetimeindex2.TestGroupBy.test_groupby_groups_datetimeindex2
  s   <@_c?C5Q&)00VLQ
LQDIdO]D6??E 	 
 	V.**6**D&&t,FVVD#I&tSy(9:;D*V#U[[N !tDzPH!!&3 
s   !D!c                   . ROp\        R. RORVR\        P                  ! ^RR7      R^^.^,          /4      pVR,          P                  R	 4      VR&   \	        . ROR
RR7      p\        RR.^,          RR7      p\        P                  ! W4.4      p\        R. ROR. RO/VRR.R7      pVP                  RR.4      P                  4       p\        P                  ! Wv4       \	        VRR7      p\        R\        P                  ! ^RR7      R. RO/VR7      p\	        . RORR7      p\        R. ROR. RO/VRR.R7      pVP                  ^ R7      P                  4       p\        P                  ! Wv4       R# )2011-07-19 07:00:00labelar   r   value1r?   r@   value2c                     \        V R R7      # )
US/Pacifictz)r
   )ds   &r   r   BTestGroupBy.test_groupby_groups_datetimeindex_tz.<locals>.<lambda>1  s    	!8Ur   r   )r   r5   r   r:   r{   z
Asia/Tokyor   r9   r   Nr   2011-07-19 08:00:002011-07-19 09:00:00r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rC   r   r   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r}   rD   )r   rL   r   r   r   r   r   from_arraysr$   rO   rP   rQ   )	rS   r   r   exp_idx1exp_idx2exp_idxrX   r   didxs	   &        r   $test_groupby_groups_datetimeindex_tz0TestGroupBy.test_groupby_groups_datetimeindex_tz  s}   
 7E"))AW51a&1*	
 J--.UV:  
 #sag6((()=>)85GHx(
 Z12668
f/ U|4ryy'2H>PQ

  Q
 y(I6x(
 !$((*
f/r   c                    \        ^\        P                  ! R4      3^\        P                  ! R4      3.RR.R7      pVP                  R4      P	                  4       pVR,          ^,          \        R4      8X  g   Q hR# )r   z
2012-07-03z
2012-07-04r   r   )r{   N)r   rL   
datetime64r$   firstr
   )rS   r   r   s   &  r   &test_frame_datetime64_handling_groupby2TestGroupBy.test_frame_datetime64_handling_groupby^  sk    |,-2==3N/OP&M
 C&&(f~a Il$;;;;r   c                   \        R \        ^4      R. ROR. RO/4      pVP                  RRR7      P                  P	                  R 4      p\        \        R	RR
7      \        RRR
7      \        RRR
7      \        RRR
7      \        RRR
7      .R\        R7      p\        P                  ! W#4       RpVP                  R4      P                  P                  V4      p\        P                  ! V4      P                  P                  V4      p\        . RO. RORR7      p\        P                  ! V4      P                  P                  V4      p\        P                  ! W#4       R# )r   r   r   America/ChicagoAmerica/Los_AngelesAmerica/New_YorkF)rh   c                 t    \         P                  ! V 4      P                  P                  V P                  4      # r   )r   r   r   tz_localizer5   r   s   &r   r   9TestGroupBy.test_groupby_multi_timezone.<locals>.<lambda>~  s"    bnnQ'**66qvv>r   z2000-01-28 16:47:00-0600r   z2000-01-29 16:48:00-0600z2000-01-30 16:49:00-0800z2000-01-31 16:50:00-0600z2000-01-01 16:50:00-0500)r5   rA   r:   r5   N)2000-01-28 16:47:002000-01-29 16:48:00z2000-01-30 16:49:002000-01-31 16:50:00z2000-01-01 16:50:00)r  r  r  r  r  )r  r  r  )rC   r   r   )r   ranger$   r   r   r	   r
   rJ   rP   r   r   r   r   r   r  )rS   r   r   rX   r   
res_values
exp_valuess   &      r   test_groupby_multi_timezone'TestGroupBy.test_groupby_multi_timezoneg  s>   q   
( DU388>>>
 49JK49JK49NO49JK49KL 

 	v0ZZ%**44R8

+..::2>Q


 >>*-00<<R@
v0r   c                L   . ROp\        R. RORV Uu. uF  p\        P                  ! VRR7      NK  	  upR\        P                  ! ^RR	7      R
^^.^,          /4      p\        P
                  ! . RORRR7      p\        RR.^,          RR7      p\        P                  ! WE.4      p\        R. ROR
. RO/VRR
.R7      pVP                  RR.4      P                  4       p\        P                  ! W4       \        P
                  ! VRR7      p	\        R\        P                  ! ^RR	7      R
. RO/V	R7      p\        P
                  ! . RORR7      p\        R. ROR
. RO/VRR
.R7      pVP                  ^ R7      P                  4       p\        P                  ! W4       R# u upi )r   r   r   r   periodhrB   r   r?   r@   r   ry   r   r   r9   r   Nr   r   r   r  r  r  r  r  r  )r   r   PeriodrL   r   PeriodIndexr   r   r  r$   rO   rP   rQ   )
rS   r   r   r   r  r	  r
  rX   r   r  s
   &         r   test_groupby_groups_periods'TestGroupBy.test_groupby_groups_periods  s   
 75A5a299QS15A"))AW51a&1*	
 >> 
 #sag6((()=>)85GHx(
 Xw/0446
f/ ~~e#.ryy'2H>PQ

 ..Q
 y(I6x(
 !$((*
f/_ Bs   !F!c                L   \        RR.4      pV^,          P                  R4      V^&   \        V^,          P                  P                  \
        P                  4      '       g   Q hVP                  ^ R7      P                  4       pV^,          P                  p\        VP                  \
        P                  4      '       g   Q hV^,          P                  ^ R7      P                  4       pVP                  p\        VP                  \
        P                  4      '       g   Q hR# )r   zM8[ns]r   N)r        |>c )r   r+  )	r   rI   
issubclassrA   typerL   r  r$   r  )rS   r   r   got_dts   &   r   test_groupby_first_datetime64)TestGroupBy.test_groupby_first_datetime64  s    02JKL1X&1"Q%++**BMM::::!$**,&++r}}5555AQ'--/&++r}}5555r   c                b   \        R \        R4      P                  R4      R\        P                  ! ^4      /4      pVP                  R 4      R ,          P                  R 4      P                  R4      pVP                  R 4      R ,          P                  4       p\        P                  ! W24       R# )r   20130101sr   c                 "    V P                  4       # r   )maxr   s   &r   r   9TestGroupBy.test_groupby_max_datetime64.<locals>.<lambda>  s
    r   zM8[s]N)r   r
   as_unitrL   r   r$   r   rI   r5  rP   r   )rS   r   rX   r   s   &   r   test_groupby_max_datetime64'TestGroupBy.test_groupby_max_datetime64  s     Yz2::3?biiPQlST::c?3'--.?@GGPC%))+
v0r   c                   \        R \        ^4      R\        R4      .^,          /4      pVP                  R 4      R,          P	                  R4      p\        \        R4      .^,          RR7      p\        P                  ! W#4       R# )r   r   z	2000-01-1minr   N)r   r  r
   r$   	transformr	   rP   r   rS   r   r   rX   s   &   r   test_groupby_datetime64_32_bit*TestGroupBy.test_groupby_datetime64_32_bit  sl     U1XsY{-C,Dq,HIJC%//69[12Q6SA
v0r   c                `   \        R \        P                  P                  ^4      P	                  ^ ^^<R7      R\        R^<RRR7      /4      pVP                  R 4      P                  4       R,          pVP                  R 4      R,          P                  4       p\        P                  ! W#4       R# )factor)sizetimez01/01/2000 00:00r3  UTC)r   r#   r   N)
r   rL   randomdefault_rngintegersr   r$   r5  rP   r   )rS   r   df1df2s   &   r   $test_groupby_with_timezone_selection0TestGroupBy.test_groupby_with_timezone_selection  s     "))//2;;Aqr;J
#5rPUV
 jj"&&(0jj"6*..0
s(r   c                D   \         P                  p\        R ^.R\        P                  ! V4      ./4      pVR,          ^ ,          P
                  V8X  g   Q h\        R . RO/4      p\        P                  ! V4      VR&   VR,          ^ ,          P
                  V8X  g   Q hR# )r   r   Nr   r   r   )r   utcr   r   nowtzinfo)rS   rN  r   s   &  r   test_timezone_infoTestGroupBy.test_timezone_info  s     llaS#S(9':;<#wqz  C'''Y'(,,s#3#wqz  C'''r   c                   \        R . RO^,          R\        R^RR7      /4      pVP                  R 4      P                  P	                  4       p\        . R	O\        . ROR R7      RR7      p\        P                  ! W#4       R# )
r   r   rO  r;  )r   r#   r   r  NrM  )r   r   r   )	r   r   r$   r   countr	   r   rP   r   r=  s   &   r   test_datetime_countTestGroupBy.test_datetime_count  sf    )a-*UAE*RS
 C&&,,.)5+EGT
v0r   c                T   \        R \        P                  RRR\        P                  .R\        P                  \        ^R7      \        ^R7      \        ^R7      \        P                  ./4      p\        P
                  ! VP                  4      Vn        RVR&   WP                  P                  4       ,          pVP                  R4      pVP                  R4      p\        P                  ! VP                  4       VP                  4       4       \        P                  ! VP                  4       VP                  4       4       \        P                  ! VP                  4       VP                  4       4       \        P                  ! VP                  4       VP                  4       4       R# )	r   z2015-07-24 10:10z2015-07-25 11:11z2015-07-23 12:12td)daysr   groupN)r   rL   nanr   r   r   r   notnar$   rP   rQ   r5  r;  r  last)rS   df_testdf_refgrouped_testgrouped_refs   &    r   $test_first_last_max_min_on_time_data0TestGroupBy.test_first_last_max_min_on_time_data  s7    FF&&&FF FF1%1%1%FF
$ ^^GJJ/
))+,w/nnW-
koo/1A1A1CD
koo/1A1A1CD
k//1<3E3E3GH
k..0,2C2C2EFr   c                   \        R \        R4      \        P                  \        R4      .R. RO/4      p\	        R RR7      pVP                  V4      R,          P                  4       pWP                  P                  4       ,          P                  V4      R,          P                  4       pVP                  P                  R4      Vn	        \        P                  ! W44       R# )rC  z2016-06-28 09:35:35z2016-06-28 16:46:28r   r%  r!   N)123)r   r
   r   r   r   r$   nuniquerC  notnullr:   
_with_freqrP   r   )rS   testgrouperr   rX   s   &    r   %test_nunique_with_timegrouper_and_nat1TestGroupBy.test_nunique_with_timegrouper_and_nat8  s    34FF34
 	
 f3/g&v.668		))+,44W=fEMMO!2248
v0r   c                6   R . ROR\        . R	ORR7      R. R
O/p\        V4      P                  R4      p\        RR7      pVP	                  V4      pVP                  4       pVP	                  V.4      pVP                  4       p\        P                  ! WE4       R# )locationrC  zdatetime64[ns]r@   r   r   rB   N)shanghaibeijingrq  )z2017-08-09 13:32:23z2017-08-11 23:23:15z2017-08-11 22:23:15rM  )r	   r   rH   r   r$   rT  rP   rQ   )rS   
data_framerl  r   r   rX   s   &     r   !test_scalar_call_versus_list_call-TestGroupBy.test_scalar_call_versus_list_callK  s     ;FU& Y

 z*44V<
s#$$W-$$gY/==?
f/r   c           
     t   ^p\         P                  ! RVRRR7      p\        \        V4      VR7      pVP	                  VP
                  P                  4      P                  4       p\        \        V4      \        \        ^V^,           4      VP                  R7      R7      p\        P                  ! WE4       R# )r   z2018-01MMonth)r   r   r#   r5   r9   r   N)r   period_ranger	   r  r$   r:   r   rO   r   r5   rP   r   )rS   r   r:   period_seriesr   rX   s   &     r   test_grouper_period_index%TestGroupBy.test_grouper_period_index_  s    W3W
 uW~U;&&}':':'@'@AEEG'N%a1(=EJJ"O
 	v0r   c                L   TpVR ,          P                  R 4      pVP                  pVR,          P                  P                  p\	        RRRRVR7      p\
        P                  ! VR.\        V4      ,          .4      p\        . R
OVR R7      p\        P                  ! W84       R	# )r   c                     R \        V 4      /# )rw   )r%   r   s   &r   r   RTestGroupBy.test_groupby_apply_timegrouper_with_nat_dict_returns.<locals>.<lambda>u  s    eSV_r   r   
2013-09-01
2013-10-01r    r#   r5   r7   rw   r  N)r   rC   rC   rC   rC   rC   r   )r   obj_valuesr7   r   r   r  r%   r	   rP   r   )	rS   r+   r*   resr   r7   dtimirX   s	   &&       r   4test_groupby_apply_timegrouper_with_nat_dict_returns@TestGroupBy.test_groupby_apply_timegrouper_with_nat_dict_returnsm  s     /n""#<=VV&z!!&&|$VRVW##S5'CH*<$=>/r
K
s-r   c           	        TpVR ,          P                  R 4      pVP                  pVR,          P                  P                  p\	        RRRRVR7      p\        ^\        P                  \        P                  \        P                  \        P                  \        P                  ^.VP                  R4      R R7      p\        P                  ! W74       R# )	r   c                 j    \        V 4      '       d   V P                  ^ ,          # \        P                  # )rC   )r%   rK   rL   r[  r   s   &r   r   TTestGroupBy.test_groupby_apply_timegrouper_with_nat_scalar_returns.<locals>.<lambda>  s     #a&&QVVAY-Lbff-Lr   r   r  r  r    r  Nr  )r   r  r  r7   r   r	   rL   r[  rj  rP   r   )rS   r+   r*   r  r   r7   r  rX   s   &&      r   6test_groupby_apply_timegrouper_with_nat_scalar_returnsBTestGroupBy.test_groupby_apply_timegrouper_with_nat_scalar_returns~  s    
 /n""#LMVV&z!!&&|$VRVW;..&
 	s-r   c           	        Tp\        R RR7      pVP                  V4      pVP                  ^8X  g   Q hVP                  P                  P
                  ^8X  g   Q hVP                  R 4      p\        \        R4      .VR ,          P                  R R7      p\        . R
O.V\        . RORR7      R7      p\        P                  ! WW4       R	# )r   100YEr!   c                 "    V R ,          ^,          # )r    r   s   &r   r   STestGroupBy.test_groupby_apply_timegrouper_with_nat_apply_squeeze.<locals>.<lambda>  s    :!2r   r   )rA   r5   r   r   r   N)$   rD   rD   r|   r   )rC   r   r   r   r   )r   r$   ngroups_selected_objr:   nlevelsr   r   r
   rA   r   rP   rQ   )rS   r   r   r)   r*   r  r  rX   s   &&      r   5test_groupby_apply_timegrouper_with_nat_apply_squeezeATestGroupBy.test_groupby_apply_timegrouper_with_nat_apply_squeeze  s     , &w/ZZ_ zzQ%%--222 hh23Y|,-RZ5E5EFS/
;

 	c,r   c                ^   \         P                  ! R 4       TpVR,          P                  R R R7      pVR,          P                  R4      p\        P                  ! W44       VR.,          P                  R R R7      pVR.,          P                  R4      p\        P
                  ! WV4       R# )numbar   c                 .    \         P                  ! V 4      # r   rL   nanmeanvaluesr:   s   &&r   r   ITestGroupBy.test_groupby_agg_numba_timegrouper_with_nat.<locals>.<lambda>      "**V"4r   )enginemeanc                 .    \         P                  ! V 4      # r   r  r  s   &&r   r   r    r  r   N)r   importorskip	aggregaterP   r   rQ   )rS   r+   r*   r   rX   	result_dfexpected_dfs   &&     r   +test_groupby_agg_numba_timegrouper_with_nat7TestGroupBy.test_groupby_agg_numba_timegrouper_with_nat  s     	G$ /J))4W * 
 j>++F3
v0
|$..4W / 
	 *&008
i5r   pyarrowc           
     J   \        R . R	O/\        \        R4      \        R4      \        R4      .RR7      R7      pVP                  \	        RR7      4      pVP
                  P                  p\        \        R4      \        R4      .RR7      p\        P                  ! W44       R# )
r   z
2013-01-01z
2013-01-02z&timestamp[ns, America/Denver][pyarrow]r@   r9   r   rB   NrM  )	r   r   r
   r$   r   r&   r'   rP   assert_index_equal)rS   r   r*   r   rX   s   &    r   test_pyarrow_index_retention(TestGroupBy.test_pyarrow_index_retention  s     Y l+l+l+
 ?	
 ZZS)*))|$i&=>:
 	f/r   r  N)r   r   rp   zQE-APR)(__name__
__module____qualname____firstlineno__r]   r   markparametrizerm   r   r   r   r   r   r   r   r  r  r!  r(  r/  r8  r>  rJ  rQ  rU  rb  rm  rt  r{  r  r  r  
single_cpur  rX  
skip_if_nor  __static_attributes____classdictcell__)__classdict__s   @r   r-   r-   N   s    75r [[]T5M:  ; @s4j [[V%@A82 B82t@8D
"
"?4*=0~<01d;0z611)(1 GD1&0(1.".(-4 [[6 6* ]]90 0r   r-   ) __doc__r   r   r   numpyrL   r   pandas.util._test_decoratorsutil_test_decoratorsrX  pandasr   r   r   r   r   r	   r
   r   r   pandas._testing_testingrP   pandas.core.groupby.grouperr   pandas.core.groupby.opsr   fixturer   r+   r-   r  r   r   <module>r     s{       ) ) 	 	 	  / .  ,  ,J0 J0r   