a
    é´«j1œ  ã                   @   s‚  d dl m Z mZmZ d dlZd dlZd dlZd dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlmZ ej d¡G dd„ dƒƒZej d¡G d	d
„ d
ƒƒZej dejejdejejejdejejg	ejejdddddejejg	dddifejejdejejejdejejg	ejejddejejdejejg	ddddœfejejdejejejdejejg	ejejdejejejdddg	dddifejejdejejejdejejg	ejejdejejejddejg	ddddœfejejejejejejejgejejejejejejejgddddœfedƒedƒddddœfejejdejejejdejejg	ejejdddddejejg	dddifejejdejejejdejejg	ejejdejejddejejg	ddddœfejejdejejejdejejg	dddejejejdejejg	dddifejejdejejejdejejg	ejddejejejdejejg	ddddœff
¡dd„ ƒZdS )é    )ÚdatetimeÚ	timedeltaÚtimezoneN)ÚCategoricalÚ	DataFrameÚDatetimeIndexÚNaTÚPeriodÚSeriesÚ	TimedeltaÚ	TimestampÚ
date_rangeÚisnaÚtimedelta_range)Úperiod_arrayzJignore:(Series|DataFrame).fillna with 'method' is deprecated:FutureWarningc                   @   s  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zej ddejdejjdd�d�g¡ej dd d!g¡d"d#„ ƒƒZej ddejdejjdd�d�g¡d$d%„ ƒZd&d'„ Zej dd(d)g¡d*d+„ ƒZd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ Zd4d5„ Zd6d7„ Zej d8d9g d:¢fd9d;d;d<œg d=¢fd>d9id9d9d;ejejgfd9d;d?œd9d9d;d;ejgfe d9ƒd9ejd;ejejgfe d9d>gd@�d9d9d;ejejgfe d9d;d?œƒd9d9d;d;ejgfe d9d;gdAdBgd@�d9ejd;d9d;gfg¡dCdD„ ƒZ!ej d8e g dE¢ƒg dF¢fe g dG¢ƒg dH¢fe e"g dG¢g dI¢dJ�ƒg dH¢fg¡dKdL„ ƒZ#dMdN„ Z$ej dOe%dPdQg¡ej dRe&j'¡ej dddg¡dSdT„ ƒƒƒZ(dUdV„ Z)dWdX„ Z*dYdZ„ Z+d[d\„ Z,d]d^„ Z-ej d_g d`¢dag db¢dcdagfdcdaejdcgdag db¢dcdagfg¡ddde„ ƒZ.d S )fÚTestSeriesFillNAc                 C   s`  t dddtjgdd�}|jdd�}|j|jd d�}| ¡ }|jd |jd	< t ||¡ t ||¡ t	d
|iƒ}|jdd�}|j|jd d�}t	d
|iƒ}t 
||¡ t 
||¡ t tjdddgdd�}|jdd�}|j|d d�}| ¡ }|d |d< t ||¡ t ||¡ t	d
|iƒ}|jdd�}|j|d d�}t	d
|iƒ}t 
||¡ t 
||¡ d S )Nr   é   é   úM8[ns]©ÚdtypeÚpad©Úmethod©Úvalueé   ÚAÚbfill)r
   r   Ú_valueÚfillnaÚvaluesÚcopyÚilocÚtmÚassert_series_equalr   Zassert_frame_equal)ÚselfÚseriesÚfilledZfilled2ÚexpectedZdf© r*   úf/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/series/methods/test_fillna.pyÚtest_fillna_nat    s4    z TestSeriesFillNA.test_fillna_natc                 C   sD   d}t jt|d�� |jddd� W d   ƒ n1 s60    Y  d S )Nz(Cannot specify both 'value' and 'method'©Úmatchr   Úffill)r   r   )ÚpytestÚraisesÚ
