+
    xȇiC+                        ^ RI t^ RIt^ RIHt ^ RIHtHtH	t	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ]P&                  P)                  RRR.4       ! R	 R
4      4       tR t]P&                  P)                  RRR.4      R 4       t]P&                  P)                  R]P0                  ]P2                  ]P4                  ]P6                  .4      ]P&                  P)                  R]]P8                  3]]P:                  3.4      R 4       4       tR tR t R t!R t"R t#]P&                  P)                  R]PH                  .]PH                  .]PH                  ..]PH                  .]PH                  ..3]PH                  .]PH                  .]PH                  ) ..]PH                  .]PJ                  ..3]PH                  .]PH                  ) .]PH                  ..]PH                  .]PJ                  ..3]PH                  .]PH                  ) .]PH                  ) ..]PH                  .]PH                  ) ..3.4      R 4       t&]P&                  P)                  R]PN                  ! ]P6                  4      PP                  ]PH                  ..3]PN                  ! ]P6                  4      PR                  ]PH                  ) ..3]PT                  ! ]PN                  ! ]P6                  4      PR                  ]PN                  ! ]P6                  4      PP                  R,          ,           4      ]+! ]PH                  ) ]PH                  4      ..3]PT                  ! ]PN                  ! ]P6                  4      PP                  ]PN                  ! ]P6                  4      PR                  R,          ,           4      ]+! ]PH                  ]PH                  ) 4      ..3]PT                  ! ]PN                  ! ]P6                  4      PP                  ]PN                  ! ]P6                  4      PP                  R,          ,           4      ]+! ]PH                  ]PH                  4      ..3]PT                  ! ]PN                  ! ]P6                  4      PR                  ]PN                  ! ]P6                  4      PR                  R,          ,           4      ]+! ]PH                  ) ]PH                  ) 4      ..3]PT                  ! R]PN                  ! ]P6                  4      PR                  R,          ,           4      ]+! R]PH                  ) 4      ..3]PT                  ! ]PN                  ! ]P6                  4      PP                  R,           4      ]+! ]PH                  R4      ..3.4      R 4       t,R# )    N)groupby)group_cumprodgroup_cumsum
group_mean	group_sum	group_var)ensure_platform_int)isnazdtype, rtolfloat32float64c                   >   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )TestGroupVarc                   \         P                  P                  ^4      p\         P                  \         P                  ! R	4      ,          P                  V4      p\         P                  ! ^RR7      p^
VP                  R
4      P                  V4      ,          p\         P                  ! \         P                  ! ^4      R4      P                  R4      p\         P                  ! V4      P                  RRR7      P                  ^^R7      ^,          R\         P                  3,          pV^,           p	\        WEWg4       \         P                  ! WHV4      '       g   Q h\        P                   ! WY4       R# )   int64dtypeintpForder)axisddofNNNN      )   r   )   )r   r   )nprandomdefault_rngnanonesastypezerostilearangesqueezereshapestdnewaxisr   allclosetmassert_numpy_array_equal
selfr   rtolprngoutcountsvalueslabelsexpected_outexpected_countss
   &&&       t/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/groupby/test_libgroupby.pytest_group_var_generic_1d&TestGroupVar.test_group_var_generic_1d   s   yy$$Q'vv'//6!7+dkk'*11%881t,33F; JJv&&vS&9==11=MQRR
RZZ- !1*#v.{{3d3333
##F<    c                X   \         P                  P                  ^4      p\         P                  \         P                  ! R4      ,          P                  V4      p\         P                  ! ^RR7      p^
VP                  R4      P                  V4      ,          p\         P                  ! ^RR7      p\         P                  ! VP                  ^R7      ^,          ..4      pV^,           p	\        WEWg4       \         P                  ! WHV4      '       g   Q h\        P                  ! WY4       R# )r   r   r   r   )r   Nr   r   r   )r    r!   r"   r#   r$   r%   r&   arrayr+   r   r-   r.   r/   r0   s
   &&&       r:   %test_group_var_generic_1d_flat_labels2TestGroupVar.test_group_var_generic_1d_flat_labels&   s    yy$$Q'vv'//6!7+dkk&)0077!6*xx&**!*"4"9!: ;< 1*#v.{{3d3333
