
    Pi).                        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d
 Zd Zd Zej                            dddg          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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      p/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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                 b   t          t          d          t          ddd          d          }|                    d|           }|d                                         }|d                                         }|d                                         }|d	                                         }|d	                                         }|                    t          j        d
 g          }t          ||||gd          }	t          j
        dd	gddgg          |	_        t          j        ||	           |                    t          j        d 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   rC   r   r   r&   r'   c                 .    t          j        | d          S Nr   )ddofr   stdxs    r"   <lambda>ztest_agg.<locals>.<lambda>Z   s    RVAA->->-> r$   r   axismeanz<lambda>c                 .    t          j        | d          S rQ   rS   rU   s    r"   rW   ztest_agg.<locals>.<lambda>_   s    rvaa7H7H7H r$   T
check_likerT   r&   rZ   r&   rT   r5   nested renamer is not supportedr*   )rZ   r5   )mean2sum2)r^   r_   )r'   rZ   )r'   rT   )r   rE   r   rZ   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_aggrl   P   s   	qaQ88	9	9B


!$
''AsV[[]]FcFJJLLEcFJJLLEsV[[]]FcFJJLLE[["'#>#>?@@Fvufe41===H!.c
VZ<P/QRRH&(+++[[rw-H-HIIJJF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$   I..I25I2J??KK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   rC   r   r)   r&   c                 .    t          j        | d          S rQ   rS   rU   s    r"   rW   z test_agg_apply.<locals>.<lambda>   s    qq0A0A0A r$   r'   c                 .    t          j        | d          S rQ   rS   rU   s    r"   rW   z test_agg_apply.<locals>.<lambda>   s    RVAA%6%6%6 r$   )rawr   rX   Tr\   )
r   rE   r   r5   aggr   applyr   r   rH   )rp   r0   r!   rh   rJ   rcustomrK   s          r"   test_agg_applyrt      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   rC   r   r   rD   r5   rZ   r&   )r&   r5   r^   )r   rE   r   rq   r   r5   rZ   r   r   rd   rG   r   r   r   re   rI   s        r"   test_agg_consistencyrv      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   rC   r   r)   r`   r*   r&   rZ   r5   r'   )r1r2r   rX   ))rarZ   )rz   rT   )rbrZ   )r{   rT   rz   rT   r{   )r   rE   r   r-   r.   r   rc   r   rZ   rT   r   re   r   rq   )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zfunc,window_size)r   r   )	expandingNc                 v   t          t          j                            d                              d          t          j                            d                              d          d          } t          ||           |          }|                                |                                z
  }|                    d           }t          j
        ||           |                                d|                                z  z
  }|                    d d          }t          j
        ||           d S )Nr   r;   )r'   r,   c                 T    |                                  |                                 z
  S N)maxrZ   rU   s    r"   rW   ztest_pipe.<locals>.<lambda>   s    aeegg0 r$   c                 Z    |                                  ||                                 z  z
  S r   )r   min)rV   ks     r"   rW   ztest_pipe.<locals>.<lambda>   s    1quuww;!6 r$   )r   )r   r   r   r   r   getattrr   rZ   piper   rH   r   )funcwindow_sizer0   r!   rK   rJ   s         r"   	test_piper      s    
&&q))99"==&&q))99"==	
 	

 
B 	D+&&Auuww!HVV0011F&(+++uuwwQUUWW$HVV66!V<<F&(+++++r$   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   r}   )      $@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'      )r'   r   )r'   r>   )names))r   rZ   )r   r   )r   rZ   )r   r   )indexr   rZ   r   r   )r   r   )r   r   groupbyr   re   rq   r   rH   )
r   r   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>j  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>l  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   c  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          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   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  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   r   r   assert_almost_equalr-   r.   r   r   s        r"   test_rolling_max_min_periodsr   z  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   rl   rt   rv   r|   markparametrizer   r   r   rF   r   r   r   r   r   r$   r"   <module>r      s              

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