
    Eg                         d dl Zd dlZd dlmZmZ d dlmZ  G d d          Z	ej
                            dg d          d             Zd ZdS )	    N)	DataFrameSeriesc                      e Zd Zej                            ddddej        ej        ej        dddddgfdddej        ej        ej        ddddej        gfdddej        dddddej        ej        gfdddej        ej        ddddej        ej        gfdddej        ej        d	d	d
ddej        gfdddej        ej        d	d	d
dej        ej        gfdddddd	d	d
ej        ej        ej        gfdddej        dd	d	d
ej        ej        ej        gfg          d             Zd Z	d Z
d Zej                            dg d          d             ZdS )TestDataFramePctChangez periods, fill_method, limit, exp   ffillN      ?r   bfillg      g333333c                    t           j        t           j        ddddt           j        t           j        g} ||          }dt          |          j         d}t	          j        t          |          5  |                    |||          }	d d d            n# 1 swxY w Y   t	          j        |	 ||                     d S )	Nr         
   zDThe 'fill_method' keyword being not None and the 'limit' keyword in z.pct_change are deprecatedmatch)periodsfill_methodlimit)	npnantype__name__tmassert_produces_warningFutureWarning
pct_changeassert_equal)
selfr   r   r   expframe_or_seriesvalsobjmsgress
             _/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_pct_change.pytest_pct_change_with_nasz/TestDataFramePctChange.test_pct_change_with_nas   s     1aRVRV<od##>Cyy!> > > 	 'SAAA 	X 	X..kQV.WWC	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X
__S1122222s   1BBBc           	         t          t          j        ddd          t          j        ddd          t          j        ddd          g                              t          j                  }t          j        |j        d<   t          j        |j        d<   d|j        d<   d}t          d	          D ]}|                    |
          |                    |
          	                    |
          z  dz
  }t          j        t          |          5  |                    |d          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   (   r   )r   r   )r   r   <   )r      gThe 'fill_method' keyword being not None and the 'limit' keyword in DataFrame.pct_change are deprecatedr   )axisr   r   pad)r,   r   )r   r   arangeastypefloat64r   iatranger   shiftr   r   r   r   assert_frame_equal)r   pnlr#   r,   expectedresults         r%   test_pct_change_numericz.TestDataFramePctChange.test_pct_change_numeric'   s   Yq"b!!29QB#7#71b"9M9MN
 

&

 	 2 	
 !HH 	4 	4Dyydy++ciiTi.B.B.H.Hd.H.S.SSVWWH+MEEE F FTuEEF F F F F F F F F F F F F F F!&(3333	4 	4s   D44D8	;D8	c                 4   d}|                     d           }t          j        |||                    d          z  dz
             |                     d          }|                                }t          j        |||                    d          z  dz
             t          j        t          |          5  |                     dd          }d d d            n# 1 swxY w Y   |                    d          }t          j        |||                    d          z  dz
             |                     d	
          }|                                }t          j        |||                    d	
          z  dz
                      |                     d S )Nr+   r   r   r   r   r
   r   r   )r   5D)freq)	r   r   r4   r3   r   r   r   r
   reindex_like)r   datetime_framer#   rsfilleds        r%   test_pct_changez&TestDataFramePctChange.test_pct_change<   s   2 	
 &&4&88
b.>3G3G3J3J"JQ"NOOO&&q))%%''
b&6<<??":Q">???'SAAA 	I 	I**wa*HHB	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I%%A%..
b&6<<??":Q">???&&D&11%%''
&,,D,111A5CCFKK	
 	
 	
 	
 	
s   9CC!$C!c                    t          ddt          j        ddg          }t          ||d          }d}t	          j        t          |          5  |                                }d d d            n# 1 swxY w Y   t          t          j        dd	d
dg          }t          ||d          }t	          j        ||           d S )N      ?r	   g      @g      @)abzCThe default fill_method='pad' in DataFrame.pct_change is deprecatedr         ?        gVUUUUU?g?)	r   r   r   r   r   r   r   r   r4   )r   sdfr#   chgr6   edfs          r%   test_pct_change_shift_over_nasz5TestDataFramePctChange.test_pct_change_shift_over_nasT   s    Cbfc3/00QQ''((S'SAAA 	" 	"--//C	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 263]C@AAhX6677
c3'''''s   A//A36A3z!freq, periods, fill_method, limit))5B   NN)3Br*   NN)rP   r*   r
   N)7B   r-   r   )rQ   rR   r
   r*   )14B   NNc                    d}t          j        t          |          5  |                    |||          }d d d            n# 1 swxY w Y   t          j        t          |          5  |                    |||          }d d d            n# 1 swxY w Y   t          j        ||           t          |j        |j                  }	t          j        t          |          5  |	                    |||          }d d d            n# 1 swxY w Y   t          j        t          |          5  |	                    |||          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr+   r   )r=   r   r   r;   )indexcolumns)r   r   r   r   r4   r   rV   rW   )
r   r?   r=   r   r   r   r#   rs_freq
rs_periodsempty_tss
             r%   test_pct_change_periods_freqz3TestDataFramePctChange.test_pct_change_periods_freqa   s   2 	 'SAAA 	 	$//{% 0  G	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 'SAAA 	 	'22[ 3  J	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	gz222>#7AWXXX'SAAA 	 	)){% *  G	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 'SAAA 	 	!,,[ -  J	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	gz22222sG   AA
A)BBB$D		DD/EEE)r   
__module____qualname__pytestmarkparametrizer   r   r&   r8   rB   rM   r[        r%   r   r      s       [*1c1aHIRVRVRVQ326JK1aCHIRVRVQ1c2626JK$tT1a PQ!bfbfdD$2626RS$AtT4 PQ!bfatT262626RS		
 3 3 34 4 4*
 
 
0( ( ( [+	
 	
 	

 
3 3
 
3 3 3rb   r   r   )r-   r   Nc           	      H   t          t          j        dddddgddt          j        dddgddd	gdz  
          }| d nt          }d}t	          j        ||          5  |                    |           }d d d            n# 1 swxY w Y   | 1t          j        t          j        t          j        t          j        ddg}nt          j        t          j        ddddg}t          t          j        t          j        ddddg|ddd	gdz  
          }t	          j        ||           d S )Nr   r   r*   	      r   r   r   rE   rF   )rV   r+   r   r:   g       @rD   rH   rG   )	r   r   r   r   r   r   r   infr4   )r   datawarnr#   r7   second_columnr6   s          r%   'test_pct_change_with_duplicated_indicesrk      sw    VQ1a$!Q1b)ABB3PS*WX.  D &44MD	.  
	#D	4	4	4 : :[99: : : : : : : : : : : : : : : cBc3<VRVS#sC0]CCCj1n  H &(+++++s   B  BBc                     t          dd gddgddgddgddgg          } |                                 }t          t          j        ddddgt          j        t          j        dddgd	          }t	          j        ||           d S )
Nr   r   r*   r   rO   rG   gUUUUUU?g      ?rf   )r   r   r   r   r   r4   )rJ   r7   r6   s      r%   )test_pct_change_none_beginning_no_warningrm      s    	IFFFF	

 
B ]]__FVQUD)rvrvq#u.MNN H &(+++++rb   )numpyr   r^   pandasr   r   pandas._testing_testingr   r   r_   r`   rk   rm   ra   rb   r%   <module>rr      s                     }3 }3 }3 }3 }3 }3 }3 }3@ (>(>(>??, , @?,2, , , , ,rb   