ValueErrorr    )r&   Údatetime_seriesÚmsgr*   r*   r+   Útest_fillna_value_or_methodE   s    z,TestSeriesFillNA.test_fillna_value_or_methodc                 C   sè   t g d¢tddd�d�}t ||jdd�¡ tj|jd< t g d	¢|jd�}t |jdd�|¡ t g d
¢|jd�}t |jdd�|¡ t g d¢|jd�}t |jdd�|¡ d}t	j
t|d�� | ¡  W d   ƒ n1 sÚ0    Y  d S )N©ç        ç      ð?ç       @ç      @ç      @ú
2020-01-01é   ©Úperiods©Úindexr/   r   r   )r7   r8   r8   r:   r;   )r7   r8   r:   r:   r;   Úbackfill)r7   r8   g      @r:   r;   r   z'Must specify a fill 'value' or 'method'r-   )r
   r   r$   r%   r    ÚnpÚnanr#   rA   r0   r1   r2   )r&   ÚtsÚexpr4   r*   r*   r+   Útest_fillnaJ   s    ÿzTestSeriesFillNA.test_fillnac                 C   s$  t tjgƒ}t dgƒ}| |¡}t dgƒ}t ||¡ | i ¡}t ||¡ | t dtd�¡}t ||¡ | |¡}t ||¡ | ddi¡}t ||¡ | ddi¡}t |t tjgƒ¡ | dddœ¡}t ||¡ | t dddœƒ¡}t ||¡ | t dddœddgd	�¡}t ||¡ d S )
