+
    xȇi*              
       2   ^ RI t^ RIt^ RIHt ^ RIHu Ht ^ RI	t
^ RI	HtHt ^ RIHt ]P                   ! ]P"                  ]P$                  ]P&                  ]P(                  RR.. R'OR7      R 4       tR tR	 tR
 tR tR tR tR tR t]P<                  P?                  RRR.4      ]P<                  P?                  R. R(O4      R 4       4       t R t!R t"R t#R t$R t%R t&]P<                  P?                  RRR.4      ]P<                  P?                  R. R)O4      ]P<                  P?                  R. R*O. R+O3. R,O. R-O3. R.O. R+O3.4      R 4       4       4       t']P<                  P?                  RRR.4      R 4       t(]P<                  P?                  RR R!.4      R" 4       t)]PT                  ]P<                  P?                  RRR.4      ]P<                  P?                  R#R]PV                  ! R$4      PX                  3R/.4      R% 4       4       4       t-R& t.R# )0    N)UnsupportedFunctionCall)	DataFrameSeriesInt64Float64)paramsidsc                   V P                   pTpVR8X  d   \        P                  pMVR8X  d   \        P                  p\        P                  ! V4      P
                  R8X  d!   \        P                  ! V4      P                  M\        P                  ! V4      P                  p\        P                  ! V4      P
                  R8X  d!   \        P                  ! V4      P                  M\        P                  ! V4      P                  pWV3# )zN
Fixture of dtypes with min and max values used for testing
cummin and cummax
r   r   i)
paramnpint64float64dtypekindiinfominfinfomax)requestr   np_typemin_valmax_vals   &    t/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/groupby/test_cumulative.pydtypes_for_minmaxr      s     MMEG((	)	** 88G!!S( 	XXg""  88G!!S( 	XXg""  G$$    c                  T   \        R R.^
,          R^/4      p V P                  R 4      R,          P                  4       pV P                  R RR7      R,          P                  R 4      pRVn        \
        P                  ! W4       \        R R.^d,          R^/4      p V R,          P                  \        4      V R&   V P                  R 4      R,          P                  4       pV P                  R RR7      R,          P                  R 4      pRVn        \
        P                  ! W4       R# )keybvalueF
group_keysc                 "    V P                  4       # Ncumprodxs   &r   <lambda>&test_groupby_cumprod.<locals>.<lambda>3   
    AIIKr   c                 "    V P                  4       # r$   r%   r'   s   &r   r)   r*   :   r+   r   N)	r   groupbyr&   applynametmassert_series_equalastypefloat)dfactualexpecteds      r   test_groupby_cumprodr7   .   s    	EC52:w2	3BZZw'//1Fzz%Ez27;AABWXHHM6,	EC53;3	4BW+$$U+BwKZZw'//1Fzz%Ez27;AABWXHHM6,r   c                  X   \        R R.^,          RR/4      p V P                  R 4      R,          P                  4       p\        . R	ORR7      p\        P
                  ! W4       V P                  R RR7      R,          P                  R 4      pRVn        \        P
                  ! W4       R# )
r   r   r    順 r/   Fr!   c                 "    V P                  4       # r$   r%   r'   s   &r   r)   /test_groupby_cumprod_overflow.<locals>.<lambda>J   s
    !))+r   N)r9   l    d(	 l     I5 l      Fx:^ )r   r-   r&   r   r0   r1   r.   r/   )r4   r5   r6   numpy_results       r   test_groupby_cumprod_overflowr>   ?   s    	EC519gw7	8BZZw'//1FMH 6,::e:6w?EEL  L60r   c            	         \        R ^R^\        P                  ^.R. RO/4      p V P                  R 4      P	                  RRR7      p\        R^\        P                  \        P                  .R. RO/4      p\
        P                  ! W4       R# )	ar   cTF)numeric_onlyskipnaN)      g      @)rD   rE   g      @)r   r   nanr-   r&   r0   assert_frame_equalr4   resultr6   s      r   1test_groupby_cumprod_nan_influences_other_columnsrJ   P   sy    	!RVVQ	

