
    A>i).                     H   S SK rS SKrS SKJrJr  S SKJrJrJ	r	J
r
JrJrJrJrJr  S SKJr  S rS rS rS rS rS	 rS
 rS rS r\R8                  R;                  SSS/5      S 5       rS rS r \R8                  R;                  SSS\RB                  \RB                  \RB                  \RB                  // SQ/ SQ\RB                  \RB                  \RB                  \RB                  // SQ/ SQ/ SQ/4SS/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S Q/4/5      S! 5       r"S" r#S# r$S$ r%g)%    N)	DataErrorSpecificationError)		DataFrameIndex
MultiIndexPeriodSeries	Timestampconcat
date_rangetimedelta_rangec                    [        [        R                  R                  S5      R	                  S5      5      nUR                  SU S9n[        R                  " UR                  R                  US S U 2   R                  5        UR                  SU S9S   nUR                  R                  US S U 2   R                  S   :X  d   eUR                  SU S9S   n[        R                  " UR                  R                  US S U 2   R                  SS/   5        UR                  SU S9SS/   n[        R                  " UR                  R                  US S U 2   R                  SS/   5        g )N   )   r   r   windowstep   )r      r   )r   nprandomdefault_rngstandard_normalrollingtmassert_index_equal_selected_objcolumnsname)r   framers      [/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/window/test_api.pytest_getitemr#      s8   bii++A.>>vFGEQT*A!//1154=3H3HIQT*1-A??54=#8#8#;;;; 	QT*40A!//1154=3H3H!Q3PQQT*Aq62A!//1154=3H3H!Q3PQ    c                  &   [        SS//SS/S9n U R                  SS9n[        R                  " [        SS	9   US
/     S S S 5        [        R                  " [        SS	9   USS
/     S S S 5        g ! , (       d  f       N8= f! , (       d  f       g = f)Nr   r   ABr   r   r   zColumns not found: 'C'matchCz^[^A]+$)r   r   pytestraisesKeyError)dfgs     r"   test_select_bad_colsr2   '   sz    	QF8c3Z	0B


!
A	x'?	@	3% 
A	xy	1 	
3* 
2	1 
A	@	1	1s   A1 B1
A?
Bc                  B   [        SS//SS/S9n U R                  SS9n[        R                  " UR                  R                  5       US   R                  5       5        Sn[        R                  " [        US	9   UR                    S S S 5        g ! , (       d  f       g = f)
Nr   r   r&   r'   r(   r   r)   z%'Rolling' object has no attribute 'F'r*   )
r   r   r   assert_series_equalr&   sumr-   r.   AttributeErrorF)r0   r!   msgs      r"   test_attribute_accessr9   2   sr    	QF8c3Z	0B


!
A133779afjjl3
1C	~S	1	 
2	1	1s   :B
Bc                 z   [        [        S5      [        SS5      SS.5      nUR                  SU S9nUSS/   R                  5       n[        [        R
                  [        R
                  SS	S
/[        R
                  [        R
                  SSS/S.[        S5      S9S S U 2   n[        R                  " X45        g )Nr   
   foor&   r'   r,   r   r   r&   r'      	            r&   r'   ABr(   )	r   ranger   r5   r   nanlistr   assert_frame_equalr   r0   r!   resultexpecteds        r"   tests_skip_nuisancerL   ;   s    	qa5A	BB


!$
'ASz] Fvvrvvq!Q'rvvrvvr2r.JKT
 fH &+r$   c                     [        [        S5      [        SS5      SS.5      nUR                  SU S9n[        R                  " [
        SS9   UR                  5         S S S 5        g ! , (       d  f       g = f)	Nr   r;   r<   r=   r   r   z-Cannot aggregate non-numeric type: object|strr*   )r   rE   r   r-   r.   r   r5   )r   r0   r!   s      r"   test_sum_object_str_raisesrN   F   s\    	qa5A	BB


!$
'A	H
 	
	
 
 
s   A&&
A4c                 |   [        [        S5      [        SSS5      S.5      nUR                  SU S9nUS   R                  5       nUS   R	                  5       nUS   R                  5       nUS	   R                  5       nUS	   R	                  5       nUR                  [        R                  S
 /5      n[        X4Xg/SS9n	[        R                  " SS	/SS//5      U	l        [        R                  " X5        UR                  [        R                  S S.5      n[        X7/SS9n	[        R                  " XSS9  UR                  SSS/05      n[        X4/SS9n	[        R                  " SS/5      U	l        [        R                  " X5        US   R                  SS/5      n[        X5/SS9n	SS/U	l        [        R                  " X5        Sn
[        R                   " ["        U
S9   UR                  SSSS.05        S S S 5        [        R                   " ["        U
S9   UR                  SSS.SSS.S.5        S S S 5        UR                  SS/SS/S.5      n[        X4Xg/SS9n	/ SQn[        R                  " U5      U	l        [        R                  " XSS9  g ! , (       d  f       N= f! , (       d  f       Nx= f)Nr   r   r;   r   rC   r   r   r&   r'   c                 ,    [         R                  " U SS9$ Nr   )ddofr   stdxs    r"   <lambda>test_agg.<locals>.<lambda>Z   s    RVVAA->r$   r   axismeanz<lambda>c                 ,    [         R                  " U SS9$ rQ   rS   rU   s    r"   rW   rX   _   s    rvvaa7Hr$   T
check_likerT   r&   r[   r&   rT   r5   nested renamer is not supportedr*   )r[   r5   )mean2sum2)r_   r`   )r'   r[   )r'   rT   )r   rE   r   r[   rT   r5   	aggregater   r   r   from_productr   r   rH   from_tuplesr-   r.   r   )r   r0   r!   a_meana_stda_sumb_meanb_stdrJ   rK   r8   exp_colss               r"   test_aggrm   P   s_   	qaQ8	9B


!$
'AsV[[]FcFJJLEcFJJLEsV[[]FcFJJLE[["''#>?@Fvf41=H!..c
VZ<P/QRH&+[[rww-HIJFvoA.H&t<[[#/0FvoA.H!--}l.KLH&+sVvuo.FvoA.HH&+
+C	)	5	S6%89: 
6 
)	5	!%0QV7WX	
 
6
 [[fe_EFFvf41=HIH!--h7H&t< 
6	5 
6	5s   (J J-
J*-
J;c                 :   [        [        S5      [        SSS5      S.5      nUR                  SS9nUS   R                  5       nUR	                  [
        R                  S	 S.5      nUS
   R                  S U S9n[        X5/SS9n[        R                  " XFSS9  g )Nr   r   r;   r   rC   r   r)   r&   c                 ,    [         R                  " U SS9$ rQ   rS   rU   s    r"   rW    test_agg_apply.<locals>.<lambda>   s    qq0Ar$   r'   c                 ,    [         R                  " U SS9$ rQ   rS   rU   s    r"   rW   rp      s    RVVAA%6r$   )rawr   rY   Tr]   )
r   rE   r   r5   aggr   applyr   r   rH   )rr   r0   r!   ri   rJ   rcustomrK   s          r"   test_agg_applyrv      s    	qaQ8	9B


!
AcFJJLEUU&ABCFfll6Cl@Gu&Q/H&t<r$   c                    [        [        S5      [        SSS5      S.5      nUR                  SU S9nUR                  [        R
                  [        R                  /5      R                  n[        R                  " [        S5      S	S
//5      n[        R                  " X45        US   R                  [        R
                  [        R                  /5      R                  n[        S	S
/5      n[        R                  " X45        UR                  S[        R
                  [        R                  /05      R                  n[        R                  " SS/5      n[        R                  " X45        g )Nr   r   r;   r   rC   r   r   rD   r5   r[   r&   )r&   r5   r_   )r   rE   r   rs   r   r5   r[   r   r   re   rG   r   r   r   rf   rI   s        r"   test_agg_consistencyrx      s   	qaQ8	9B


!$
'AUUBFFBGG$%--F&&T
UFO'DEH&+sVZZ)*22FeV_%H&+UUC"&&"''*+,44F%%|]&CDH&+r$   c                  ,   [        [        S5      [        SSS5      S.5      n U R                  SS9nSn[        R                  " [
        US	9   UR                  S
SS/0SSS/0S.5        S S S 5        [        US
   R                  5       US
   R                  5       US   R                  5       US   R                  5       /SS9n[        R                  " / SQ5      Ul        [        R                  " [
        US	9   US
S/   R                  SSS/0SSS/0S.5        S S S 5        [        R                  " [
        US	9   UR                  SSS/0SSS/0S.5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N^= f! , (       d  f       g = f)Nr   r   r;   r   rC   r   r)   ra   r*   r&   r[   r5   r'   )r1r2r   rY   ))rar[   )r|   rT   )rbr[   )r}   rT   r|   rT   r}   )r   rE   r   r-   r.   r   rd   r   r[   rT   r   rf   r   rs   )r0   r!   r8   rK   s       r"   test_agg_nested_dictsr~      s]   	qaQ8	9B


!
A
+C	)	5	C&%1#9OPQ 
6 	
3#

afkkmQsVZZ\BH "--FH 
)	5	3* 7tfe_>UVW 
6 
)	5	TFE?+4&%2IJK 
6	5 
6	5 
6	5 
6	5s$   E#:"E4=F#
E14
F
Fzfunc,window_size)r   r   )	expandingNc                    [        [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      S.5      n[        X 5      " U5      nUR                  5       UR                  5       -
  nUR                  S 5      n[        R                  " XT5        UR                  5       SUR                  5       -  -
  nUR                  S SS9n[        R                  " XT5        g )Nr   r;   )r'   r,   c                 D    U R                  5       U R                  5       -
  $ N)maxr[   rU   s    r"   rW   test_pipe.<locals>.<lambda>   s    aeeg0r$   c                 H    U R                  5       XR                  5       -  -
  $ r   )r   min)rV   ks     r"   rW   r      s    1uuw;!6r$   )r   )r   r   r   r   r   getattrr   r[   piper   rH   r   )funcwindow_sizer0   r!   rK   rJ   s         r"   	test_piper      s     
&&q)99"=&&q)99"=	

B 	+&Auuw!HVV01F&+uuwQUUW$HVV6!V<F&+r$   c                    / SQn[        S5      [        S5      [        S 5      /n[        / SQ/ SQ[        S5      [        SSS9[	        S	SS
S9[        S5      [        S5      [        S5      /SS[        R                  /SS[        R                  /SS[        R                  /U[        S5      [        S5      [        S 5      /S.US9n[        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQS.US9S S U 2   nUR                  SSU S9R                  5       n[        R                  " XT5        UR                  SSU S9R                  5       nUR                  5       R                  [        5      S S U 2   n[        R                  " XT5        g )N)intfloatstringdatetime	timedeltaperiodsfl_inffl_nanstr_nandt_natperiods_nat2017010120170203r   r   r   )g      @g      @g      @abcr   )r   z1 ss)r   freqz2012-01z2012-02z2012-03      ?       @aabbr(   )r   r   r   )r   r   r   r   r   r   min_periodsr   r   )r   r   )r
   r   rG   r   r   r   r   infrF   r   countr   rH   notnaastyper   )r   cols
dt_nat_colr0   rK   rJ   s         r"   test_count_nonnumeric_typesr      s   D J':)>	$PJ	$5k":q9(Dy!y!y!
 C(C(dBFF+ y!y!t	
* -
B2 "$%'(&%%&%*	
  fH" ZZqadZ;AACF&+ZZqtZ4::<Fxxz  '$/H&+r$   c                     [        [        R                  " S5      SS9n U R                  S5      R	                  5       nU R                  S5      R	                  5       nUR
                  S:X  d   eUR
                  S:X  d   eg )Nd   r<   )r         )r	   r   aranger   r5   r   )r   s2s3s      r"   test_preserve_metadatar     sf    ryy~E*A	
2			B	
2			B77e77er$   zfunc,window_size,expected_valsr   r   )g      .@      4@      9@r   )r         >@     A@r   )r   r   r   r   )r         D@      N@r   )r         T@g     @U@P   r   )      $@r   r   r   )r   r   r   r   )r   r   r   r   )gRB:@r   g      I@r   )r   r   r   r   c           
      |   [        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ// SQS	9n[        UR                  S
5      U 5      nU(       a	  U" U5      nOU" 5       n[        R                  " / SQS
S /S9n[        R                  " / SQ5      n[        X&US9nUR                  SS/SS/S.5      n	[        R                  " X5        g )N)r&   r;   r   )r&   r   r   )r&   r   (   )r'   r;   r   )r'   r   r   )r'   r   r   )r'   r   Z   )stocklowhighr(   r   ))r&   r   )r&   r   )r&   r   )r'   r   )r'      )r'   r   )r'   r>   )names))r   r[   )r   r   )r   r[   )r   r   )indexr   r[   r   r   )r   r   )r   r   groupbyr   rf   rs   r   rH   )
r   r   expected_valsr0   fr   r   r   rK   rJ   s
             r"   test_multiple_agg_funcsr   !  s    B 
	
 )
B 	

7#T*A;""NoE $$LG WEHZZ&%IJF&+r$   c                     [        [        S5      5      R                  SX!X4S9nUR                   Vs0 s H  of[	        XV5      _M     nn[	        XP5      " 5         UR                   Vs0 s H  of[	        XV5      _M     nnX:X  d   eg s  snf s  snf )Nr   )centerclosedr   r   )r	   rE   r   _attributesr   )	arithmetic_win_operatorsr   r   r   r   roll_objattrrK   rJ   s	            r"   )test_dont_modify_attributes_after_methodsr   c  s     eAh''	&[ ( H ;C:N:NO:N$gh--:NHOH/18@8L8LM8LGH++8LFM PMs   B'Bc                    [        / SQ5      nUR                  SSU S9R                  5       n[        [        R                  " [        U5      5      5      S S U 2   n[        R                  " X#5        Sn[        R                  " [        US9   [        / SQ5      R                  SS	U S9R                  5         S S S 5        g ! , (       d  f       g = f)
Nr   r   r   r   r   r   r   r   !min_periods 5 must be <= window 3r*   r   r   r   )r	   r   r   r   oneslenr   r4   r-   r.   
ValueErrorr   arJ   rK   r8   s        r"   test_rolling_min_min_periodsr   p  s    AYYcqtY<@@BFbggc!fo&vv.H6,
-C	z	-y!!!EIIK 
.	-	-s   +C  
Cc                 p   [        / SQ[        R                  S9nUR                  SSU S9R	                  5       nUS S U 2   n[
        R                  " X#5        Sn[        R                  " [        US9   [        / SQ5      R                  S	S
U S9R	                  5         S S S 5        g ! , (       d  f       g = f)Nr   )dtyper   r   r   r   r*   r   r   r   )
r	   r   float64r   r   r   assert_almost_equalr-   r.   r   r   s        r"   test_rolling_max_min_periodsr   z  s    bjj1AYYcqtY<@@BF4yH6,
-C	z	-y!!!EIIK 
.	-	-s   3+B''
B5)&numpyr   r-   pandas.errorsr   r   pandasr   r   r   r   r	   r
   r   r   r   pandas._testing_testingr   r#   r2   r9   rL   rN   rm   rv   rx   r~   markparametrizer   r   r   rF   r   r   r   r    r$   r"   <module>r      sR    

 
 
 R ,-=`
=,"L, 	
	
	,,&@,F $ 0((0((&	
 (((((-(	
> ,?> ,F
LLr$   