+
    yȇi1%                        ^ RI t^ RIt^ RIHtHtHtHtHtH	t	H
t
HtHt ^ RIHt ^ RIHt ]P$                  P'                  R4      tR t]P$                  P-                  R. RO4      R 4       tR t]P$                  P-                  R	^R
.4      R 4       tR tR tR tR tR tR t]P$                  P-                  RRR^
/.R R..4      R 4       t R t!R t"R t#R t$R t%R t&]P$                  P-                  R. R!O4      R 4       t'R t(R t)R# )"    N)		DataFrameIndex
MultiIndexSeries	Timestampconcat
date_rangeisnanotna)offsetsz3ignore:.*(empty slice|0 for slice).*:RuntimeWarningc                 X    V \         P                  ! V 4      ,          P                  4       # N)npisfinitemeanxs   &n/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/window/test_apply.pyfr      s    R[[^!!##    bad_rawc                     \         P                  ! \        R R7      ;_uu_ 4        \        \	        ^4      4      P                  ^4      P                  \        V R7       RRR4       R#   + '       g   i     R# ; i)z'raw parameter must be `True` or `False`matchrawN)pytestraises
ValueErrorr   rangerollingapplylen)r   s   &r   test_rolling_apply_invalid_rawr$      sK    	z)R	S	SuQx  #))#7); 
T	S	S	S   9A((A9	c                    V w  r\        . RO4      pVP                  ^
4      P                  \        P                  WR7      pVP                  4       P                  4       '       g   Q hVP                  ^
^R7      P                  \        P                  WR7      p\        . RO\        R7      p\        P                  ! WE4       R# )   enginer   min_periodsdtypeN)r'            )r'   r/      
   )
r   r!   r"   r   sumr
   allfloattmassert_almost_equal)engine_and_rawr)   r   valsresultexpecteds   &     r    test_rolling_apply_out_of_boundsr<   $   s     KF,D\\"##BFF6#CF;;=\\"!\,22266&2RFm51H6,r   window2sc                 z  a \        R \        P                  P                  ^4      P	                  ^4      R\        P                  P                  ^4      P                  ^ ^
^R7      /\        R^RR7      R7      oV3R lpSP                  V 4      P                  VRR	7      pSP                  R
,          P                  S4      p\        P                  ! W#4       \        P                  ! \        4      ;_uu_ 4        SP                  V 4      P                  VRR	7       RRR4       R#   + '       g   i     R# ; i)AB)size20130101speriodsfreqindexc                    < V P                   ^ ,          SP                   ^ ,          8X  d   \        P                  # V P                  R,          # )r   )rI   r   naniloc)r   dfs   &r   r   1test_rolling_apply_with_pandas_objects.<locals>.f?   s2    771:!$66Mvvbzr   Fr   :r.   NNTN)r   r   randomdefault_rngstandard_normalintegersr	   r!   r"   rM   reindex_liker6   assert_frame_equalexternal_error_raisedAttributeError)r=   r   r:   r;   rN   s   &   @r   &test_rolling_apply_with_pandas_objectsrX   2   s     
&&q)99!<&&q)221bq2A	
 QS9