Nr   r8   r*   r   r   )r   r   é   r=   r@   )r
   rC   rD   r    r$   r%   Úobject©r&   Ús1Ús2Úresultr)   r*   r*   r+   Útest_fillna_nonscalar`   s*    




z&TestSeriesFillNA.test_fillna_nonscalarc                 C   sT   t g d¢tdƒƒ}t dtjdgtdƒƒ}| |¡}t g d¢tdƒƒ}t ||¡ d S )N©r   r   r   Úabcr   r   Zbac)r   r   r9   )r
   ÚlistrC   rD   r    r$   r%   rJ   r*   r*   r+   Útest_fillna_alignsx   s
    
z#TestSeriesFillNA.test_fillna_alignsc                 C   s|   t tjg d¢d�}|jddd�}t dtjtjgg d¢d�}t ||¡ |jddd�}t ddtjgg d¢d�}t ||¡ d S )NrO   r@   iç  r   )Úlimitr   ©r
   rC   rD   r    r$   r%   ©r&   ÚserrM   r)   r*   r*   r+   Útest_fillna_limit   s    z"TestSeriesFillNA.test_fillna_limitc                 C   s\   g d¢}|D ]J}t ddtjtjdgdd�}| |¡}t dd||dgdd�}t ||¡ qd S )N)Ú0z1.5z-0.3r   r   rH   Úfloat64r   rI   rT   )r&   ÚvalsÚvalrV   rM   r)   r*   r*   r+   Útest_fillna_dont_cast_strings‰   s    
z.TestSeriesFillNA.test_fillna_dont_cast_stringsc                 C   s  t tdƒtgƒ}| tddd�¡}t tdƒtddd�gdd�}t ||¡ | ddgtddd�¡}t ||¡ | ddgtddd�¡}t ||¡ | d	¡}t tdƒd	gƒ}t ||¡ | ¡ }tjt	d
d�� d	|d< W d   ƒ n1 sì0    Y  t ||¡ d S )NÚ20130101ú
US/Eastern©Útzú
2013-01-01rI   r   TFZfoozincompatible dtyper-   r   )
r
   r   r   r    r$   r%   Úwherer"   Úassert_produces_warningÚFutureWarning)r&   rV   rM   r)   Úser2r*   r*   r+   Útest_fillna_consistency”   s$    þ
&z(TestSeriesFillNA.test_fillna_consistencyc                 C   sÐ   t dtjgƒ}d}tjt|d�� |jddd�}W d   ƒ n1 sD0    Y  t ddgƒ}t ||¡ t dtjgƒ}tjt|d��" |jddidd�}W d   ƒ n1 sª0    Y  t ddgƒ}t ||¡ d S )Nr8   ú.The 'downcast' keyword in fillna is deprecatedr-   r   Úinfer©Zdowncastr   )r
   rC   rD   r$   rc   rd   r    r%   )r&   rV   r4   rM   r)   r*   r*   r+   Útest_fillna_downcast²   s    ,0z%TestSeriesFillNA.test_fillna_downcastc                 C   sd  t  d¡ t¡}t j|d< t|ƒ}d}tjt|d�� |j	ddd�}W d   ƒ n1 sX0    Y  tt  d¡t j
d�}t ||¡ d}tjt|d�� |jdd�}W d   ƒ n1 s¶0    Y  tg d	¢t j
d�}t ||¡ d
}tjt|d�� |jdd�}W d   ƒ n1 �s0    Y  tg d¢t j
d�}t ||¡ d|d< tg d¢t jd�}d}tjt|d�� |j	ddd�}W d   ƒ n1 �sŽ0    Y  t ||¡ d}tjt|d�� |jdd�}W d   ƒ n1 �sÚ0    Y  tg d¢t jd�}t ||¡ d
}tjt|d�� |jdd�}W d   ƒ n1 �s80    Y  tg d¢t jd�}t ||¡ d S )Nr=   r   rg   r-   rh   ri   r   z-The 'downcast' keyword in ffill is deprecated)r   r   r   r   rH   z-The 'downcast' keyword in bfill is deprecated)r   r   r   rH   rH   ç      @r   )r   r   rk   r   rH   )r   r   rk   rk   rH   )r   r   rk   rH   rH   )rC   ÚarangeÚastyperI   rD   r
   r$   rc   rd   r    Zint64r%   r/   r   rY   )r&   ÚarrrV   r4   Úresr)   r*   r*   r+   Ú-test_fillna_downcast_infer_objects_to_numericÃ   sD    
,*,.,,z>TestSeriesFillNA.test_fillna_downcast_infer_objects_to_numericc           	      C   s¨  t tdƒtdƒtdƒtdƒgd|› d�d�}| ¡ }||ƒ ¡ }| tdd�¡}t tdƒtdƒtd	ƒtd	d
d�gd|› d�d�}||ƒ}t ||¡ | d	¡}| 	t
¡ d	¡}t ||¡ | td	d�¡}t td	d�tdƒtd	ƒtd	d
d�gd|› d�d�}||ƒ}t ||¡ | td	d	d�¡}t td	d	d�tdƒtd	ƒtd	d
d�gd|› d�d�}||ƒ}t ||¡ | t d¡¡}t td	d�tdƒtd	ƒtd	d
d�gd|› d�d�}||ƒ}t ||¡ | t¡}t ttdƒtd	ƒtd	d
d�gd|› d�d�}||ƒ}t ||¡ tj|d< ||ƒ ¡ }| ¡ }| tdd�¡}tj|d< ||ƒ}t ||¡ tj|d< ||ƒ}| ¡ }| tdd�¡}td	d
d�|d< ||ƒ}t ||¡ d S )Nr]   Ú20130102ú20130103 9:01:01úM8[ú]r   r   )Úsecondsr   iÍ~  )Údaysru   zm8[i Êš;r   )r
   r   Údiffr"   r    r   r   r$   Úassert_equalrm   rI   rC   Ztimedelta64r   rD   r/   r   )	r&   Úframe_or_seriesÚunitrV   ÚtdÚobjrM   r)   ro   r*   r*   r+   Útest_timedelta_fillnaó   s¤    ü
ù	
ü
ù	

ü
ù	

ü
ù	
ü
ù	

ü
ù	


z&TestSeriesFillNA.test_timedelta_fillnac                 C   s–   t tdƒtdƒtdƒtdƒgƒ}tj|d< | ¡ }t tdƒtdƒtdƒtdƒgƒ}t ||¡ | ¡ }t tdƒtdƒtdƒtdƒgƒ}t ||¡ d S )Nr]   rq   rr   r   )r
   r   rC   rD   r/   r$   r%   r   rU   r*   r*   r+   Útest_datetime64_fillna]  s4    üÿ
üÿüÿz'TestSeriesFillNA.test_datetime64_fillnaÚscalarFTz&GH#56410 scalar case not yet addressed)Úreason)Zmarksr`   NÚUTCc                 C   s¦   t ddd|d�}td|d�}t |ddd�}|d u r6d	nd
}t||d |d g|d�}t|ƒ}t|d< | ¡ }	| |¡}
|	 t|ƒ¡}|r–t |
|¡ nt ||¡ d S )Nú
2016-01-01r   Ús)r?   rz   r`   ú2016-02-03 04:05:06.789r_   Úms©r?   rz   zM8[ms]zM8[ms, UTC]r   r   r   r   )r   r   r
   r   r"   r    r$   r%   )r&   r`   r   ÚdtiÚitemÚvecZ	exp_dtyper)   rV   re   ro   Úres2r*   r*   r+   Ú2test_datetime64_fillna_mismatched_reso_no_rounding€  s    
