
    bMh3                        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j                            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j                            dddej!        ej!        ej!        ej!        gg dg dej!        ej!        ej!        ej!        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&dS ),    N)	DataErrorSpecificationError)		DataFrameIndex
MultiIndexPeriodSeries	Timestampconcat
date_rangetimedelta_rangec                    t          t          j                            d                              d                    }|                    d|           }t          j        |j        j	        |d d |          j	                   |                    d|           d         }|j        j
        |d d |          j	        d         k    sJ |                    d|           d         }t          j        |j        j	        |d d |          j	        ddg                    |                    d|           ddg         }t          j        |j        j	        |d d |          j	        ddg                    d S )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/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/window/test_api.pytest_getitemr#      sE   bi++A..>>vFFGGEQT**A!/154=3HIIIQT**1-A?54=#8#;;;;; 	QT**40A!/154=3H!Q3PQQQQT**Aq62A!/154=3H!Q3PQQQQQ    c                  R   t          ddggddg          } |                     d          }t          j        t          d	          5  |d
g          d d d            n# 1 swxY w Y   t          j        t          d	          5  |dd
g          d d d            d S # 1 swxY w Y   d S )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	0	0	0B


!
A	x'?	@	@	@  	3%              	xy	1	1	1   	
3*                 s$   
AA"%A"BB #B c                  `   t          ddggddg          } |                     d          }t          j        |j                                        |d                                                    d}t          j        t          |	          5  |j	         d d d            d S # 1 swxY w Y   d S )
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	0	0	0B


!
A137799afjjll333
1C	~S	1	1	1  	                 s   B##B'*B'c                    t          t          d          t          dd          dd          }|                    d|           }|ddg                                         }t          t          j        t          j        dd	d
gt          j        t          j        dddgdt          d                    d d |          }t          j        ||           d S )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A	B	BB


!$
''ASz]  Fvrvq!Q'rvrvr2r.JKKT

   ffH &(+++++r$   c                     t          t          d          t          dd          dd          }|                    d|           }t          j        t
          d          5  |                                 d d d            d S # 1 swxY w Y   d S )	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A	B	BB


!$
''A	H
 
 
   	
	                 s   !BB
Bc                 R   t          t          d          t          ddd          d          }|                    d|           }|d                                         }|d                                         }|d                                         }|d	                                         }|d	                                         }t          j        t          d
          5  |	                    t          j        t          j        g          }d d d            n# 1 swxY w Y   t          ||||gd          }	t          j        dd	gddgg          |	_        t          j        ||	           t          j        t          d
          5  |	                    t          j        t          j        d          }d d d            n# 1 swxY w Y   t          ||gd          }	t          j        ||	d           |	                    dddgi          }t          ||gd          }	t          j        ddg          |	_        t          j        ||	           |d         	                    ddg          }t          ||gd          }	ddg|	_        t          j        ||	           d}
t#          j        t&          |
          5  |	                    ddddi           d d d            n# 1 swxY w Y   t#          j        t&          |
          5  |	                    ddddddd           d d d            n# 1 swxY w Y   |	                    ddgddgd          }t          ||||gd          }	g d}t          j        |          |	_        t          j        ||	d           d S )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   sq   	qaQ88	9	9B


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

 [[fe_EEFFFvufe41===HIIIH!-h77H&(t<<<<<<sH   #,DD"D
-GG
G?K&&K*-K*L77L;>L;funcminrR   maxbr5   prodmedian)rj   cc                 b   t          g dg dg dd          }d}t          j        t          |          5  |                    dd	          }d d d            n# 1 swxY w Y   t          j        t          d
          5  |                    |            d d d            d S # 1 swxY w Y   d S )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      s6   
 
CC	D	DB
AC		#M	=	=	= ) )JJaaJ(() ) ) ) ) ) ) ) ) ) ) ) ) ) )	*2V	W	W	W  	d                 s#   AA"AB$$B(+B(c                    t          t          d          t          ddd          d          }|                    d          }|d                                         }t	          j        t          d	
          5  |                    t          j        d d          }d d d            n# 1 swxY w Y   |d         	                    d |           }t          ||gd          }t	          j        ||d           d S )Nr   r   r;   r   rC   r   r)   r&   zusing Rolling.[sum|std]r*   c                 .    t          j        | d          S Nr   )ddofr   rS   xs    r"   <lambda>z test_agg_apply.<locals>.<lambda>   s    BF114E4E4E r$   r'   c                 .    t          j        | d          S ry   r{   r|   s    r"   r~   z test_agg_apply.<locals>.<lambda>   s    RVAA%6%6%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      s9   	qaQ88	9	9B


!
AcFJJLLE		#M9R	S	S	S H HRV*E*EFFGGH H H H H H H H H H H H H H Hfll66Cl@@Gug&Q///H&(t<<<<<<s   :$B**B.1B.c                    t          t          d          t          ddd          d          }|                    d|           }t          j        t
          d	          5  |                    t          j        t          j	        g          j
        }d d d            n# 1 swxY w Y   t          j        t          d
          ddgg          }t          j        ||           t          j        t
          d	          5  |d                             t          j        t          j	        g          j
        }d d d            n# 1 swxY w Y   t          ddg          }t          j        ||           t          j        t
          d	          5  |                    dt          j        t          j	        gi          j
        }d d d            n# 1 swxY w Y   t          j        ddg          }t          j        ||           d S )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      sd   	qaQ88	9	9B


