o
    Û­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   Úassert_frame_equal)ÚselfÚseriesÚfilledÚfilled2ÚexpectedÚdf© r-   úd/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/series/methods/test_fillna.pyÚtest_fillna_nat    s4   z TestSeriesFillNA.test_fillna_natc                 C   sF   d}t jt|d�� |jddd� W d   ƒ d S 1 sw   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   ƒ d S 1 snw   Y  d S )N©ç        ç      ð?ç       @ç      @ç      @ú
2020-01-01é   ©Úperiods©Úindexr2   r   r   )r:   r;   r;   r=   r>   )r:   r;   r=   r=   r>   Úbackfill)r:   r;   g      @r=   r>   r   z'Must specify a fill 'value' or 'method'r0   )r
   r   r$   r%   r    ÚnpÚnanr#   rD   r3   r4   r5   )r'   ÚtsÚexpr7   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   r;   r-   r   r   )r   r   é   r@   rC   )r
   rF   rG   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   Úbac)r   r   r<   )r
   ÚlistrF   rG   r    r$   r%   rM   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 )NrR   rC   iç  r   )Úlimitr   ©r
   rF   rG   r    r$   r%   ©r'   ÚserrP   r+   r-   r-   r.   Útest_fillna_limit   s   z"TestSeriesFillNA.test_fillna_limitc                 C   s\   g d¢}|D ]%}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   rK   Úfloat64r   rL   rX   )r'   ÚvalsÚvalrZ   rP   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 svw   Y  t ||¡ d S )NÚ20130101ú
US/Eastern©Útzú
2013-01-01rL   r   TFÚfoozincompatible dtyper0   r   )
r
   r   r   r    r$   r%   Úwherer"   Úassert_produces_warningÚFutureWarning)r'   rZ   rP   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 s"w   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 sUw   Y  t ddgƒ}t ||¡ d S )Nr;   ú.The 'downcast' keyword in fillna is deprecatedr0   r   Úinfer©Údowncastr   )r
   rF   rG   r$   rh   ri   r    r%   )r'   rZ   r7   rP   r+   r-   r-   r.   Útest_fillna_downcast²   s   ÿÿz%TestSeriesFillNA.test_fillna_downcastc                 C   s^  t  d¡ t¡}t j|d< t|ƒ}d}tjt|d�� |j	ddd�}W d   ƒ n1 s,w   Y  tt  d¡t j
d�}t ||¡ d}tjt|d�� |jdd�}W d   ƒ n1 s[w   Y  tg d	¢t j
d�}t ||¡ d
}tjt|d�� |jdd�}W d   ƒ n1 s‰w   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Åw   Y  t ||¡ d}tjt|d�� |jdd�}W d   ƒ n1 sêw   Y  tg d¢t jd�}t ||¡ d
}tjt|d�� |jdd�}W d   ƒ n	1 �sw   Y  tg d¢t jd�}t ||¡ d S )Nr@   r   rl   r0   rm   rn   r   z-The 'downcast' keyword in ffill is deprecated)r   r   r   r   rK   z-The 'downcast' keyword in bfill is deprecated)r   r   r   rK   rK   ç      @r   )r   r   rq   r   rK   )r   r   rq   rq   rK   )r   r   rq   rK   rK   )rF   ÚarangeÚastyperL   rG   r
   r$   rh   ri   r    Úint64r%   r2   r   r]   )r'   ÚarrrZ   r7   Úresr+   r-   r-   r.   Ú-test_fillna_downcast_infer_objects_to_numericÃ   sP   
ÿÿÿÿÿÿ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 )Nra   Ú20130102ú20130103 9:01:01úM8[ú]r   r   )Úsecondsr   iÍ~  )Údaysr|   zm8[i Êš;r   )r
   r   Údiffr"   r    r   r   r$   Úassert_equalrs   rL   rF   Útimedelta64r   rG   r2   r   )	r'   Úframe_or_seriesÚunitrZ   ÚtdÚobjrP   r+   rv   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 )Nra   rx   ry   r   )r
   r   rF   rG   r2   r$   r%   r   rY   r-   r-   r.   Útest_datetime64_fillna]  s4   üÿ