zCTestSeriesFillNA.test_datetime64_fillna_mismatched_reso_no_roundingc           
      C   s    t dddd�tdƒ }tdƒtdƒ }t|ddd�}t||d |d	 gd
d�}t|ƒ}t|d< | ¡ }| |¡}| t|ƒ¡}	|r�t ||¡ nt |	|¡ d S )Nr‚   r   rƒ   r†   z
1970-01-01r„   r…   r   r   zm8[ms]r   r   )	r   r   r   r
   r   r"   r    r$   r%   )
r&   r   Ztdirˆ   r‰   r)   rV   re   ro   rŠ   r*   r*   r+   Ú3test_timedelta64_fillna_mismatched_reso_no_rounding¢  s    
zDTestSeriesFillNA.test_timedelta64_fillna_mismatched_reso_no_roundingc                 C   s>   t ttdgdd�}t g d¢dd�}|jdd�}t ||¡ d S )Nú2013-08-05 15:30:00.000001r   r   )r�   r�   r�   rB   r   )r
   r   r    r$   r%   )r&   rV   r)   rM   r*   r*   r+   Útest_datetime64_fillna_backfillÂ  s    úz0TestSeriesFillNA.test_datetime64_fillna_backfillr^   z
Asia/Tokyoc                 C   s  t tdƒttdƒtgd|› d�d�}t g d¢ƒ}| tdƒ¡}t tdƒtdƒtdƒtdƒgd|› d�d�}t ||¡ t t|ƒ|¡ | td|d�¡}t tdƒtd|d�tdƒtd|d�gƒ}t ||¡ t t|ƒ|¡ | d	¡}t tdƒd	tdƒd	gtd�}t ||¡ t t|ƒ|¡ | td|d�td
ƒdœ¡}t tdƒtd|d�tdƒtd
ƒgƒ}t ||¡ t t|ƒ|¡ | tdƒtd
ƒdœ¡}t tdƒtdƒtdƒtd
ƒgd|› d�d�}t ||¡ t t|ƒ|¡ tdtdtg|d� 	|¡}t |ƒ}|j
d|› d|› d�k�sJ ‚t t|ƒ|¡ | tdƒ¡}t td|d�tdƒtd|d�tdƒgƒ}t ||¡ t t|ƒ|¡ | td|d�¡}tg d¢|d� 	|¡}t |ƒ}t ||¡ t t|ƒ|¡ | td|d� ¡ ¡}tg d¢|d� 	|¡}t |ƒ}t ||¡ t t|ƒ|¡ | d	¡}t td|d�d	td|d�d	gtd�}t ||¡ t t|ƒ|¡ | td|d�td
ƒdœ¡}t td|d�td|d�td|d�td
ƒgƒ}t ||¡ t t|ƒ|¡ | td|d�td
|d�dœ¡}t td|d�td|d�td|d�td
|d�gƒj 	|¡}t ||¡ t t|ƒ|¡ | tdƒ¡}t td|d�tdƒtd|d�tdƒgƒ}t ||¡ t t|ƒ|¡ | tddd�¡}t td|d�tddd� |¡td|d�tddd� |¡gƒj 	|¡}t ||¡ t t|ƒ|¡ d S )Nú2011-01-01 10:00ú2011-01-03 10:00rs   rt   r   )FTFTú2011-01-02 10:00r_   ZAAAz2011-01-04 10:00©r   r   zdatetime64[z, )r�   r‘   r�   r‘   r]   ra   ú
US/Pacific)r
   r   r   r    r$   r%   r   rI   r   Zas_unitr   Zto_pydatetimeÚdtÚ