##F<r=   c                   \         P                  P                  ^4      p\         P                  \         P                  ! R4      ,          P                  V4      p\         P                  ! ^RR7      p^
VP                  R4      P                  V4      ,          p\         P                  ! \         P                  ! ^4      R4      P                  R4      p\         P                  ! VP                  ^^^4      ^^ R7      ^,          pV^,           p	\        WEWg4       \         P                  ! WHV4      '       g   Q h\        P                  ! WY4       R# )	r   r   r   r   r   r   Nr   r   
   r   r   )r    r!   r"   r#   r$   r%   r&   r'   r(   r+   r*   r   r-   r.   r/   r0   s
   &&&       r:   $test_group_var_generic_2d_all_finite1TestGroupVar.test_group_var_generic_2d_all_finite6   s    yy$$Q'vv'//6!7+dkk'*11%881t,33F;vvfnnQ15AAF!K 1*#v.{{3d3333
##F<r=   c                l   \         P                  P                  ^4      p\         P                  \         P                  ! R
4      ,          P                  V4      p\         P                  ! ^RR7      p^
VP                  R4      P                  V4      ,          p\         P                  VR&   \         P                  ! \         P                  ! ^4      R4      P                  R4      p\         P                  ! VR,          P                  ^^RR7      P                  ^^R7      ^,          \         P                  \         P                  ! ^4      ,          .4      P                  P                  V4      pV^,           p	\        WEWg4       \        P                  ! WHRR7       \        P                   ! WY4       R	# )r   r   r   r   r   r   rD   gƠ>r2   NrE   rF   )r   r   rH   r   r   )r    r!   r"   r#   r$   r%   r&   r'   r(   vstackr*   r+   Tr   r.   assert_almost_equalr/   r0   s
   &&&       r:   "test_group_var_generic_2d_some_nan/TestGroupVar.test_group_var_generic_2d_some_nanE   s/   yy$$Q'vv'//6!7+dkk'*11%88vvt1t,33F;yyt$$Q$599qq9IQN#

 !FF5M 	 !1*#v.
sw?
##F<r=   c                   \         P                  ! \         P                  ..VR 7      p\         P                  ! ^ .RR 7      pR\         P                  ! RVR 7      ,          p\         P                  ! ^RR 7      p\        W4WV4       V^ ,          ^8X  g   Q hVR,          ^ 8  g   Q h\        P                  ! VR,          R4       R# )r   r   gUUUժ?r   g        N)r   r   r   r   )r    r@   r#   r$   r&   r   r.   rP   )r1   r   r2   r4   r5   r6   r7   s   &&&    r:   test_group_var_constant$TestGroupVar.test_group_var_constantZ   s     hhz/1#W-"RWWV5%AA!6*#v.ayA~~4yA~~
s4y#.r=    N)__name__
__module____qualname____firstlineno__r;   rA   rI   rQ   rU   __static_attributes____classdictcell__)__classdict__s   @r:   r   r      s#     ="= ==*/ /r=   r   c                     \         P                  p \         P                  P                  ^4      p\         P                  ! \         P
                  ..V R7      p\         P                  ! ^ .RR7      pVP                  R4      R	,           P                  V 4      p\         P                  ! RRR7      p\        W#WE4       V^ ,          R8X  g   Q h\        P                  ! VR
