
    Owg3                     b   d dl Zd dlZd dlmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZ d dlmZ d Zd Zd Zd Zd Zd	 Zej2                  j5                  d
dgddgddidddg      d        Zd Zd Zd Zd Zd Z ej2                  j5                  dddejB                  ejB                  ejB                  ejB                  gg dg dejB                  ejB                  ejB                  ejB                  gg dg dg d gfd!dg d"g dg d#g d$g dg d%g d&gfg      d'        Z"d( Z#d) Z$d* Z%d+ Z&y),    N)	DataErrorSpecificationError)		DataFrameIndex
MultiIndexPeriodSeries	Timestampconcat
date_rangetimedelta_rangec                    t        t        j                  j                  d      j	                  d            }|j                  d|       }t        j                  |j                  j                  |d d |    j                         |j                  d|       d   }|j                  j                  |d d |    j                  d   k(  sJ |j                  d|       d   }t        j                  |j                  j                  |d d |    j                  ddg          |j                  d|       ddg   }t        j                  |j                  j                  |d d |    j                  ddg          y )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      S/var/www/horilla/myenv/lib/python3.12/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                  &   t        ddggddg      } | j                  d      }t        j                  t        d	      5  |d
g    d d d        t        j                  t        d	      5  |dd
g    d d d        y # 1 sw Y   5xY w# 1 sw Y   y xY w)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   '   s    	QF8c3Z	0B


!
A	x'?	@ 	3%	xy	1  	
3*   s    A;*B;BBc                  F   t        ddggddg      } | j                  d      }t        j                  |j                  j                         |d   j                                d}t        j                  t        |	      5  |j                   d d d        y # 1 sw Y   y xY w)
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   s{    	QF8c3Z	0B


!
A133779afjjl3
1C	~S	1 	  s   BB c                    t        t        d      t        dd      dd      }|j                  d|       }|ddg   j                         }t        t        j
                  t        j
                  dd	d
gt        j
                  t        j
                  dddgdt        d            d d |    }t        j                  ||       y )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                     t        t        d      t        dd      dd      }|j                  d|       }t        j                  t
        d      5  |j                          d d d        y # 1 sw Y   y xY w)	Nr   r;   r<   r=   r   r   z0Cannot aggregate non-numeric type: object|stringr*   )r   rE   r   r-   r.   r   r5   )r   r0   r!   s      r"   test_sum_object_str_raisesrN   F   sa    	qa5A	BB


!$
'A	K
  	
	  s   A++A4c                    t        t        d      t        ddd      d      }|j                  d|       }|d   j                         }|d   j	                         }|d   j                         }|d	   j                         }|d	   j	                         }t        j                  t        d
      5  |j                  t        j                  t        j                  g      }d d d        t        ||||gd      }	t        j                  dd	gddgg      |	_        t        j                  |	       t        j                  t        d
      5  |j                  t        j                  t        j                  d      }d d d        t        ||gd      }	t        j                  ||	d       |j                  dddgi      }t        ||gd      }	t        j                   ddg      |	_        t        j                  ||	       |d   j                  ddg      }t        ||gd      }	ddg|	_        t        j                  ||	       d}
t#        j$                  t&        |
      5  |j                  ddddi       d d d        t#        j$                  t&        |
      5  |j                  ddddddd       d d d        |j                  ddgddgd      }t        ||||gd      }	g d}t        j                   |      |	_        t        j                  ||	d       y # 1 sw Y   @xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   r   r;   r   rC   r   r   r&   r'   zusing Rolling.[mean|std]r*   r   axismeanstdT
check_liker&   rR   r&   rS   r5   nested renamer is not supported)rR   r5   )mean2sum2)rV   rW   )r'   rR   )r'   rS   )r   rE   r   rR   rS   r5   r   assert_produces_warningFutureWarning	aggregater   r   r   from_productr   rH   from_tuplesr-   r.   r   )r   r0   r!   a_meana_stda_sumb_meanb_stdrJ   rK   r8   exp_colss               r"   test_aggrf   P   s   	qaQ8	9B