B ZZ_$$$u$EF#2662662CEFH&+r   c                    V ^ ,          p\        R. ROR. RO/4      p. R	OpVP                  V4      p\        RV/4      P                  V4      pVP                  R4      P                  4       p\        P
                  ! We4       VP                  RRR7      P                  P                  R 4      P                  4       p\        P
                  ! We4       R# )
r   ABFr!   c                 "    V P                  4       # r$   cumminr'   s   &r   r)   test_cummin.<locals>.<lambda>i   
    r   NrD   rD   rD   rD   rE   rE   rE   rE         rU   rE   rE   rU   rE   rD   rU   rU   rU   rE   rE   rE   rE   rD   )	r   r2   r-   rP   r0   rG   rM   r.   to_frame)r   r   base_dfexpected_minsr4   r6   rI   s   &      r   test_cumminr[   ^   s    a E 6=UVWG,M		B#}-.55e<HZZ_##%F&+ZZZ.00667KLUUWF&+r   c                 v   V ^ ,          pV ^,          p\        R. R	OR. R
O/4      p. ROp\        RV/4      P                  V4      pVP                  V4      pW&P                  ^^.R3&   V^,           VP                  ^^.R3&   W%P                  . ROR3&   V^,           VP                  ^^.R3&   VP                  R4      P	                  4       p\
        P                  ! WuRR7       VP                  RRR7      P                  P                  R 4      P                  4       p\
        P                  ! WuRR7       R# )r   rL   rM   T)check_exactFr!   c                 "    V P                  4       # r$   rO   r'   s   &r   r)   1test_cummin_min_value_for_dtype.<locals>.<lambda>}   
    AHHJr   NrS   rT   rW   rE   rU         )
r   r2   locr-   rP   r0   rG   rM   r.   rX   )r   r   r   rY   rZ   r6   r4   rI   s   &       r   test_cummin_min_value_for_dtypere   m   s   a E"G 6=UVWG,M#}-.55e<H		B!FFAq63;!A+BFFAq63;&-LLs"# '!HLL!QZZ_##%F&=


35
)++112FGPPR  &=r   c                 :   \        R . ROR. RO/4      pVP                  RR/4      p\        P                  VP                  . R	OR3&   \        R\        P                  ^\        P                  ^\        P                  ^\        P                  ^./4      pVP                  R 4      P                  4       p\        P                  ! W24       VP                  R RR7      P                  P                  R 4      P                  4       p\        P                  ! W24       R# )
rL   rM   r3   Fr!   c                 "    V P                  4       # r$   rO   r'   s   &r   r)   0test_cummin_nan_in_some_values.<locals>.<lambda>   rR   r   NrS   rT   r   rE   rV   rb   )r   r2   r   rF   rd   r-   rP   r0   rG   rM   r.   rX   r   rY   r6   rI   s   &   r   test_cummin_nan_in_some_valuesrk      s    6=UVWGnnc7^,G%'VVGKKc!"#2661bffaKLMH__S!((*F&+.00667KLUUW  &+r   c                     \        R ^.R\        P                  ! R.4      /4      p \        \        P                  ! R4      ^ .RR7      pV P	                  R 4      R,          P                  4       p\        P                  ! W4       R# r@   r   2001)indexr/   N)r   pdto_datetimer   r-   rP   r0   r1   r4   r6   rI   s      r   test_cummin_datetimers      d    	C!c2>>6(#;<	=BbnnV,QCcBHZZ_S!((*F8,r   c                      \        R . ROR. RO/4      p V P                  R 4      P                  P                  4       p\	        . RORR7      p\
        P                  ! W4       R# )r@   r   r:   NrD   rE   rD   )rD   rE   rE   )r   r-   r   rP   r   r0   r1   rH   s      r   test_cummin_getattr_seriesrw      K    	CC3	4BZZ_%%'Fic*H6,r   methodrP   cummaxr   UInt64c                    VR 8X  d   \         P                  M\        P                  p\	        R. RORV.^,          /4      pVR,          P                  V4      VR&   VP                  R4      p\	        RV.^,          /VR7      p\        W@4      ! 4       p\        P                  ! WV4       \        VR,          V 4      ! 4       P                  4       p\        P                  ! WV4       R# )r3   rL   rM   r   NrS   )r   rF   rp   NAr   r2   r-   getattrr0   rG   rX   )ry   r   itemrY   groupedr6   rI   s   &&     r   test_cummin_max_all_nan_columnr      s     g%266255D6dVaZHIG3<&&u-GCLooc"G#vz*%8HW%'F(+WS\6*,557F(+r   c                    V ^ ,          p\        R. ROR. RO/4      p. R	OpVP                  V4      p\        RV/4      P                  V4      pVP                  R4      P                  4       p\        P
                  ! We4       VP                  RRR7      P                  P                  R 4      P                  4       p\        P
                  ! We4       R# )