üÿüÿz'TestSeriesFillNA.test_datetime64_fillnaÚscalarFTz&GH#56410 scalar case not yet addressed)Úreason)Úmarksrd   NÚUTCc                 C   s¨   t ddd|d�}td|d�}t |ddd�}|d u rd	nd
}t||d |d g|d�}t|ƒ}t|d< | ¡ }	| |¡}
|	 t|ƒ¡}|rLt |
|¡ d S t ||¡ d S )Nú
2016-01-01r   Ús)rB   r‚   rd   ú2016-02-03 04:05:06.789rc   Úms©rB   r‚   zM8[ms]zM8[ms, UTC]r   r   r   r   )r   r   r
   r   r"   r    r$   r%   )r'   rd   r‡   ÚdtiÚitemÚvecÚ	exp_dtyper+   rZ   rj   rv   Ú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|ƒ¡}	|rIt ||¡ d S 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‡   Útdir‘   r’   r+   rZ   rj   rv   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˜   rE   r   )r
   r   r    r$   r%   )r'   rZ   r+   rP   r-   r-   r.   Útest_datetime64_fillna_backfillÂ  s   úz0TestSeriesFillNA.test_datetime64_fillna_backfillrb   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:00rz   r{   r   )FTFTú2011-01-02 10:00rc   ÚAAAz2011-01-04 10:00©r   r   zdatetime64[z, )rš   rœ   r›   rœ   ra   re   ú
US/Pacific)r
   r   r   r    r$   r%   r   rL   r   Úas_unitr   Úto_pydatetimeÚdtÚ
tz_convert)r'   rd   r‚   rZ   Únull_locrP   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'   rZ   rI   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   ÚBrC   r   )r
   rF   rG   r   r    r   r$   r%   rY   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s2J ‚d S )Nz2011-01ÚM©Úfreqr   z2012-01z	Period[M])r
   r	   r    r$   r%   r   )r'   rZ   rv   rI   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 )Nra   rx   ry   r   Ú20130104)r
   r   rF   rG   r    r$   r   r   )r'   r�   rZ   r„   rP   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   rF   Ú
datetime64r    r$   r%   )r'   rZ   r_   rP   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 )Nr;   r=   ©ÚzÚaÚbÚcÚdr   T)r   Úinplacer   )r
   rF   rG   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   rK   )rµ   rµ   r¶   r¶   r¶   r   rž   rC   r   rK   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©rF   rG   r
   r   r    r$   r%   ©r'   Ú
fill_valueÚexpected_outputÚdatarZ   rI   rP   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 s0w   Y  d}tjt	|d�� | tdƒ¡ W d   ƒ n1 sPw   Y  tjt|d�� | dddœ¡ W d   ƒ n1 sow   Y  d	}tjt|d�� | ddg¡ W d   ƒ n1 s�w   Y  d
}tjt|d�� | d¡ W d   ƒ n1 s­w   Y  d}tjt|d�� | t
dgdgdœƒ¡ W d   ƒ d S 1 sÓw   Y  d S )Nrµ   r¶   r¾   z3Cannot setitem on a Categorical with a new categoryr0   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")rF   rG   r
   r   Ú_valuesr3   r4   Ú	TypeErrorr    r5   r   )r'   rÄ   rZ   Úcatr7   Úmsg2r-   r-   r.   Útest_fillna_categorical_raises)  s6   ÿÿÿÿÿÿ"ÿz/TestSeriesFillNA.test_fillna_categorical_raisesr   Úfloat32r]   Ú	fill_typec           
      C   sè   t tjdg|d�}t ddg|d�}|r|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   r<   T)r¹   )r
   rF   rG   r   Útyper    r$   r%   r   Úto_numpyÚmaskrg   )
r'   r   rÑ   r‡   rZ   Úfill_valuesrP   r+   rÕ   rv   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   r;   )r
   rF   rG   rÐ   r    r$   r%   rY   r-   r-   r.   Ú test_fillna_f32_upcast_with_dictc  s   z1TestSeriesFillNA.test_fillna_f32_upcast_with_dictc              
   C   sJ   z	|j dd� W d S  ty$ } zdt|ƒv sJ ‚W Y d }~d S d }~ww )NÚffilr   )r    r5   Ústr)r'   r6   Ú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 s(w   Y  d}tjt|d�� | d	¡ W d   ƒ d S 1 sGw   Y  d S )