,          RRR7       R# )r   r   r   r   gMb@?rL   N@B )r`   r   l    J)rT   gUUUUUU?)r    r   r!   r"   r@   r#   r%   r&   r   r.   rP   )r   r3   r4   r5   r6   r7   s         r:   test_group_var_large_inputsra   i   s    JJE99  #D
((RVVH:U
+CXXqc)Fkk*%.66u=FXXe6*Fc6*!93t9hV<r=   r   c           
         \         P                  ! \         P                  P                  ^4      P	                  ^4      V R7      p\         P                  ! . RO4      p\         P
                  ! RV 4      p\         P
                  ! \        V4      \         P                  R7      p\        \         P                  ! \         P                  ! ^4      \         P                  ! \         P                  ^ V3,          4      4      4      p\        P                  pV! W4VR	,          V4       R p\         P                  ! V! VR,          4      V! VR,          4      V! VR,          4      .4      p\        P                   ! W84       \        P"                  ! V\         P                  ! . R
O\         P                  R7      4       \         P$                  VR&   V! W4VR	,          V4       \         P$                  V^ &   \        P                   ! W84       R# )r   r   Nc                     \        V 4      P                  4       '       d&   \        P                  ! \        P                  ^4      # V ^ ,          V P                  4       V P                  4       V R,          .# )   )r
   allr    repeatr#   maxmin)groups   &r:   _ohlctest_group_ohlc.<locals>._ohlc   sK    ;??99RVVQ''a%))+uyy{E"I>>r=   :N   N:rm      N:rn   NN)rm   rn      )r   rd   r   N)rm   rm      )r    r@   r!   r"   standard_normalr&   lenr   r	   rg   r(   diffr_
libgroupby
group_ohlcr.   rP   r/   r#   )	r   objbinsr4   r5   r7   funcrk   expecteds	   &        r:   test_group_ohlcr|   x   sI   
((299((+;;B?u
MC88K D
((65
!CXXc#hbhh/F 299Q<q$w9P!QRF  Dc'lF+?
 xxs2ws4y)95S?KLH3)"(((KLffCGc'lF+&&HQK3)r=   zpd_op, np_opc                 *   R p\         P                  ! ^.^.^.^..V R7      p\         P                  ! V4      p\         P                  ! . RO\         P                  R7      p^pV! WTWgV4       \        P
                  ! V! V4      VR,          R R7       R# )Fr   )check_dtypeN)r   r   r   r   rM   )r    r@   
zeros_liker   r.   r/   )r   pd_opnp_opis_datetimelikedataanswerr7   ngroupss   &&&     r:   test_cython_group_transformr      sw     O88aS1#sQC(6D]]4 FXXl"''2FG	&9dVD\uMr=   c            
      0   R p \         P                  ! . RO\         P                  R7      p^p\         P                  ! ^.^.^.\         P                  .^..RR7      p\         P                  ! V4      pVP                  \         P                  4       \        WCWV 4       \         P                  ! ^^^\         P                  ^.RR7      p\        P                  ! VR	,          V4       \         P                  ! V4      pVP                  \         P                  4       \        WCWV 4       \         P                  ! ^^^\         P                  ^
.RR7      p\        P                  ! VR	,          V4       Rp \         P                  ! \         P                  ! ^R4      .^,          RR7      R
,          p\         P                  ! VRR7      p\        WCP                  R4      WV 4       \         P                  ! \         P                  ! ^R4      \         P                  ! ^R4      \         P                  ! ^R4      \         P                  ! ^R4      \         P                  ! ^R4      .4      p\        P                  ! VR	,          P                  R4      V4       R# )Fr   r   Tnsm8[ns]Nr   )r   r   r   r   r   rM   rp   )r    r@   r   r#   r   fillr   r.   r/   r   timedelta64view)r   r7   r   r   actualr{   s         r:   !test_cython_group_transform_algosr      s   O XXoRWW5FG88aS1#sRVVHqc2)DD]]4 F
KK&AxxAq"&&"-Y?Hth7]]4 F
KKv@xxAq"&&"-Y?Hth7 O88R^^At,-1B7KD]]4w/F7+VoNxxNN1d#NN1d#NN1d#NN1d#NN1d#	
H t 1 1( ;XFr=   c                  H   \         P                  ! RRR7      p \         P                  ! ^ .RR7      p\         P                  ! \         P                  ! ^R4      \         P                  ! ^R4      \         P                  ! R4      .RR7      R,          P	                  R4      P                  R4      p\         P                  ! \        V4      \         P                  R7      p\        WW#R	R
7       \        P                  ! V R,          \         P                  ! ^.RR7      4       R# )r   r   shaper   r   r   r   NaTr   NTr   r?   rp   rM   )r    r&   r@   r   r   r%   rs   r   r   r.   r/   r   r5   r   r7   s       r:   #test_cython_group_mean_datetimeliker      s    XXF)4FXXqc)F
^^At$bnnQ&=r~~e?TU	
 	 
g			 	 XXc$irww/FvtTBtbhhs).LMr=   c                     \         P                  ! R
RR7      p \         P                  ! ^RR7      p\         P                  ! ^RR7      R,          p\         P                  ! ^\         P                  R7      p\        P                  ! \
        RR7      ;_uu_ 4        \        WW#R^ R	7       RRR4       R#   + '       g   i     R# ; i)r   r   r   r   r   N	min_count)matchT)r   r   r?   rp   )r    r&   r   pytestraisesAssertionErrorr   r   s       r:   &test_cython_group_mean_wrong_min_countr      sz    XXF)4FXXaw'F88AY'0DXXarww'F	~[	9	964QRS 