r   rL   rM   Fr!   c                 "    V P                  4       # r$   rz   r'   s   &r   r)   test_cummax.<locals>.<lambda>   rR   r   NrS   rT   rU   rV   rV   rV   rE   rU   rU   rU   )	r   r2   r-   rz   r0   rG   rM   r.   rX   )r   r   rY   expected_maxsr4   r6   rI   s   &      r   test_cummaxr      s    a E 6=UVWG,M		B#}-.55e<HZZ_##%F&+ZZZ.00667KLUUWF&+r   c                    V ^ ,          pV ^,          p\        R. ROR. RO/4      p. R	OpVP                  V4      pW%P                  ^^.R3&   \        RV/4      P                  V4      pW&P                  . R
OR3&   VP                  R4      P	                  4       p\
        P                  ! Wv4       VP                  RRR7      P                  P                  R 4      P                  4       p\
        P                  ! Wv4       R# )r   rL   rM   Fr!   c                 "    V P                  4       # r$   r   r'   s   &r   r)   1test_cummax_min_value_for_dtype.<locals>.<lambda>   r`   r   NrS   rT   r   ra   )
r   r2   rd   r-   rz   r0   rG   rM   r.   rX   )r   r   r   rY   r   r4   r6   rI   s   &       r   test_cummax_min_value_for_dtyper      s    a E"G 6=UVWG,M		B!FFAq63;#}-.55e<H&-LLs"#ZZ_##%F&+


35
)++112FGPPR  &+r   c                 :   \        R . ROR. RO/4      pVP                  RR/4      p\        P                  VP                  . R	OR3&   \        R\        P                  ^\        P                  ^\        P                  ^\        P                  ^./4      pVP                  R 4      P                  4       p\        P                  ! W24       VP                  R RR7      P                  P                  R 4      P                  4       p\        P                  ! W24       R# )
rL   rM   r3   Fr!   c                 "    V P                  4       # r$   r   r'   s   &r   r)   0test_cummax_nan_in_some_values.<locals>.<lambda>   rR   r   NrS   rT   ri   )r   r2   r   rF   rd   r-   rz   r0   rG   rM   r.   rX   rj   s   &   r   test_cummax_nan_in_some_valuesr      s     6=UVWGnnc7^,G%'VVGKKc!"#2661bffaKLMH__S!((*F&+.00667KLUUW  &+r   c                     \        R ^.R\        P                  ! R.4      /4      p \        \        P                  ! R4      ^ .RR7      pV P	                  R 4      R,          P                  4       p\        P                  ! W4       R# rm   )r   rp   rq   r   r-   rz   r0   r1   rr   s      r   test_cummax_datetimer      rt   r   c                      \        R . ROR. RO/4      p V P                  R 4      P                  P                  4       p\	        . RORR7      p\
        P                  ! W4       R# )r@   r   r:   Nrv   )rE   rD   rD   )rE   rD   rE   )r   r-   r   rz   r   r0   r1   rH   s      r   test_cummax_getattr_seriesr      rx   r   c            
      n   \        \        ^4       U u. uF$  p \        P                  P                  V ,           NK&  	  up 4      p\        R^RVRVP                  P                  R4      /4      pVP                  R4      pVP                  4       pVRR.,          p\        P                  ! WE4       R# u up i )   rL   rM   CzM8[ns]N)r   rangerp   NaT_valuer   _valuesviewr-   rz   r0   rG   )nserr4   gbresexps         r   &test_cummax_i8_at_implementation_boundr      s     U1X6X"&&--!##X6
