3
Uédl  ã               @   sX   d dl Zd dlZd dlmZmZ d dljZG dd„ dƒZ	ej
jddddgƒdd	„ ƒZdS )
é    N)Ú	DataFrameÚSeriesc               @   sF   e Zd Zdd„ Zdd„ Zdd„ Zejjdddddddgƒdd„ ƒZ	d
S )ÚTestDataFramePctChangec             C   sª   t tjdddƒtjdddƒtjdddƒgƒjtjƒ}tj|jd< tj|jd< d|jd< xNtdƒD ]B}|j|d|j|dj	|d d }|j
|d	d
}tj||ƒ q`W d S )Nr   é(   é
   é   é<   é   é   )ÚaxisÚpad)r   Úfill_method)r   r   )r   r   )r	   r
   )r   ÚnpZarangeZastypeZfloat64ÚnanZiatÚrangeÚffillÚshiftÚ
pct_changeÚtmÚassert_frame_equal)ÚselfZpnlr   ÚexpectedÚresult© r   ú^/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/frame/methods/test_pct_change.pyÚtest_pct_change_numeric	   s    *
$z.TestDataFramePctChange.test_pct_change_numericc             C   sÊ   |j d d}tj|||jdƒ d ƒ |j dƒ}|jdd}tj|||jdƒ d ƒ |j ddd}|jddd}tj|||jdƒ d ƒ |j d	d
}|jdd}tj|||jd	d
 d j|ƒƒ d S )N)r   r   r	   r   )ÚmethodÚbfill)r   Úlimit)r   r   Z5D)Úfreq)r   r   r   r   ZfillnaZreindex_like)r   Údatetime_frameÚrsZfilledr   r   r   Útest_pct_change   s    
z&TestDataFramePctChange.test_pct_changec             C   s\   t ddtjddgƒ}t||dœƒ}|jƒ }t tjdddd	gƒ}t||dœƒ}tj||ƒ d S )Ng      ð?g      ø?g      @g      @)ÚaÚbg      à?g        r   gš™™™™™É?g«ªªªªªú?gVUUUUUå?)r   r   r   r   r   r   r   )r   ÚsÚdfZchgr   Zedfr   r   r   Útest_pct_change_shift_over_nas*   s    z5TestDataFramePctChange.test_pct_change_shift_over_nasz!freq, periods, fill_method, limitÚ5Bé   NÚ3Br
   r   Ú7Bé   r   r   Ú14Bé   c       	      C   sl   |j |||d}|j |||d}tj||ƒ t|j|jd}|j |||d}|j |||d}tj||ƒ d S )N)r   r   r   )r   r   )ÚindexÚcolumns)r   r   r   r   r/   r0   )	r   r    r   Zperiodsr   r   Zrs_freqZ
rs_periodsZempty_tsr   r   r   Útest_pct_change_periods_freq4   s    z3TestDataFramePctChange.test_pct_change_periods_freq)r(   r)   NN)r*   r
   NN)r*   r
   r   N)r+   r,   r   r   )r+   r,   r   r
   )r-   r.   NN)
Ú__name__Ú
__module__Ú__qualname__r   r"   r'   ÚpytestÚmarkÚparametrizer1   r   r   r   r   r      s   
r   r   r   r   c             C   s²   t tjdddddgddtjdddgdœdd	gd d
}|j| d}| d krdt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 d
}tj||ƒ d S )Nr   r	   r
   é	   é   r   )r   r   r#   r$   )r/   )r   g       @g      ð?g        g      à?)r   r   r   r   Úinfr   r   )r   Údatar   Zsecond_columnr   r   r   r   Ú'test_pct_change_with_duplicated_indicesQ   s    4r<   )Znumpyr   r5   Zpandasr   r   Zpandas._testingZ_testingr   r   r6   r7   r<   r   r   r   r   Ú<module>   s
   
I