tz_convert)r&   r`   rz   rV   Znull_locrM   r)   Úidxr*   r*   r+   Útest_datetime64_tz_fillnaÒ  sR   ü
ù	ü
ù	

üÿ
üù	
þÿ
üÿÿü
ù	ÿþ

üÿùø	ùø	


üù	
þÿ


üÿ

þÿ



üÿù

üÿ

üÿùz*TestSeriesFillNA.test_datetime64_tz_fillnac                 C   st   t tdƒtgƒ}t tdƒtdƒgƒ}t |jdd�|¡ t ttdƒgƒ}t tdƒtdƒgƒ}t |jdd�|¡ d S )Nz2012-11-11 00:00:00+01:00r   r   r   )r
   r   r   r$   r%   r    )r&   rV   rF   r*   r*   r+   Útest_fillna_dt64tz_with_method¡  s    þÿþÿz/TestSeriesFillNA.test_fillna_dt64tz_with_methodc                 C   sL   t tjtdƒgddgd�}| tdƒ¡}t tdƒddgd�}t ||¡ d S )Nz1 daysr   ÚBr@   r   )r
   rC   rD   r   r    r   r$   r%   rU   r*   r*   r+   Útest_fillna_pytimedelta¶  s    z(TestSeriesFillNA.test_fillna_pytimedeltac                 C   sh   t tddd�tddd�gƒ}| tddd�¡}t tddd�tddd�gƒ}t ||¡ |jdksdJ ‚d S )Nz2011-01ÚM©Úfreqr   z2012-01z	Period[M])r
   r	   r    r$   r%   r   )r&   rV   ro   rF   r*   r*   r+   Útest_fillna_period¾  s
    z#TestSeriesFillNA.test_fillna_periodc                 C   s’   t tdƒtdƒtdƒtdƒgƒ}tj|d< ||ƒ}| tdƒ¡}t tdƒtdƒtdƒtdƒgƒ}||ƒ}t ||¡ | t¡}|}t ||¡ d S )Nr]   rq   rr   r   Z20130104)r
   r   rC   rD   r    r$   rx   r   )r&   ry   rV   r|   rM   r)   r*   r*   r+   Útest_fillna_dt64_timestampÇ  s,    üÿ
üÿ
z+TestSeriesFillNA.test_fillna_dt64_timestampc                 C   sV   t tdƒttdƒgƒ}t dd¡}| |¡}t tdƒtdƒtdƒgƒ}t ||¡ d S )Nz
2010-01-01ú
2000-01-01z
1975-04-05r…   )r
   r   r   rC   Z
datetime64r    r$   r%   )r&   rV   r[   rM   r)   r*   r*   r+   Útest_fillna_dt64_non_naoä  s    
ÿz)TestSeriesFillNA.test_fillna_dt64_non_naoc                 C   s\   t tjdtjdtjgg d¢ƒ}| ¡ }|jddd�}|d u s@J ‚|jdd�}t ||¡ d S )Nr8   r:   ©ÚzÚaÚbÚcÚdr   T)r   Úinplacer   )r
   rC   rD   r"   r    r$   r%   )r&   ÚxÚyÚreturn_valuer)   r*   r*   r+   Útest_fillna_numeric_inplaceï  s    z,TestSeriesFillNA.test_fillna_numeric_inplacezfill_value, expected_outputr¤   )r¤   r¤   r¥   r¤   r¤   r¥   )r   r   rH   )r¤   r¤   r¥   r¥   r¥   r   r’   r@   r   rH   c                 C   sV   dt jdt jt jg}tt|ddgd�ƒ}tt|ddgd�ƒ}| |¡}t ||¡ d S )Nr¤   r¥   ©Ú
categories©rC   rD   r
   r   r    r$   r%   ©r&   Z
fill_valueZexpected_outputÚdatarV   rF   rM   r*   r*   r+   Útest_fillna_categoricalü  s
    
z(TestSeriesFillNA.test_fillna_categorical©r¤   r¥   r¦   r§   Úe)r¤   r¥   r¥   r§   r´   )r¥   r§   r¤   r§   r¤   )r¤   r§   r¥   r§   r¤   )r¥   r¦   r§   r´   r¤   r­   c                 C   sV   dt jdt jt jg}tt|g d¢d�ƒ}tt|g d¢d�ƒ}| |¡}t ||¡ d S )Nr¤   r¥   r³   r­   r¯   r°   r*   r*   r+   Ú+test_fillna_categorical_with_new_categories  s
    
z<TestSeriesFillNA.test_fillna_categorical_with_new_categoriesc                 C   s¸  dt jdt jt jg}tt|ddgd�ƒ}|j}d}tjt|d�� | d¡ W d   ƒ n1 s`0    Y  d}tjt	|d�� | tdƒ¡ W d   ƒ n1 s 0    Y  tjt|d��  | dddœ¡ W d   ƒ n1 sÞ0    Y  d	}tjt|d�� | ddg¡ W d   ƒ n1 �s 0    Y  d
}tjt|d�� | d¡ W d   ƒ n1 �s^0    Y  d}tjt|d��( | t
dgdgdœƒ¡ W d   ƒ n1 �sª0    Y  d S )Nr¤   r¥   r­   z3Cannot setitem on a Categorical with a new categoryr-   r§   z!Length of 'value' does not match.r’   úC"value" parameter must be a scalar or dict, but you passed a "list"úD"value" parameter must be a scalar or dict, but you passed a "tuple")r¤   r¥   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame")rC   rD   r
   r   Ú_valuesr0   r1   Ú	TypeErrorr    r2   r   )r&   r±   rV   Úcatr4   Zmsg2r*   r*   r+   Útest_fillna_categorical_raises)  s*    (,..*ÿz/TestSeriesFillNA.test_fillna_categorical_raisesr   Úfloat32rY   Ú	fill_typec           
      C   sè   t tjdg|d�}t ddg|d�}|r2|j d¡}| |¡}t ddg|d�}t ||¡ t tjdg|d�}| ¡  	¡ }|||< t ||¡ t tjdg|d�}|j