7C	CCc3;;+;+;H+EF	GB	CB
))+C
c3Z.C## 7s   *B2zgroups,expected_datac                     \        R \        . ROVR7      /4      pVP                  4       pVP                  V4      R ,          p\	        W`4      ! RR7      p\        W1R R7      p\
        P                  ! WE4       \
        P                  ! Wx4       R# )r@   Nr}   FrC   )r   r/   rD   NrE   )r   r   copyr-   r   r0   rG   r1   )	ry   r   groupsexpected_datar4   origr   rI   r6   s	   &&&&     r   test_cummin_max_skipnar     sq     
CE:;	<B779D	F	C	 BR .Fms;H "#6,r   c                 N   \        R \        P                  RR.R. RO/4      pVP                  . RO4      R R.,          p\	        W 4      ! RR7      p\        R \        P                  \        P                  \        P                  .R. RO/4      p\
        P                  ! W44       R# )r@          @r   Fr   N)r   r   r   rD   rD   rD   )r   r   rF   r-   r   r0   rG   )ry   r4   r   rI   r6   s   &    r   $test_cummin_max_skipna_multiple_colsr     s|     
C"&&#s+S/B	CB	I	Sz	*BR .F#7oNOH&+r   funcr&   cumsumc                    \        R . ROR. RO/4      pVP                  R 4      pRp\        P                  ! \        VR7      ;_uu_ 4        \        W 4      ! ^^^4       RRR4       \        P                  ! \        VR7      ;_uu_ 4        \        W 4      ! ^R7       RRR4       R#   + '       g   i     LQ; i  + '       g   i     R# ; i)rL   rM   z+numpy operations are not valid with groupby)matchN)foorv   rD   rE   rU   )r   r-   pytestraisesr   r   )r   r4   gmsgs   &   r   test_numpy_compatr   &  s     
CC3	4B


3A
7C	.c	:	:Aq! 
;	.c	:	:Q 
;	: 
;	:	:	:	:s   B(B;(B8	;C	z	dtype,valuint64c                     V\         P                  .p\        R ^^.RV/VR7      pVP                  R 4      pVP	                  V 4      p\        RV/VR7      p\
        P                  ! Wg4       R# )grpr   r}   N)rp   r~   r   r-   	transformr0   rG   )ry   r   valdatar4   r   rI   r6   s   &&&     r   #test_nullable_int_not_cast_as_floatr   4  sf     <D	EAq63-U	;BjjGv&F#tE2H&+r   c                 H   \        ^^\        P                  .^\        P                  ^	.. RO.. ROR7      p\        ^\        P                  .\        P                  ^	.^^	..RR.R7      pVP                  RV R7      P	                  4       p\
        P                  ! W24       R# )	rD   rL   rM   r   )columns)as_indexN)rU   rV   	   )rL   rM   r   )r   r   rF   r-   r   r0   rG   )r   r4   r6   rI   s   &   r   test_cython_api2r   D  s    
 
Q266NQNI>	XB1bff+{QF;c3ZPHZZhZ/668F&+r   )znp.int32znp.int64z
np.float32z
np.float64r   r   )r{   r   r   r3   boolean)r3   r   r   r   )rD   NNr   r   )rD   rU   rU   )r   l         )/numpyr   r   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasrp   r   r   pandas._testing_testingr0   fixtureint32r   float32r   r   r7   r>   rJ   r[   re   rk   rs   rw   markparametrizer   r   r   r   r   r   r   r   r   r   skip_if_32bitr   r   r   r    r   r   <module>r      s/     1 ) )   HHbhh

BJJKP%	%6-"1",,>*,-- Hh#78"TU, V 9,, ,(,--	$ Hh#78"?@	O$	L!	O$- A 9- Hh#78, 9, )X!67
  8
  Hh#788RXXh/3346JK, 9 
,,r   