
    d/                        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   windowstep   )r      r   )
r   nprandomrandnrollingtmassert_index_equal_selected_objcolumnsname)r   framers      X/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/window/test_api.pytest_getitemr!      s7   biooa++,,E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      ABr   r   r   zColumns not found: 'C'matchCz^[^A]+$)r   r   pytestraisesKeyError)dfgs     r    test_select_bad_colsr1   '   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)r/   r   msgs      r    test_attribute_accessr8   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   r4   r   nanlistr   assert_frame_equalr   r/   r   resultexpecteds        r    tests_skip_nuisancerK   ;   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: objectr)   )r   rD   r   r,   r-   r   r4   )r   r/   r   s      r    test_sum_object_str_raisesrM   F   s    	qa5AA	B	BB


!$
''A	y(S	T	T	T  	                 s   !BB
Bc                    t          t          d          t          ddd          d          }|                    d|           }|d                                         }|d                                         }|d                                         }|d	                                         }|d	                                         }|                    t          j        t          j        g          }t          ||||gd
          }	t          j
        dd	gddgg          |	_        t          j        ||	           |                    t          j        t          j        d          }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$   rB   r   r   r%   r&   r   axismeanstdT
check_liker%   rQ   r%   rR   r4   nested renamer is not supportedr)   )rQ   r4   )mean2sum2)rU   rV   )r&   rQ   )r&   rR   )r   rD   r   rQ   rR   r4   	aggregater   r   r   from_productr   r   rG   from_tuplesr,   r-   r   )r   r/   r   a_meana_stda_sumb_meanb_stdrI   rJ   r7   exp_colss               r    test_aggrc   N   s   	qaQ88	9	9B


!$
''AsV[[]]FcFJJLLEcFJJLLEsV[[]]FcFJJLLE[["'26*++Fvufe41===H!.c
VUO/LMMH&(+++[[rwRV4455F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<<<<<<s$   J  JJ&KKKfuncminrQ   maxbr4   prodmedian)rg   cc                     t          g dg dg dd          }|                    dd          }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=         )arg   rj   r   r   )r   rP   z"axis other than 0 is not supportedr)   )r   r   r,   r-   NotImplementedErroragg)rd   r/   r   s      r    test_multi_axis_1_raisesrr   ~   s    
 
CC	D	DB


!!
$$A	*2V	W	W	W  	d                 s   A//A36A3c                    t          t          d          t          ddd          d          }|                    d          }|d                                         }|                    t
          j        d	 d          }|d
                             d |           }t          ||gd          }t          j	        ||d           d S )Nr   r   r:   r$   rB   r   r(   r%   c                 .    t          j        | d          S Nr   )ddofr   rR   xs    r    <lambda>z test_agg_apply.<locals>.<lambda>   s    qq0A0A0A r"   r&   c                 .    t          j        | d          S ru   rw   rx   s    r    rz   z test_agg_apply.<locals>.<lambda>   s    RVAA%6%6%6 r"   )rawr   rO   TrS   )
r   rD   r   r4   rq   r   applyr   r   rG   )r|   r/   r   r_   rI   rcustomrJ   s          r    test_agg_applyr      s    	qaQ88	9	9B


!
AcFJJLLEUU&A&ABBCCFfll66Cl@@Gug&Q///H&(t<<<<<<r"   c                    t          t          d          t          ddd          d          }|                    d|           }|                    t          j        t          j        g          j        }t          j	        t          d          d	d
gg          }t          j        ||           |d                             t          j        t          j        g          j        }t          d	d
g          }t          j        ||           |                    dt          j        t          j        gi          j        }t          j        ddg          }t          j        ||           d S )Nr   r   r:   r$   rB   r   r   rC   r4   rQ   r%   )r%   r4   rU   )r   rD   r   rq   r   r4   rQ   r   r   r[   rF   r   r   r   r\   rH   s        r    test_agg_consistencyr      s    	qaQ88	9	9B


!$
''AUUBFBG$%%-F&T

UFO'DEEH&(+++sVZZ)**2FeV_%%H&(+++UUC"&"'*+,,4F%|]&CDDH&(+++++r"   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$   rB   r   r(   rW   r)   r%   rQ   r4   r&   )r1r2r   rO   ))rarQ   )r   rR   )rbrQ   )r   rR   r   rR   r   )r   rD   r   r,   r-   r   rZ   r   rQ   rR   r   r\   r   rq   )r/   r   r7   rJ   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   rF   r   r   r   r   InfNaNr   countr   rG   notnaastyper   )r   cols
dt_nat_colr/   rJ   rI   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   r4   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&   rl   )r&   r   )r&   r=   )names))r   rQ   )r   rf   )r   rQ   )r   re   )indexr   rQ   rf   re   )r   r   )r   getattrgroupbyr   r\   rq   r   rG   )
rd   window_sizeexpected_valsr/   fr   r   r   rJ   rI   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  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>U  s%    MMMdGHd++MMMr"   )r	   rD   r   _attributesr   )arithmetic_win_operatorsr   r   r   r   rJ   rI   r   s          @r    )test_dont_modify_attributes_after_methodsr   L  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                    t          t          j        d                                        ddd|                                            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dd|                                            t          t          j        d	                                        ddd|                                            d
}t          j        t          |          5  t          t          j        d	                                        ddd|                                            d d d            d S # 1 swxY w Y   d S )Nr:   r   Tr   )r   r   rP   r   z&No axis named 1 for object type Seriesr)   r   )r:   r:   z)No axis named 2 for object type DataFramer$   )	r	   r   onesr   rQ   r,   r-   
ValueErrorr   )r   r7   s     r    test_centered_axis_validationr   Y  s)   
272;;qADIINNPPP 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 bgh  ((AD )  
dfffbgh  ((AD )  
dfff 6C	z	-	-	- 
 
bgh''((WAdW>>TVVV	
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s&   (AB??CC;AGGG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   rl   r   r   r   r   !min_periods 5 must be <= window 3r)   r   r   r   )r	   r   re   r   r   lenr   r3   r,   r-   r   r   ro   rI   rJ   r7   s        r    test_rolling_min_min_periodsr   t  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   rf   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!   r1   r8   rK   rM   rc   markparametrizerr   r   r   r   r   r   rE   r   r   r   r   r   r   r"   r    <module>r      s              

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