||dd� t ||¡ t tjdg|d�}| | |¡}	t |	|¡ d S )Nç333333ó?r   r   r9   T)r¨   )r
   rC   rD   r   Útyper    r$   r%   r   Zto_numpyÚmaskrb   )
r&   r   r½   r   rV   Zfill_valuesrM   r)   rÀ   ro   r*   r*   r+   Útest_fillna_float_castingH  s"    
z*TestSeriesFillNA.test_fillna_float_castingc                 C   sD   t tjdgtjd�}| ddi¡}t ddgtjd�}t ||¡ d S )Nr¾   r   r   r   r8   )r
   rC   rD   r¼   r    r$   r%   rU   r*   r*   r+   Ú test_fillna_f32_upcast_with_dictc  s    z1TestSeriesFillNA.test_fillna_f32_upcast_with_dictc              
   C   sJ   z|j dd� W n4 tyD } zdt|ƒv s0J ‚W Y d }~n
d }~0 0 d S )NZffilr   )r    r2   Ústr)r&   r3   Úinstr*   r*   r+   Útest_fillna_invalid_methodm  s    z+TestSeriesFillNA.test_fillna_invalid_methodc                 C   sš   t tj d¡ ddd¡ƒ}d}tjt|d�� | ddg¡ W d   ƒ n1 sP0    Y  d}tjt|d�� | d	¡ W d   ƒ n1 sŒ0    Y  d S )
Nr   éœÿÿÿéd   é2   r¶   r-   r   r·   )r   r   )	r
   rC   ÚrandomÚdefault_rngÚintegersr0   r1   r¹   r    )r&   rV   r4   r*   r*   r+   Útest_fillna_listlike_invalids  s    ,z-TestSeriesFillNA.test_fillna_listlike_invalidc              
   C   sp   t g d¢ƒ}d g d¢¡}dD ]L}dD ]B}tjt|d��  |jd||d� W d   ƒ q&1 s^0    Y  q&qd S )	N)r   r   r   Nú|)z*Cannot specify both 'value' and 'method'\.zLimit must be greater than 0zLimit must be an integer)éÿÿÿÿr   r8   r9   )rB   r   r   r/   Nr-   r   )rS   r   )r
   Újoinr0   r1   r2   r    )r&   rV   r4   rS   r   r*   r*   r+   Ú$test_fillna_method_and_limit_invalid}  s    ÿz5TestSeriesFillNA.test_fillna_method_and_limit_invalidc                 C   s²   t tdddd�ƒ}| ¡ }t|d< | tdddtjd�¡}t 	||¡ t