!$
'AsV[[]FcFJJLEcFJJLEsV[[]FcFJJLE		#	#M9S	T 0bggrvv./0vufe41=H!..c
VUO/LMH&(+		#	#M9S	T :27789: vuoA.H&(t<[[#/0FvuoA.H!--}l.KLH&(+sVvuo.FvuoA.HH&(+
+C	)	5 ;	S6%89:; 
)	5 
	!%0QV7WX	


 [[fe_EFFvufe41=HIH!--h7H&(t<K0 0: :"; ;
 
s0   00L
1L+!L8ML(+L58MMfuncminrR   maxbr5   prodmedian)rj   cc                 :   t        g dg dg dd      }d}t        j                  t        |      5  |j	                  dd	      }d d d        t        j                  t        d
      5  j                  |        d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)N)r   r   r   )r      r   )r>         )arj   rm   5Support for axis=1 in DataFrame.rolling is deprecatedr*   r   r   )r   rQ   z"axis other than 0 is not supported)	r   r   r[   r\   r   r-   r.   NotImplementedErroragg)rg   r0   r8   r!   s       r"   test_multi_axis_1_raisesrv      s    
 
C	DB
AC		#	#M	= )JJaaJ()	*2V	W 	d ) ) s   B*BBBc                    t        t        d      t        ddd      d      }|j                  d      }|d   j                         }t	        j
                  t        d	
      5  |j                  t        j                  d d      }d d d        |d   j                  d |       }t        ||gd      }t	        j                  |d       y # 1 sw Y   HxY w)Nr   r   r;   r   rC   r   r)   r&   zusing Rolling.[sum|std]r*   c                 0    t        j                  | d      S Nr   )ddofr   rS   xs    r"   <lambda>z test_agg_apply.<locals>.<lambda>   s    BFF114E r$   r'   c                 0    t        j                  | d      S ry   r{   r|   s    r"   r~   z test_agg_apply.<locals>.<lambda>   s    RVVAA%6 r$   )rawr   rP   TrT   )r   rE   r   r5   r   r[   r\   ru   r   applyr   rH   )r   r0   r!   rb   rJ   rcustomrK   s          r"   test_agg_applyr      s    	qaQ8	9B


!
AcFJJLE		#	#M9R	S HRVV*EFGHfll6Cl@Gug&Q/H&(t<	H Hs   #$CCc                     t        t        d      t        ddd      d      }|j                  d|       }t        j                  t
        d	      5  |j                  t        j                  t        j                  g      j                  }d d d        t        j                  t        d
      ddgg      }t        j                  |       t        j                  t
        d	      5  |d   j                  t        j                  t        j                  g      j                  }d d d        t        ddg      }t        j                  ||       t        j                  t
        d	      5  |j                  dt        j                  t        j                  gi      j                  }d d d        t        j                   ddg      }t        j                  ||       y # 1 sw Y   RxY w# 1 sw Y   xY w# 1 sw Y   PxY w)Nr   r   r;   r   rC   r   r   zusing Rolling.[sum|mean]r*   rD   r5   rR   r&   )r&   r5   rV   )r   rE   r   r   r[   r\   ru   r   r5   rR   r   r   r^   rG   r   r   r_   rI   s        r"   test_agg_consistencyr      s}   	qaQ8	9B


!$
'A		#	#M9S	T 2()112&&T
UFO'DEH&(+		#	#M9S	T 73RVVRWW-.667eV_%H&(+		#	#M9S	T 9bffbgg./0889%%|]&CDH&(+2 2
7 7
9 9s$   :G&=G()<G4G%(G14G=c                  &   t        t        d      t        ddd      d      } | j                  d      }d}t        j                  t
        |	      5  |j                  d
ddgidddgid       d d d        t        |d
   j                         |d
   j                         |d   j                         |d   j                         gd      }t        j                  g d      |_        t        j                  t
        |	      5  |d
dg   j                  dddgidddgid       d d d        t        j                  t
        |	      5  |j                  dddgidddgid       d d d        y # 1 sw Y   xY w# 1 sw Y   WxY w# 1 sw Y   y xY w)Nr   r   r;   r   rC   r   r)   rX   r*   r&   rR   r5   r'   )r1r2r   rP   ))rarR   )r   rS   )rbrR   )r   rS   r   rS   r   )r   rE   r   r-   r.   r   r]   r   rR   rS   r   r_   r   ru   )r0   r!   r8   rK   s       r"   test_agg_nested_dictsr      s   	qaQ8	9B


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

afkkmQsVZZ\BH "--FH 
)	5 X	3* 7tfe_>UVWX 
)	5 L	TFE?+4&%2IJKL LR RX XL Ls$   E."E;F.E8;FFc                 @   g d}t        d      t        d      t        d       g}t        g dg dt        d      t        dd      t	        d	dd
      t        d      t        d      t        d      gddt        j                  gddt        j                  gddt        j                  g|t        d      t        d      t        d       gd|      }t        g dg dg dg dg dg dg dg dg dg dg dd|      d d |    }|j                  dd|       j                         }t        j                  ||       |j                  dd|       j                         }|j                         j                  t              d d |    }t        j                  ||       y )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                     t        t        j                  d      d      } | j                  d      j	                         }| j                  d      j	                         }|j
                  dk(  sJ |j
                  dk(  sJ y )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   	expanding)      $@r   r   r   )r   r   r   r   )r   r   r   r   )gRB:@r   g      I@r   )r   r   r   r   c           
         t        g dg dg dg dg dg dg dgg d	      }t        |j                  d
      |       }|r	 ||      }n |       }t        j                  g dd