!$
''A		#M9S	T	T	T 2 2())12 2 2 2 2 2 2 2 2 2 2 2 2 2 2&T

UFO'DEEH&(+++		#M9S	T	T	T 7 73RVRW-..67 7 7 7 7 7 7 7 7 7 7 7 7 7 7eV_%%H&(+++		#M9S	T	T	T 9 9bfbg./0089 9 9 9 9 9 9 9 9 9 9 9 9 9 9%|]&CDDH&(+++++s6   !1BB"%B">7EEE3GGGc                     t          t          d          t          ddd          d          } |                     d          }d}t          j        t
          |	          5  |                    d
ddgidddgid           d d d            n# 1 swxY w Y   t          |d
                                         |d
         	                                |d                                         |d         	                                gd          }t          j        g d          |_        t          j        t
          |	          5  |d
dg                             dddgidddgid           d d d            n# 1 swxY w Y   t          j        t
          |	          5  |                    dddgidddgid           d d d            d S # 1 swxY w Y   d S )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8	9	9B


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

afkkmmQsVZZ\\B  H "-FFF H 
)	5	5	5 X X	3* 7tfe_>UVVWWWX X X X X X X X X X X X X X X 
)	5	5	5 L L	TFE?+4&%2IJJKKKL L L L L L L L L L L L L L L L L Ls6   "!BBB)E::E>E> !GGG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 |          }|	                    dd|           
                                }t          j        ||           |	                    dd|           
                                }|                                                    t                    d d |          }t          j        ||           d S )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	99$__5kk":q999(DDDy!!y!!y!!
 C(C(dBF+ y!!y!!t	
 	
* -
 
 
B2 "??$__%oo'(&%oo%oo&%oo*??	
 	
    ffH" ZZqadZ;;AACCF&(+++ZZqtZ44::<<Fxxzz  ''$/H&(+++++r$   c                     t          t          j        d          d          } |                     d                                          }|                     d                                          }|j        dk    sJ |j        dk    sJ d S )Nd   r<   )r         )r	   r   aranger   r5   r   )r   s2s3s      r"   test_preserve_metadatar   
  s~    ry~~E***A	
2				B	
2				B7e7e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          |                    d
          |           }|r ||          }n
 |            }t          j        g dd
d g          }t          j        g d          }t          |||          }|                    ddgddgd          }	t          j        |	|           d S )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 
MMMMMMMMMMMMMM	
 )((
 
 
B 	

7##T**A ;"NNNo  E $LLL G eWEEEHZZ&%IIJJF&(+++++r$   c                     t          t          d                                        d||||          fdj        D             } t	          |                        fdj        D             }||k    sJ d S )Nr   )centerclosedr   r   c                 2    i | ]}|t          |          S  r   .0attrroll_objs     r"   
<dictcomp>z=test_dont_modify_attributes_after_methods.<locals>.<dictcomp>]  s%    OOO$gh--OOOr$   c                 2    i | ]}|t          |          S r   r   r   s     r"   r   z=test_dont_modify_attributes_after_methods.<locals>.<dictcomp>_  s%    MMMdGHd++MMMr$   )r	   rE   r   _attributesr   )arithmetic_win_operatorsr   r   r   r   rK   rJ   r   s          @r"   )test_dont_modify_attributes_after_methodsr   V  s     eAhh''	&[t (  H POOO(:NOOOH/GH.//111MMMM8LMMMFXr$   c                    d}t          j        t          |          5  t          t	          j        d                                        ddd|                                            d d d            n# 1 swxY w Y   d}t          j	        t          |          5  t          t	          j        d                                        ddd	|                                            d d d            n# 1 swxY w Y   t          t	          j        d
                    }d}t          j        t          |          5  |                    ddd|                                            d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    ddd	|                                            d d d            n# 1 swxY w Y   d}t          j	        t          |          5  |                    ddd|                                            d d d            d S # 1 swxY w Y   d S )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 Urwr{{##1T#MMRRTTTU U U U U U U U U U U U U U U 3C	z	-	-	- U Urwr{{##1T#MMRRTTTU U U U U U U U U U U U U U U 
278$$	%	%B
AC		#M	=	=	= D D


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


!Dqt
<<AACCCD D D D D D D D D D D D D D D 6C	z	-	-	- F F	1T	=	=	B	B	D	D	DF F F F F F F F F F F F F F F F F Fs[   AA55A9<A9AC44C8;C8=,E55E9<E9,GGG=,H66H:=H:c                    t          g d          }|                    dd|                                           }t          t          j        t          |                              d d |          }t          j        ||           d}t          j	        t          |          5  t          g d                              dd	|                                            d d d            d S # 1 swxY w Y   d S )
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   }  s4   AYYcqtY<<@@BBFbgc!ffoo&&vvv.H68,,,
-C	z	-	-	- L Lyyy!!!EEIIKKKL L L L L L L L L L L L L L L L L Ls   %:C,,C03C0c                    t          g dt          j                  }|                    dd|                                           }|d d |          }t          j        ||           d}t          j        t          |          5  t          g d                              d	d
|                                            d d d            d S # 1 swxY w Y   d S )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$   bj111AYYcqtY<<@@BBF4yH68,,,
-C	z	-	-	- L Lyyy!!!EEIIKKKL L L L L L L L L L L L L L L L L Ls   :CCC)'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$   r"   <module>r      s              

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