d	d
d�}t |j d¡ƒ}|jjdksrJ ‚| |¡}t |d | |jj¡|d g|jd�}t 	||¡ d S )NZ2020r   r�   )r?   r`   r   iä  r   ©Útzinfor    r“   r_   zdateutil/US/Pacificr›   r   r   )r
   r   r"   r   r    r   r   Úutcr$   r%   r   r¸   r•   r   Úkindr`   )r&   rV   r)   rM   rE   re   r*   r*   r+   Ú+test_fillna_datetime64_with_timezone_tzinfoŒ  s    
þz<TestSeriesFillNA.test_fillna_datetime64_with_timezone_tzinfoz7input, input_fillna, expected_data, expected_categories)r   r™   Nr   r™   )r   r™   r™   r   r   c           
      C   sF   t |ƒ}t|ƒ |¡}| |¡}| |¡}t ||d�}	t ||	¡ d S )Nr­   )r   r
   r    r$   Zassert_categorical_equal)
r&   ÚinputZinput_fillnaÚexpected_dataZexpected_categoriesrº   rV   r(   rM   r)   r*   r*   r+   Ú(test_fillna_categorical_accept_same_type   s    

z9TestSeriesFillNA.test_fillna_categorical_accept_same_type)/Ú__name__Ú
__module__Ú__qualname__r,   r5   rG   rN   rR   rW   r\   rf   rj   rp   r}   r~   r0   ÚmarkÚparametrizeÚparamZxfailr‹   rŒ   rŽ   r—   r˜   rš   rž   rŸ   r¡   r¬   rC   rD   r
   r²   r   rµ   r»   Úfloatr$   ZALL_REAL_NUMPY_DTYPESrÁ   rÂ   rÅ   rÌ   rÐ   rÕ   rØ   r*   r*   r*   r+   r      s¶   %
0j#ÿþþþÿþþþ

 O	
"øþ
	ÿÿúýþ


þþr   z>ignore:Series.fillna with 'method' is deprecated:FutureWarningc                   @   sv   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zej dddg¡dd„ ƒZdS )ÚTestFillnaPadc                 C   s‚   t tjdtjdtjgg d¢ƒ}|jdd�}t tjddddg|jƒ}t ||¡ |jdd�}t ddddtjg|jƒ}t ||¡ d S )Nr8   r:   r¢   r/   r   r   )r
   rC   rD   r    rA   r$   r%   )r&   rV   r(   r)   r*   r*   r+   Útest_fillna_bug·  s    zTestFillnaPad.test_fillna_bugc                 C   s@   t g d¢tddd�d�}tj|jd< t | ¡ |jdd�¡ d S )	Nr6   r<   r=   r>   r@   r   r/   r   )	r
   r   rC   rD   r#   r$   r%   r/   r    ©r&   rE   r*   r*   r+   Ú
test_ffillÁ  s
    ÿzTestFillnaPad.test_ffillc                 C   s2   t tdddtjd�dgƒ}| ¡ }t ||¡ d S )Niß  r   rÑ   )r
   r   ÚpytzrÓ   r/   r$   r%   )r&   r'   rM   r*   r*   r+   Ú,test_ffill_mixed_dtypes_without_missing_dataÈ  s    z:TestFillnaPad.test_ffill_mixed_dtypes_without_missing_datac                 C   s@   t g d¢tddd�d�}tj|jd< t | ¡ |jdd�¡ d S )	Nr6   r<   r=   r>   r@   r   r   r   )	r
   r   rC   rD   r#   r$   r%   r   r    râ   r*   r*   r+   Ú
test_bfillÎ  s
    ÿzTestFillnaPad.test_bfillc                 C   sž   t tjdtjdtjgg d¢td�}|jddd�}|d u s<J ‚t tjddddgg d¢td�}t |dd … |dd … ¡ t |jd	 ¡sšJ t |jd	 ¡ƒ‚d S )
Nr8   r:   r¢   r   r   T©r   r¨   r   r   )	r
   rC   rD   rß   r    r$   r%   Úisnanr#   )r&   r©   r«   r)   r*   r*   r+   Útest_pad_nanÕ  s    ÿÿzTestFillnaPad.test_pad_nanc                 C   sÐ   t  d¡}tt j d¡ d¡|d�}|d d…  |¡}|jddd�}|d d…  |¡jdd�}t j|dd …< t	 