d g      }t        j                  g d      }t        |||      }|j                  ddgddgd      }	t        j                  |	|       y )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'   ro   )r'   r   )r'   r>   )names))r   rR   )r   ri   )r   rR   )r   rh   )indexr   rR   ri   rh   )r   r   )r   getattrgroupbyr   r_   ru   r   rH   )
rg   window_sizeexpected_valsr0   fr   r   r   rK   rJ   s
             r"   test_multiple_agg_funcsr     s    B 
	
 )
B 	

7#T*A;""NoE $$LG eWEHZZ&%IJF&(+r$   c                 (   t        t        d            j                  d||||      }|j                  D ci c]  }|t	        ||       }} t	        ||               |j                  D ci c]  }|t	        ||       }}||k(  sJ y c c}w c c}w )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   V  s     eAh''	&[t ( H ;C:N:NO$gh--OHO/GH./18@8L8LMdGHd++MFMX PMs   B
,Bc                    d}t        j                  t        |      5  t        t	        j
                  d            j                  ddd|       j                          d d d        d}t        j                  t        |      5  t        t	        j
                  d            j                  ddd	|       j                          d d d        t        t	        j
                  d
            }d}t        j                  t        |      5  |j                  ddd|       j                          d d d        d}t        j                  t        |      5  |j                  ddd	|       j                          d d d        d}t        j                  t        |      5  |j                  ddd|       j                          d d d        y # 1 sw Y   ixY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   yxY w# 1 sw Y   y xY w)Nz2The 'axis' keyword in Series.rolling is deprecatedr*   r;   r   Tr   )r   r   rQ   r   z&No axis named 1 for object type Seriesr   )r;   r;   z5The 'axis' keyword in DataFrame.rolling is deprecatedrs   z)No axis named 2 for object type DataFramer   )r   r[   r\   r	   r   onesr   rR   r-   r.   
ValueErrorr   )r   r8   r0   s      r"   test_centered_axis_validationr   c  s   
>C		#	#M	= Urwwr{##1T#MRRTU 3C	z	- Urwwr{##1T#MRRTU 
2778$	%B
AC		#	#M	= D


!Dqt
<AACD
AC		#	#M	= D


!Dqt
<AACD 6C	z	- F	1T	=	B	B	DF F'U U
U UD DD D
F Fs=   A GA G$G$G+$G7GGG(+G47H c                    t        g d      }|j                  dd|       j                         }t        t        j                  t        |                  d d |    }t        j                  ||       d}t        j                  t        |      5  t        g d      j                  dd	|       j                          d d d        y # 1 sw Y   y xY w)
Nr   r   r   ro   r   r   r   r   !min_periods 5 must be <= window 3r*   r   r   r   )r	   r   rh   r   r   lenr   r4   r-   r.   r   r   rr   rJ   rK   r8   s        r"   test_rolling_min_min_periodsr   }  s    AYYcqtY<@@BFbggc!fo&vv.H68,
-C	z	- Ly!!!EIIKL L Ls   .CCc                 |   t        g dt        j                        }|j                  dd|       j	                         }|d d |    }t        j                  ||       d}t        j                  t        |      5  t        g d      j                  d	d
|       j	                          d d d        y # 1 sw Y   y xY w)Nr   )dtyper   r   r   r   r*   r   r   r   )
r	   r   float64r   ri   r   assert_almost_equalr-   r.   r   r   s        r"   test_rolling_max_min_periodsr     s    bjj1AYYcqtY<@@BF4yH68,
-C	z	- Ly!!!EIIKL L Ls   ;.B22B;)'numpyr   r-   pandas.errorsr   r   pandasr   r   r   r   r	   r
   r   r   r   pandas._testing_testingr   r#   r2   r9   rL   rN   rf   markparametrizerv   r   r   r   r   r   rF   r   r   r   r   r    r$   r"   <module>r      sc    

 
 
 R ,/=d 
eWvuoU|65QR=,(L,@,F $ 0((0((&	
 (((((-(	
> ,?> ,F
F4LLr$   