Nr   éœÿÿÿéd   é2   rÉ   r0   r   rÊ   )r   r   )	r
   rF   ÚrandomÚdefault_rngÚintegersr3   r4   rÌ   r    )r'   rZ   r7   r-   r-   r.   Útest_fillna_listlike_invalids  s   ÿ"ÿz-TestSeriesFillNA.test_fillna_listlike_invalidc              
   C   sp   t g d¢ƒ}d g d¢¡}dD ]&}dD ]!}tjt|d�� |jd||d� W d   ƒ n1 s/w   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   r;   r<   )rE   r   r   r2   Nr0   r   )rW   r   )r
   Újoinr3   r4   r5   r    )r'   rZ   r7   rW   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s9J ‚| |¡}t |d | |jj¡|d g|jd�}t 	||¡ d S )NÚ2020r   rŠ   )rB   rd   r   iä  r   ©Útzinfor°   rŸ   rc   zdateutil/US/Pacificrª   r   r   )r
   r   r"   r   r    r   r   Úutcr$   r%   r   rË   r£   r   Úkindrd   )r'   rZ   r+   rP   rH   rj   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$   Úassert_categorical_equal)
r'   ÚinputÚinput_fillnaÚexpected_dataÚexpected_categoriesrÍ   rZ   r)   rP   r+   r-   r-   r.   Ú(test_fillna_categorical_accept_same_type   s   

z9TestSeriesFillNA.test_fillna_categorical_accept_same_type)/Ú__name__Ú
__module__Ú__qualname__r/   r8   rJ   rQ   rV   r[   r`   rk   rp   rw   r…   r†   r3   ÚmarkÚparametrizeÚparamÚxfailr•   r—   r™   r¦   r§   r©   r­   r¯   r²   r½   rF   rG   r
   rÅ   r   rÈ   rÏ   Úfloatr$   Ú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 )Nr;   r=   r³   r2   r   r   )r
   rF   rG   r    rD   r$   r%   )r'   rZ   r)   r+   r-   r-   r.   Útest_fillna_bug·  s   zTestFillnaPad.test_fillna_bugc                 C   ó@   t g d¢tddd�d�}tj|jd< t | ¡ |jdd�¡ d S )	Nr9   r?   r@   rA   rC   r   r2   r   )	r
   r   rF   rG   r#   r$   r%   r2   r    ©r'   rH   r-   r-   r.   Ú
test_ffillÁ  ó
   ÿ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ë   r2   r$   r%   )r'   r(   rP   r-   r-   r.   Ú,test_ffill_mixed_dtypes_without_missing_dataÈ  s   z:TestFillnaPad.test_ffill_mixed_dtypes_without_missing_datac                 C   rÿ   )	Nr9   r?   r@   rA   rC   r   r   r   )	r
   r   rF   rG   r#   r$   r%   r   r    r   r-   r-   r.   Ú
test_bfillÎ  r  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	 ¡sMJ t |jd	 ¡ƒ‚d S )
Nr;   r=   r³   r   r   T©r   r¹   r   r   )	r
   rF   rG   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   rC   r   r@   ©r   rW   r   éýÿÿÿéþÿÿÿr   rE   r   ©rF   rr   r
   rà   rá   Ústandard_normalÚreindexr    rG   r$   r%   ©r'   rD   rŒ   rP   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   rC   r   r@   r
  r   r  r  rE   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 sJ ‚t |jddd�|¡ d S )	Nr   rÝ   rÞ   rß   r2   Tr  F)r
   rF   rà   rá   râ   r    r$   r%   )r'   rZ   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)rB   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
   Ú	to_periodr   r   r2   r$   r%   )r'   r�   rZ   ru   r+   r)   r-   r-   r.   Útest_fillna_parr  s"   ÿûø
zTestFillnaPad.test_fillna_parrÚfuncr   rE   c                 C   sH   t g d¢ƒ}t t¡� t||ƒƒ  W d   ƒ d S 1 sw   Y  d S )N)r   r   r   )r
   r$   rh   ri   Úgetattr)r'   r  rZ   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  r3   r÷   rø   r   r-   r-   r-   r.   rý   ³  s    
rý   z#data, expected_data, method, kwargsr   é   r=   g      @r2   Ú
limit_areaÚinsider   )r"  rW   Úoutsider@   r   c                 C   s4   t | ƒ}t |ƒ}t||ƒdi |¤Ž}t ||¡ d S )Nr-   )r
   r  r$   r%   )rÄ   rñ   r   ÚkwargsrŒ   r+   rP   r-   r-   r.   Útest_ffill_bfill_limit_area=  s   Cr&  ) r   r   r   ÚnumpyrF   r3   r  Úpandasr   r   r   r   r	   r
   r   r   r   r   r   Úpandas._testingÚ_testingr$   Úpandas.core.arraysr   r÷   Úfilterwarningsr   rý   rø   rG   Úranger&  r-   r-   r-   r.   Ú<module>   sœ    4ÿ       ÿ "ü" ü"ü" üüü"ü" ü"ü" üÉþA