||¡ |d	d …  |¡}|jd
dd�}|d	d …  |¡jdd�}t j|d d…< t	 
||¡ d S )Né
   r   r@   r   r=   ©r   rS   r   éýÿÿÿéþÿÿÿr   rB   r   ©rC   rl   r
   rÉ   rÊ   Zstandard_normalZreindexr    rD   r$   r%   ©r&   rA   rƒ   rM   r)   r*   r*   r+   Útest_series_fillna_limitã  s    
z&TestFillnaPad.test_series_fillna_limitc                 C   sÀ   t  d¡}tt j d¡ d¡|d�}|d d… j|ddd�}|d d…  |¡jdd�}t j|dd …< t	 
||¡ |d	d … j|d
dd�}|d	d …  |¡jd
d�}t j|d d…< t	 
||¡ d S )Nrê   r   r@   r   r=   rë   r   rì   rí   rB   r   rî   rï   r*   r*   r+   Útest_series_pad_backfill_limitõ  s    
z,TestFillnaPad.test_series_pad_backfill_limitc                 C   sN   t tj d¡ ddd¡ƒ}|jddd�}|d u s4J ‚t |jddd�|¡ d S )	Nr   rÆ   rÇ   rÈ   r/   Trç   F)r
   rC   rÉ   rÊ   rË   r    r$   r%   )r&   rV   r«   r*   r*   r+   Útest_fillna_int  s    zTestFillnaPad.test_fillna_intc                 C   sŒ   t tttdddddddtjd�gƒ}| ¡ }t tdddddddtjd�tdddddddtjd�tdddddddtjd�gƒ}t ||¡ d S )Nià  é   é   é   é   i¡† rÑ   )r
   r   r   rä   rÓ   r   r$   r%   )r&   r±   r(   r)   r*   r*   r+   Ú$test_datetime64tz_fillna_round_issue  s    ÿýÿz2TestFillnaPad.test_datetime64tz_fillna_round_issuec                 C   sz   t tjtdd� ddd�}t| d¡ƒ}t|d< ttdƒtdƒtdƒtd	ƒtd
ƒgdd�}t|ƒ}| ¡ }t	 
||¡ d S )Nrê   )Únanosecondsr=   Úns)r?   r�   r   z2262-04-11 23:47:16.854775797z2262-04-11 23:47:16.854775798z2262-04-11 23:47:16.854775800z2262-04-11 23:47:16.854775801rœ   )r   r   Úmaxr   r
   Z	to_periodr   r   r/   r$   r%   )r&   r‡   rV   rn   r)   r(   r*   r*   r+   Útest_fillna_parr  s"    ÿûø
zTestFillnaPad.test_fillna_parrÚfuncr   rB   c                 C   sF   t g d¢ƒ}t t¡� t||ƒƒ  W d   ƒ n1 s80    Y  d S )N)r   r   r   )r
   r$   rc   rd   Úgetattr)r&   rü   rV   r*   r*   r+   Útest_pad_backfill_deprecated5  s    z*TestFillnaPad.test_pad_backfill_deprecatedN)rÙ   rÚ   rÛ   rá   rã   rå   ræ   ré   rð   rñ   rò   r÷   rû   r0   rÜ   rÝ   rþ   r*   r*   r*   r+   rà   ³  s   
rà   z#data, expected_data, method, kwargsr   é   r:   g      @r/   Ú
limit_areaZinsider   )r   rS   Zoutsider=   r   c                 C   s4   t | ƒ}t |ƒ}t||ƒf i |¤Ž}t ||¡ d S )N)r
   rý   r$   r%   )r±   r×   r   Úkwargsrƒ   r)   rM   r*   r*   r+   Útest_ffill_bfill_limit_area=  s    Cr  ) r   r   r   ÚnumpyrC   r0   rä   Zpandasr   r   r   r   r	   r
   r   r   r   r   r   Zpandas._testingZ_testingr$   Zpandas.core.arraysr   rÜ   Úfilterwarningsr   rà   rÝ   rD   Úranger  r*   r*   r*   r+   Ú<module>   sš   4ÿ       ÿ "ü" ü"ü" üüü"ü" ü"ü" üÉþA