B
 ZZ%%aU%3Fwwr{''+H&+		!	!.	1	1


6   - 
2	1	1	1s   <#D))D:	c                    V w  r#\        . R R7      pVP                  ^
VR7      P                  R W#R7      p\        P                  ! WT4       \        . RO4      pVP                  ^^ VR7      P                  R W#R7      p\        . R	O4      RRV1,          p\        P                  ! WT4       VP                  ^^ VR7      P                  \
        W#R7      p\        P                  ! WT4       R# )
float64r,   )stepc                 "    V P                  4       # r   )r   r   s   &r   <lambda>$test_rolling_apply.<locals>.<lambda>Q   s
    !&&(r   r(   Nr+   r[   c                     \        V 4      # r   )r#   r   s   &r   r]   r^   X   s    #a&r   )NNN)      ?       @rb   )r   r!   r"   r6   assert_series_equalr#   )r8   r[   r)   r   r;   r:   rD   s   &&     r   test_rolling_applyrd   L   s     KFb	*Hbt,226 3 F 6, 	!"AYYqadY399 : F o&vv.H6,YYqadY399#f9VF6,r   c           	      F   V w  r\        R \        R^RR7      R\        ^4      /4      P                  R 4      ^,          pVP	                  ^R7      pVP	                  RR7      pVP                  R WR7      pVP                  R	 WR7      p\        P                  ! Wg4       R
# )r@   rC   rD   rE   rA   )r=   1sc                     ^# r'    r   s   &r   r]    test_all_apply.<locals>.<lambda>m   s    qr   r(   c                     ^# rh   ri   r   s   &r   r]   rj   n   s    !r   N)r   r	   r    	set_indexr!   r"   r6   rU   )r8   r)   r   rN   errr:   r;   s   &       r   test_all_applyro   a   s     KF 	*Z=sE!HM	

)C.
	  
1	B


$
AWW[W9FxxFx<H&+r   c                    V w  r\        R \        ^4      /4      p\        R4      \        R4      \        R4      \        R4      \        R4      .Vn        R pVP	                  R^R7      P                  WAVR	7      pVP                  4       pR
VR &   \        P                  ! WV4       VP	                  R^R7      P                  WAVR	7      pVP                  4       pR
VR &   \        P                  ! WV4       VP	                  R^R7      P                  WAVR	7      pVP                  4       pR
VR &   \        P                  ! WV4       R# )rA   z20130101 09:00:00z20130101 09:00:02z20130101 09:00:03z20130101 09:00:05z20130101 09:00:06c                     ^# rh   ri   r   s   &r   r]   #test_ragged_apply.<locals>.<lambda>~   s    !r   rf   r=   r+   r(   ra   r>   5sN)	r   r    r   rI   r!   r"   copyr6   rU   )r8   r)   r   rN   r   r:   r;   s   &      r   test_ragged_applyrv   r   s'    KF	Cq?	#B%&%&%&%&%&BH 	AZZtZ399!PS9TFwwyHHSM&+ZZtZ399!PS9TFwwyHHSM&+ZZtZ399!PS9TFwwyHHSM&+r   c                      \         P                  ! \        R R7      ;_uu_ 4        \        \	        ^4      4      P                  ^4      P                  R RR7       RRR4       R#   + '       g   i     R# ; i)z)engine must be either 'numba' or 'cython'r   c                     V # r   ri   r   s   &r   r]   %test_invalid_engine.<locals>.<lambda>       Ar   foo)r)   Nr   r   r   r   r    r!   r"   ri   r   r   test_invalid_enginer}      sK    	z)T	U	UuQx  #))+e)D 
V	U	U	Us   6A%%A6	c                      \         P                  ! \        R R7      ;_uu_ 4        \        \	        ^4      4      P                  ^4      P                  R RRR/R7       RRR4       R#   + '       g   i     R# ; i)z+cython engine does not accept engine_kwargsr   c                     V # r   ri   r   s   &r   r]   3test_invalid_engine_kwargs_cython.<locals>.<lambda>   s    ar   cythonnopythonF)r)   engine_kwargsNr|   ri   r   r   !test_invalid_engine_kwargs_cythonr      sW    	z)V	W	WuQx  #))U8K 	* 	
 
X	W	W	Wr%   c                      \         P                  ! \        R R7      ;_uu_ 4        \        \	        ^4      4      P                  ^4      P                  R RRR7       RRR4       R#   + '       g   i     R# ; i)z.raw must be `True` when using the numba enginer   c                     V # r   ri   r   s   &r   r]   (test_invalid_raw_numba.<locals>.<lambda>   rz   r   Fnumba)r   r)   Nr|   ri   r   r   test_invalid_raw_numbar      sY    	J
 
 	uQx  #))+5)Q
 
 
 
s   7A&&A7	args_kwargsparc                    R  p\        R^^.R^^./4      p\        RR.4      p\        RR.RR..VR7      pVP                  ^4      P                  W^ ,          V ^,          R7      p\        P
                  ! WT4       \        P                  ! R
R.RR.R7      p\        RR.VRR	7      pVP                  R4      R,          P                  ^4      pVP                  W^ ,          V ^,          R7      p\        P                  ! WT4       R# )c                 :    \         P                  ! W,           4      # r   )r   r3   )r   r   s   &&r   numpysum0test_rolling_apply_args_kwargs.<locals>.numpysum   s    vvagr   grag      &@g      (@)columns)argskwargsN)names)rI   name)r'   r   )r'   r'   )r   r   r!   r"   r6   rU   r   from_tuplesr   groupbyrc   )r   r   rN   idxr;   r:   midx
gb_rollings   &       r   test_rolling_apply_args_kwargsr      s     
D1a&#1v.	/B
s
C4,t5sCHZZ]  A{ST~ VF&+!!66"24,GDtTl$S9HD!#&..q1Jh^KPQNSF6,r   c                    \        \        P                  P                  ^4      P	                  ^24      4      p\        P
                  VR&   \        P
                  VRR% VP                  ^2^R7      P                  \        V R7      p\        P                  ! VP                  R,          \        P                  ! V^
R 4      4       VP                  ^^R7      P                  \        V R7      p\        VP                  ^,          4      '       g   Q h\        VP                  ^,          4      '       d   Q h\        VP                  R,          4      '       d   Q h\        VP                  R,          4      '       g   Q h\        \        P                  P                  ^4      P	                  ^4      4      pVP                  ^
^R7      P                  \        V R7      p\        VP                  ^,          4      '       g   Q h\        VP                  ^,          4      '       g   Q hVP                  ^^ R7      P                  \        V R7      pVP                  ^^R7      P                  \        V R7      p\        P                  ! WE4       R# )	r.   Nr2   NNr*   r   rK   i)r   r   rP   rQ   rR   rL   r!   r"   r   r6   r7   rM   r   r
   r   )r   objr:   obj2result0result1s   &     r   	test_nansr      s   
&&q)99"=
>CvvCHCI[[[,221#2>F6;;r?BGGC3K,@A [[[,221#2>FB    FKKO$$$$FKKO$$$$B    "))''*::2>?D\\"!\,221#2>FAQ    kk"!k,221#2>Gkk"!k,221#2>G7,r   c                 $   \        \        P                  P                  ^4      P	                  ^24      4      p\        P
                  VR&   \        P
                  VR	R% VP                  ^^RR7      P                  \        V R7      p\        V\        \        P
                  .^	,          4      .4      P                  ^^R7      P                  \        V R7      P                  R,          P                  RR7      p\        P                  ! W#4       R# )
r.   r   NT)r+   centerr   r*   :	   NN)dropr   )r   r   rP   rQ   rR   rL   r!   r"   r   r   rM   reset_indexr6   rc   )r   r   r:   r;   s   &   r   test_centerr      s    
&&q)99"=
>CvvCHCI[[D[9??s?KFVRVVHqL)*+		$	qc		b	 
$	  6,r   c                     VP                  ^24      P                  \        V R7      p\        V\        4      '       g   Q h\
        P                  ! VP                  R,          \        P                  ! VRR 4      4       R# )2   r   NrK   )
r!   r"   r   
isinstancer   r6   r7   rM   r   r   )r   seriesr:   s   && r   test_seriesr      sZ    ^^B%%aS%1Fff%%%%6;;r?BGGF34L,ABr   c           	      @   VP                  ^24      P                  \        V R7      p\        V\        4      '       g   Q h\
        P                  ! VP                  R,          VP                  RR1R3,          P                  \        P                  ^ V R7      RR7       R# )	r   r   NNNN)axisr   Fcheck_names)rK   r   r   )
r!   r"   r   r   r   r6   rc   rM   r   r   )r   framer:   s   && r   
test_framer      sx    ]]2$$QC$0Ffi((((E

347!!"''s!;r   c                    ^p^
pVR,          P                  R4      P                  4       pVP                  W#R7      P                  \        V R7      pVP
                  R,          pV^\        P                  ! 4       ,          ,
          pVR,          P                  Wv4      p\        P                  ! VP                  R,          \        P                  ! V4      4       R# )   NNr.   rA   rs   r   NrK   )resampler   r!   r"   r   rI   r   BDaytruncater6   r7   rM   r   )	r   r   winminpserseries_result	last_date	prev_datetrunc_seriess	   &&       r   test_time_rule_seriesr      s    
CD
+

s
#
(
(
*CKKsK=CCA3COM##B'IB//I#;''	=L=--b1277<3HIr   c                    ^p^
pVR,          P                  R4      P                  4       pVP                  W#R7      P                  \        V R7      pVP
                  R,          pV^\        P                  ! 4       ,          ,
          pVR,          P                  Wv4      p\        P                  ! VP                  V4      VP                  \        P                  V R7      RR7       R# )	r   r   rA   rs   r   Fr   NrK   )r   r   r!   r"   r   rI   r   r   r   r6   rc   xsr   )	r   r   r   r   frmframe_resultr   r   trunc_frames	   &&       r   test_time_rule_framer      s    
CD
*

c
"
'
'
)C;;c;<BB1#BNL""2&IB//I*%%i;K	""''s+r   r   c                 z   VP                  \        V4      ^,           W#R7      P                  \        V R7      pVP                  \        V4      W#R7      P                  \        V R7      p\	        V4      p\
        P                  ! V\	        V4      4       V( p\
        P                  ! WF,          WV,          4       R# )r'   r_   r   N)r!   r#   r"   r   r
   r6   rc   r7   )r   r   r   r[   r:   r;   nan_masks   &&&&   r   test_min_periodsr     s    ^^CK!O^IOO	s P F ~~c&kt~GMM	s N H F|H8T(^4yH6+X-?@r   c                    \        ^4       Uu. uF	  pRVR 2NK  	  pp^
pVP                  \        VP                  4      V,           4      P	                  ^VR7      P                  \        V R7      P                  R4      P                  VP                  4      pVP	                  ^VRR7      P                  \        V R7      p\        P                  ! WV4       R# u upi )	   r   drs   r   Tr=   r+   r   N)
r    reindexlistrI   r!   r"   r   shiftr6   rc   )r   r   r   rD   r   	series_xp	series_rss   &&     r   test_center_reindex_seriesr     s    !"I&Iq1QqEIA&D 	tFLL)A-.		-	qc		s		  bd4HNN	s O I 90 	's   Cc           	         \        \        ^d4      \        RR^dR7      R7      p\        ^4       Uu. uF	  pRVR 2NK  	  pp^
pVP                  \	        VP
                  4      V,           4      P                  ^VR7      P                  \        V R7      P                  R4      P                  VP
                  4      pVP                  ^VR	R
7      P                  \        V R7      p\        P                  ! WV4       R# u upi )d   z
2020-01-01D)rG   rF   rH   r   r   rs   r   Tr   Nr   )r   r    r	   r   r   rI   r!   r"   r   r   r6   rU   )r   r   r   rD   r   frame_xpframe_rss   &      r   test_center_reindex_framer   0  s    eCj
<cSV(WXE!"I&Iq1QqEIA&D 	d5;;'!+,		-	qc		s		  }}BD}FLLQTWLXH(- 	's   C=)Nr'   r   )r2   )r   c   r   )*numpyr   r   pandasr   r   r   r   r   r   r	   r
   r   pandas._testing_testingr6   pandas.tseriesr   markfilterwarnings
pytestmarkr   parametrizer$   r<   rX   rd   ro   rv   r}   r   r   r   r   r   r   r   r   r   r   r   r   ri   r   r   <module>r      s<    
 
 
  " [[''9

$ L1< 2<
- At9-. ..2-*,",:E

R $)<udm(LM- N-,-4- C	J  .A /A1$.r   