:	9	9	9s   B44C	c                     \         P                  ! R
RR7      p \         P                  ! ^ .RR7      p\         P                  ! \         P                  ! R4      \         P                  ! R4      .RR7      R,          P	                  R4      P                  R4      p\         P                  ! \        V4      \         P                  R7      p\        WW#RR	7       \        P                  ! V R,          \         P                  ! \         P                  ! \         P                  ! V^ ,          V^,          4      ^4      RR7      4       R# )r   r   r   r   r   r   r   NFr   r?   rp   rM   )r    r&   r@   r   r   r%   rs   r   r   r.   r/   divideaddr   s       r:   :test_cython_group_mean_not_datetimelike_but_has_NaT_valuesr      s    XXF)4FXXqc)F
^^E"BNN5$9:	
 	 
g			 	 XXc$irww/FvtUCtbhhryyQa)A1EYWr=   c            	         \         P                  ! \         P                  \         P                  .\         P                  \         P                  ..R R7      p \         P                  ! ^ ^ .RR7      p\         P                  ! \         P                  R.RR.RR.RR.RR.^\         P                  ..R R7      p\         P                  ! . RO\         P                  R7      p\        WW#RR	7       \         P                  ! \         P                  ^.^\         P                  ..R R7      p\        P                  ! V V4       R
# )r   r   r   g      ?g       @      @g      @g      @Fr   N)r   r   r   r   r   r   )r    r@   r#   infr   r   r.   r/   )r   r5   r   r7   r{   s        r:   /test_cython_group_mean_Inf_at_beginning_and_endr      s    XX'"&&"&&)9:)LFXXq!fG,F88
&&#c
S#Jc
S#JBFFTD XX(8FvtUCxx"&&!q"&&k2)DHr=   zvalues, outc           	         \         P                  ! \         P                  .\         P                  ..R R7      p\         P                  ! ^ ^ .RR7      p\         P                  ! V R R7      p\         P                  ! . RO\         P                  R7      p\	        W#WERRR7       \         P                  ! VR R7      p\
        P                  ! VV4       R# )r   r   r   NFr   )r   r   r   )r    r@   r#   r   r   r.   r/   )r6   r4   r   r5   r   r7   r{   s   &&     r:   .test_cython_group_sum_Inf_at_beginning_and_endr     s     XXx"&&*)<FXXq!fG,F88F),DXXirww/FfdD%Hxx9-Hr=   zvalues, expected_valuesy              ?r   g      "@c           	         \         P                  ! \        ^4       Uu. uF  q .NK  	  up4      p\         P                  ! . RO\         P                  R7      p\         P                  ! ^ .RR7      p\         P                  ! WP                  R7      p\         P
                  ! V4      p\        WuW4RRR7       \        P                  ! Wv4       R# u upi )r   r   r   NFr   )r   r   r   )	r    r@   ranger   r   r   r   r.   r/   )r6   expected_values_r   r7   r5   r{   r   s   &&      r:   test_cython_group_sum_overflowr   .  s    B 88uQx0x!Xx01DXXirww/FXXqc)Fxx||<H]]8$FfdD%H1 1s   C)r   g{Gz?)r   gh㈵>y              @)-numpyr    r   pandas._libsr   rv   pandas._libs.groupbyr   r   r   r   r   pandas.core.dtypes.commonr	   pandasr
   pandas._testing_testingr.   markparametrizer   ra   r|   r   uint64r   r   cumsumcumprodr   r   r   r   r   r   r   r#   r   finforh   ri   
complex128complexr   rW   r=   r:   <module>r      s     .  :   ):<M(NOR/ R/ PR/j= 9i"89* :*6 288RYY

BJJ"OP	ryy!	

#N QN#GLN$T(( 66(RVVHrvvh	'266(RVVH)=>66(RVVHwi	(BFF8bffX*>?66(bffWIx	(BFF8bffX*>?66(bffWIy	)RVVHwi+@A	" 	"**		!	!RVVH:.	"**		!	!bffWI;/MM"((2::.22RXXbjj5I5M5MPR5RRSrvvgrvv&'(	

 MM"((2::.22RXXbjj5I5M5MPR5RRSbffrvvg&'(	

 MM"((2::.22RXXbjj5I5M5MPR5RRSbffbff%&'	

 MM"((2::.22RXXbjj5I5M5MPR5RRSrvvgw'()	

 MM# 4 8 82 ==>cBFF7#$%	

 MM"((2::.22V;<bffc"#$	
/>2?>2r=   