a
    é´«j‰‚  ã                   @   s„  d dl Zd dlZd dlmZ d dlm  mZ d dl	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 G dd„ dƒZdd„ Zd	d
„ Zej dddg¡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 )é    N)ÚWARNING_CHECK_DISABLED)
ÚCategoricalÚ	DataFrameÚDatetimeIndexÚNaTÚPeriodIndexÚSeriesÚTimedeltaIndexÚ	TimestampÚ
date_rangeÚto_datetime)Ú_check_mixed_floatc                   @   sÖ  e Zd Zdd„ Zej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dd„ Zdd„ Zdd „ Zej d!g d"¢d#d#gg¡d$d%„ ƒZd&d'„ Zej d(d)d*ejd+g¡d,d-„ ƒZd.d/„ Zd0d1„ Zd2d3„ Zd4d5„ Z d6d7„ Z!d8d9„ Z"ej d:e#e$g¡d;d<„ ƒZ%ej d:e#e$g¡d=d>„ ƒZ&d?d@„ Z'dAdB„ Z(dCdD„ Z)dEdF„ Z*dGdH„ Z+dIdJ„ Z,dKdL„ Z-dMdN„ Z.dOdP„ Z/dQdR„ Z0dSdT„ Z1dUdV„ Z2ej3ej d(dWdWdWdXœg¡dYdZ„ ƒƒZ4d[d\„ Z5d]d^„ Z6d_S )`Ú
TestFillNAc                 C   sL  t tjgd ttdƒtgtjddgdœƒ}g d¢|_|d d … }t |¡�" |jddidd	� W d   ƒ n1 sr0    Y  t d
gd dtdƒdgg d¢dœƒ}g d¢|_t 	||¡ |sæt 
|jd d …df |jd d …df ¡sæJ ‚t 
|jd d …df |jd d …df ¡�rJ ‚|�sHt 
|jd d …df |jd d …df ¡�sHJ ‚d S )Né   é   Úfooé   ©ÚAÚBÚC)r   r   r   r   T©Úinplaceç       @)r   r   r   r   )r   ÚnpÚnanr   r
   ÚcolumnsÚtmÚassert_cow_warningÚfillnaÚassert_frame_equalÚshares_memoryÚiloc)ÚselfÚusing_copy_on_writeÚwarn_copy_on_writeÚdfÚorigÚexpected© r)   úe/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/frame/methods/test_fillna.pyÚ*test_fillna_dict_inplace_nonunique_columns   s"    $ÿ
0ÿ
,.z5TestFillNA.test_fillna_dict_inplace_nonunique_columnsc                 C   s  t  dt j¡}t|dd�}|rxt ¡ �" |d jddd� W d   ƒ n1 sN0    Y  t  |d d …df ¡ ¡ sÜJ ‚ndtj	t
s„tnd dd	��" |d jddd� W d   ƒ n1 s¶0    Y  |d d …df dk ¡ sÜJ ‚t|jjƒd
ksðJ ‚t  |j|¡�sJ ‚d S )N)é(   é2   F)Úcopyr   éÿÿÿÿTr   zinplace method©Úmatchr   )r   Úfullr   r   r   Zraises_chained_assignment_errorr   ÚisnanÚallÚassert_produces_warningr   ÚFutureWarningÚlenZ_mgrZarraysr!   Úvalues)r#   r$   Úarrr&   r)   r)   r*   Útest_fillna_on_column_view3   s    
0 
þ0z%TestFillNA.test_fillna_on_column_viewc                 C   s€  |}t j|j|jd d… df< t j|j|jdd … df< | d¡}|j|jd d… df dk ¡ sfJ ‚d}tjt|d�� |jdd�}W d   ƒ n1 sš0    Y  t  	|j|jd d… df ¡ ¡ sÊJ ‚|j|jdd … df |j|jd df k ¡ sþJ ‚d	}t
jt|d�� | ¡  W d   ƒ n1 �s00    Y  d
}t
jt|d�� |jddd� W d   ƒ n1 �sr0    Y  d S )Né   r   éûÿÿÿr   ú,DataFrame.fillna with 'method' is deprecatedr0   Úpad©Úmethodz'Must specify a fill 'value' or 'method'z(Cannot specify both 'value' and 'method'Úffill)r   r   ÚlocÚindexr   r4   r   r5   r6   r3   ÚpytestÚraisesÚ
ValueError)r#   Údatetime_frameÚtfZzero_filledÚmsgÚpaddedr)   r)   r*   Útest_fillna_datetimeI   s"    
$*&*ÿ
(zTestFillNA.test_fillna_datetimec                 C   s†   |}t j|j|jdd… df< t j|j|jdd … df< |jdd� d}tjt|d	�� |jd
d� W d   ƒ n1 sx0    Y  d S )Nr;   é   r   éöÿÿÿr   r   ©Úvaluer=   r0   r>   r?   )r   r   rB   rC   r   r   r5   r6   )r#   Zfloat_string_frameÚmfrI   r)   r)   r*   Útest_fillna_mixed_type`   s    z!TestFillNA.test_fillna_mixed_typec                 C   s˜   |j g d¢d�}tj|j|jdd … df< |jdd�}t|dd id� d	}tjt	|d
�� |jdd�}W d   ƒ n1 sz0    Y  t|dd id� d S )N)r   r   ÚD©r   rM   r   r   rN   r   ©Údtyper=   r0   r>   r?   )
Úreindexr   r   rB   rC   r   r   r   r5   r6   )r#   Zmixed_float_framerP   ÚresultrI   r)   r)   r*   Útest_fillna_mixed_floatj   s    *z"TestFillNA.test_fillna_mixed_floatc              	   C   sx   |rt  d¡ tdgd�}dD ]T}d}tjt|d��. |jj|dd� |jj|d	� W d   ƒ q1 sh0    Y  qd S )
Nz9condition is unnecessary complex and is deprecated anywayÚxrS   )r>   Úbackfillz)Series.fillna with 'method' is deprecatedr0   T©r@   r   r?   )rD   Úskipr   r   r5   r6   rY   r   )r#   r$   r&   ÚmrI   r)   r)   r*   Útest_fillna_emptyv   s    
zTestFillNA.test_fillna_emptyc                 C   s    t ddtjdgddtjdgddtjdggƒ}| ddi¡}t g d¢g d¢g d¢gƒ}|d  d	¡|d< t ||¡ |jddid
d�}t ||¡ |d u sœJ ‚d S )NÚaÚbÚcr   r   )r_   r_   r   r_   )r`   r`   r   r`   )ra   ra   r   ra   ÚobjectTr   )r   r   r   r   Úastyper   r    )r#   r&   rW   r(   Zreturn_valuer)   r)   r*   Útest_fillna_different_dtype�   s    &ÿÿz&TestFillNA.test_fillna_different_dtypec                 C   sx   t tj d¡ d¡ƒ}tj|jdd…df< tj|jdd…df< | ¡ }d|jd< d|jd	< |jdd
d�}t	 
||¡ d S )Nr   )é
   r   é   r   r   r;   iç  )r   r   )r   r   r   ©Úlimit)r   r   ÚrandomÚdefault_rngÚstandard_normalr   r"   r.   r   r   r    ©r#   r&   r(   rW   r)   r)   r*   Útest_fillna_limit_and_value“   s    

z&TestFillNA.test_fillna_limit_and_valuec                 C   sl   t ttdƒgtdƒtgdœƒ}| ¡ }|d  |j|jd df ¡|d< |jd|d id�}t ||¡ d S )Nz2014-1-1z2013-1-1)ÚDateÚDate2rn   r   ro   rN   )	r   r   r
   r.   r   rB   rC   r   r    rl   r)   r)   r*   Útest_fillna_datelikeŸ   s    

þÿ"zTestFillNA.test_fillna_datelikec                 C   sð   t dtdƒtgiƒ}t dtdƒtdƒgiƒ}d}tjt|d�� |jdd�}W d   ƒ n1 s`0    Y  t ||¡ t dttdƒgiƒ}t dtdƒtdƒgiƒ}d}tjt|d�� |jdd�}W d   ƒ n1 sÖ0    Y  t ||¡ d S )Nr   z2012-11-11 00:00:00+01:00r=   r0   r>   r?   Úbfill)r   r
   r   r   r5   r6   r   r    )r#   r&   ÚexprI   Úresr)   r)   r*   Útest_fillna_tzaware®   s0    þÿÿ*þÿÿ*zTestFillNA.test_fillna_tzawarec                 C   sŽ   t tdddd�ddtjtjgdœƒ}d}tjt|d	�� |jd
d�}W d   ƒ n1 sX0    Y  t tdddd�g d¢dœƒ}t ||¡ d S )NÚ20130101é   z
US/Eastern)ÚperiodsÚtzr   r   ©r   r   r=   r0   r>   r?   )ç      ð?r   r   r   )	r   r   r   r   r   r5   r6   r   r    ©r#   r&   rI   rW   r(   r)   r)   r*   Ú$test_fillna_tzaware_different_columnÍ   s    þÿ*þÿz/TestFillNA.test_fillna_tzaware_different_columnc                 C   s  t dddtjgg d¢d�}ddtjdg}t||d	œƒ}t g d
¢g d¢d�}g d¢}t||d	œƒ}t g d¢g d¢d�}ddtjg}t||d	œƒ}	t ddgg d¢d�}
ddg}t|
|d	œƒ}|jddd	œd�}t ||¡ d}tjt	|d��" |jddd	œd� W d   ƒ n1 �s0    Y  d}tj
t|d�� |jdd�}W d   ƒ n1 �sR0    Y  t ||¡ |jdgd�}t ||	¡ | ¡ }t ||¡ t tjdtjgddgd�}t|g d¢d	œƒ}t g d¢ddgd�}t|g d¢d	œƒ}| d¡}t ||¡ d S )Nr   r   r   ©r   r   r   )Ú
categoriesr_   r`   Úd©ÚcatsÚvals)r   r   r   r   )r_   r`   r`   r   rN   z3Cannot setitem on a Categorical with a new categoryr0   rv   ra   r=   r>   r?   r�   )Zsubset)r_   r`   r_   )r   r   r   r   r   r   r    rD   rE   Ú	TypeErrorr5   r6   Zdropna)r#   Úcatr‚   r&   Úcat2Zvals2Zdf_exp_fillZcat3Zvals3Zdf_exp_drop_catsZcat4Zvals4Zdf_exp_drop_allrs   rI   ra   Zcat_expÚdf_expr)   r)   r*   Útest_na_actions_categoricalá   s>    2,
z&TestFillNA.test_na_actions_categoricalc           
      C   sb  t tjdtjgƒ}t tjtjtjgƒ}t||dœƒ}tdtjdœƒ}| |¡}tjtjtjg}tg d¢|dœdd�}t ||¡ |j tj¡}t 	||j¡ |j
 tj¡}t 	||j
¡ tdddttgƒ}	td	t |	ƒiƒ}t |jtd
�|¡ tdddttgdd�}	td	t |	ƒiƒ}t |jtd
�|¡ tdddttgƒ}	td	t |	ƒiƒ}t |jtd
�|¡ d S )Nr   r€   r   )r   r   r   ÚcategoryrT   z2011-01-01 09:00z2016-01-01 23:45r_   rN   z2011-01ÚM)Úfreqz1 daysz2 days)r   r   r   r   r   r   r   r    r�   Úassert_series_equalr‚   r   r   r   r	   )
r#   r„   Úvalr&   Zmedianrs   Zv_expr†   rW   Úidxr)   r)   r*   Útest_fillna_categorical_nan  s.    
ÿz&TestFillNA.test_fillna_categorical_nanc                 C   sà   t ddtjgiƒ}d}tjt|d�� |jddd�}W d   ƒ n1 sH0    Y  t dddgiƒ}t ||¡ t ddtjgiƒ}tjt|d��" |jddidd�}W d   ƒ n1 s¶0    Y  t dddgiƒ}t ||¡ d S )	Nr_   rz   z.The 'downcast' keyword in fillna is deprecatedr0   r   Úinfer©Zdowncastr   ©r   r   r   r   r5   r6   r   r    r{   r)   r)   r*   Útest_fillna_downcast1  s    ,0zTestFillNA.test_fillna_downcastc                 C   s`   |g d¢dd�}d}t jt|d�� |jddd�}W d   ƒ n1 sF0    Y  t  ||¡ d S )	Nr}   rb   rT   ú The 'downcast' keyword in fillnar0   Ú Fr�   )r   r5   r6   r   Úassert_equal)r#   Úframe_or_seriesÚobjrI   rW   r)   r)   r*   Útest_fillna_downcast_falseB  s
    ,z%TestFillNA.test_fillna_downcast_falsec           
      C   s   |g d¢t jd�}d}tjt|d��& |jdt  t j¡d�}W d   ƒ n1 sP0    Y  | t j¡}t 	||¡ | t j
¡}tjt|d�� |jddd�}W d   ƒ n1 s°0    Y  |}t 	||¡ tjt|d��& |jdt  t j¡d�}	W d   ƒ n1 �s0    Y  t 	|	|¡ d S )Nr}   rT   r“   r0   r   r�   r�   )r   Úint64r   r5   r6   r   rU   Zint32rc   r•   Úfloat64)
r#   r–   r—   rI   rs   r(   Úobj2Zres2Ú	expected2Zres3r)   r)   r*   Útest_fillna_downcast_noopJ  s    4,6z$TestFillNA.test_fillna_downcast_noopr   )r   r   r   r   c                 C   sl   t tjddg|d�}t d ¡� | ddi¡}W d   ƒ n1 sB0    Y  | ¡ }d|d< t ||¡ d S )Nr   r   ©rC   r   r   ç        )r   r   r   r   r5   r   r.   r    )r#   r   r&   rW   r(   r)   r)   r*   Ú-test_fillna_dictlike_value_duplicate_colnamesd  s    ,z8TestFillNA.test_fillna_dictlike_value_duplicate_colnamesc                 C   sè   t g d¢g d¢d�}|j}tt d¡gd g d¢d�}t ||¡ d}tjt|d�� | 	d	¡}W d   ƒ n1 st0    Y  t d	g d¢g d¢d�}t 
||¡ t td
ƒddgdd�}| 	d¡}t dtd
ƒddgtd�}t 
||¡ d S )Nr   )r   r   r   rv   r;   rž   rb   r;   ©rC   úDowncasting object dtype arraysr0   r   r   r   r   rš   )rC   r   rU   r   )r   Zdtypesr   r   rU   r   r‹   r5   r6   r   r    Úrangerb   )r#   Zusing_infer_stringr&   rW   r(   rI   r)   r)   r*   Útest_fillna_dtype_conversiono  s    (
z'TestFillNA.test_fillna_dtype_conversionrŒ   r”   r   rz   c                 C   s@   t dtjgddgdœƒ}| tj|¡}| |¡}t ||¡ d S )Nr   rz   r   ry   )r   r   r   Úreplacer   r   r    )r#   rŒ   r&   r(   rW   r)   r)   r*   Ú*test_fillna_dtype_conversion_equiv_replace‚  s    
z5TestFillNA.test_fillna_dtype_conversion_equiv_replacec                 C   s  t ddtjgtddd�g d¢g d¢dœtd	dd�d
�}| d¡}t g d¢tddd�g d¢g d¢dœtd	dd�d
�}t ||¡ t ddtjgtdƒtdƒtgg d¢g d¢dœtd	dd�d
�}| d¡}t g d¢tdƒtdƒdgg d¢g d¢dœtd	dd�d
�}t ||¡ d S )Nr/   éþÿÿÿru   r   )rw   )r   ÚbarN)Úfoo2Úbar2N©r   r   r   rR   Z20130110r¡   ú?)r/   r§   r¬   )r   r¨   r¬   )r©   rª   r¬   z
2013-01-01z
2013-01-02)	r   r   r   r   r   r   r    r
   r   ©r#   r&   rW   r(   r)   r)   r*   Útest_fillna_datetime_columns‰  sH    

ü
ù	

ü
ù	
ü
ù	
ü
ù	z'TestFillNA.test_fillna_datetime_columnsc                 C   s†   t j|j|jd d… df< t j|j|jdd … df< d}tjt|d�� |jdd�}W d   ƒ n1 sh0    Y  t | 	¡ |¡ d S )Nr;   r   r<   r=   r0   rA   r?   )
r   r   rB   rC   r   r5   r6   r   r    rA   ©r#   rG   rI   Zaltr)   r)   r*   Ú
test_ffillµ  s    *zTestFillNA.test_ffillc                 C   s†   t j|j|jd d… df< t j|j|jdd … df< d}tjt|d�� |jdd�}W d   ƒ n1 sh0    Y  t | 	¡ |¡ d S )Nr;   r   r<   r=   r0   rq   r?   )
r   r   rB   rC   r   r5   r6   r   r    rq   r¯   r)   r)   r*   Ú
test_bfill¾  s    *zTestFillNA.test_bfillc                 C   s$  t  d¡}tt j d¡ d¡|d�}|d d… j|ddd�}d}tjt	|d	��* |d d…  |¡j
dd
�}W d   ƒ n1 s~0    Y  t j|jdd …< t ||¡ |dd … j|ddd�}tjt	|d	��* |dd …  |¡j
dd
�}W d   ƒ n1 sú0    Y  t j|jd d…< t ||¡ d S )Nre   r   ©re   rv   r¡   r>   r;   ©r@   rh   r=   r0   r?   éýÿÿÿr§   rZ   r   ©r   Zaranger   ri   rj   rk   rV   r   r5   r6   r   r   r"   r    ©r#   rC   r&   rW   rI   r(   r)   r)   r*   Útest_frame_pad_backfill_limitÈ  s    
88z(TestFillNA.test_frame_pad_backfill_limitc                 C   s”  t  d¡}tt j d¡ d¡|d�}|d d…  |¡}d}tjt	|d�� |j
ddd	�}W d   ƒ n1 sl0    Y  tjt	|d��* |d d…  |¡j
dd
�}W d   ƒ n1 s´0    Y  t j|jdd …< t ||¡ |dd …  |¡}tjt	|d�� |j
ddd	�}W d   ƒ n1 �s 0    Y  tjt	|d��* |dd …  |¡j
dd
�}W d   ƒ n1 �sj0    Y  t j|jd d…< t ||¡ d S )Nre   r   r²   r¡   r=   r0   r>   r;   r³   r?   r´   r§   rZ   r   rµ   r¶   r)   r)   r*   Útest_frame_fillna_limitÛ  s"    
,8.:z"TestFillNA.test_frame_fillna_limitc                 C   s,   t tj d¡ d¡ t¡ƒ}| tj¡ d S )Nr   r²   )	r   r   ri   rj   rk   rc   Úintr   r   )r#   r&   r)   r)   r*   Útest_fillna_skip_certain_blocksò  s    z*TestFillNA.test_fillna_skip_certain_blocksÚtypec                 C   s`   t tj d¡ d¡ƒ |¡}d}tjt|d�� |j	ddd� W d   ƒ n1 sR0    Y  d S )Nr   r²   zLimit must be greater than 0r0   r   r<   rg   ©
r   r   ri   rj   rk   rc   rD   rE   rF   r   ©r#   r»   r&   rI   r)   r)   r*   Útest_fillna_positive_limitú  s    z%TestFillNA.test_fillna_positive_limitc                 C   s`   t tj d¡ d¡ƒ |¡}d}tjt|d�� |j	ddd� W d   ƒ n1 sR0    Y  d S )Nr   r²   zLimit must be an integerr0   r   g      à?rg   r¼   r½   r)   r)   r*   Útest_fillna_integer_limit  s    z$TestFillNA.test_fillna_integer_limitc                 C   sP  t tj d¡ d¡ƒ}tj|jd d…df< tj|jdd …df< |jdd�}||usVJ ‚|jdd	d
� t 	||¡ |jddid	d
�}|d u sŽJ ‚tj|jd d…df< tj|jdd …df< d}tj
t|d�� |jdd�}W d   ƒ n1 sê0    Y  ||u�sJ ‚tj
t|d�� |jdd	d� W d   ƒ n1 �s60    Y  t 	||¡ d S )Nr   r²   rv   r   éüÿÿÿr   r   rN   T©rO   r   r=   r0   rA   r?   r[   )r   r   ri   rj   rk   r   rB   r   r   r    r5   r6   )r#   r&   r(   rI   r)   r)   r*   Útest_fillna_inplace
  s$    *.zTestFillNA.test_fillna_inplacec                 C   s  t tjddtjtjgdddtjtjgtjddddgdœƒ}| dddœ¡}| ¡ }|d	  d¡|d	< |d
  d¡|d
< t ||¡ | ddddœ¡}| | ¡ ¡}| | ¡  ¡ ¡}t ||¡ t	j
tdd��$ |j| d¡dd� W d   ƒ n1 sø0    Y  d S )Nr   r   r   rv   ©r_   r`   ra   r   r;   )r_   r`   r_   r`   rf   )r_   r`   r   zcolumn by columnr0   )Úaxis)r   r   r   r   r.   r   r    ÚmaxÚto_dictrD   rE   ÚNotImplementedErrorr­   r)   r)   r*   Útest_fillna_dict_series#  s"    ýÿz"TestFillNA.test_fillna_dict_seriesc                 C   sÈ   t tjddtjtjgdddtjtjgtjddddgdœtdƒd�}t tjdd	d
dgg d¢dgd dœtdƒd�}| |¡}t tjddtjdgdddtjdgtjddddgdœtdƒd�}t ||¡ d S )Nr   r   r   rv   rÃ   ZVWXYZr¡   re   rL   é   r,   )r-   é<   éF   éP   éZ   r¨   r;   )r_   r`   r   ZVWXuZrÍ   ©r   r   r   Úlistr   r   r    )r#   r&   Zdf2rW   r(   r)   r)   r*   Útest_fillna_dataframe?  s.    ýú
ýú	
ýú	z TestFillNA.test_fillna_dataframec                 C   sZ  t j d¡ d¡}t j|d d …d d d…f< t|ƒ}d}tjt|d�� |j	ddd�}W d   ƒ n1 sh0    Y  tjt|d��  |j
j	dd	�j
}W d   ƒ n1 s¦0    Y  t ||¡ | d
dd¡ tjt|d�� |j	ddd�}W d   ƒ n1 sü0    Y  tjt|d��$ | t¡j	ddd�}W d   ƒ n1 �s@0    Y  t ||¡ d S )Nr   )re   re   r=   r0   rA   r   )r@   rÄ   r>   r?   é   r   r;   )r   ri   rj   rk   r   r   r   r5   r6   r   ÚTr    Úinsertrc   Úfloat)r#   r9   r&   rI   rW   r(   r)   r)   r*   Útest_fillna_columnsb  s    ,.,4zTestFillNA.test_fillna_columnsc                 C   s>   t jtdd�� |jdd� W d   ƒ n1 s00    Y  d S )NZffilr0   r?   )rD   rE   rF   r   )r#   Úfloat_framer)   r)   r*   Útest_fillna_invalid_methodu  s    z%TestFillNA.test_fillna_invalid_methodc                 C   sÒ   d}t jt| d¡d�� | ddg¡ W d   ƒ n1 s<0    Y  t jt| d¡d�� | d¡ W d   ƒ n1 sz0    Y  d}t jt|d��( |jd d …d	f  |¡ W d   ƒ n1 sÄ0    Y  d S )
NzA"value" parameter must be a scalar or dict, but you passed a "{}"rÏ   r0   r   r   Útuple)r   r   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame"r   )rD   rE   rƒ   Úformatr   r"   )r#   rÖ   rI   r)   r)   r*   Útest_fillna_invalid_valuey  s    ,(ÿz$TestFillNA.test_fillna_invalid_valuec                 C   s”   dd„ t dddƒD ƒ}tj d¡ d¡}tt dƒ||d	�}d
}tjt|d�� |jdd�}W d   ƒ n1 sn0    Y  |j	 
¡ |j	 
¡ ks�J ‚d S )Nc                 S   s   g | ]}d t |ƒ ‘qS )zCOL.)Ústr)Ú.0Úir)   r)   r*   Ú
<listcomp>Š  ó    z9TestFillNA.test_fillna_col_reordering.<locals>.<listcomp>r;   r   r/   r   )rL   r;   rL   )rC   r   Údatar=   r0   rA   r?   )r£   r   ri   rj   r   r   r5   r6   r   r   Útolist)r#   Úcolsrà   r&   rI   Zfilledr)   r)   r*   Útest_fillna_col_reordering‰  s    *z%TestFillNA.test_fillna_col_reorderingc                 C   s(   |j g d�}|jdd�}t ||¡ d S )NrS   r   rN   )rV   r   r   r    )r#   rÖ   r&   rW   r)   r)   r*   Útest_fill_empty’  s    zTestFillNA.test_fill_emptyc                 C   sz   t ddtjgiƒ}d}tjt|d��& |jddiddid�}W d   ƒ n1 sP0    Y  t dddgiƒ}t ||¡ d S )NÚcol1r   r“   r0   r   r™   r�   r‘   r{   r)   r)   r*   Útest_fillna_downcast_dict—  s    4z$TestFillNA.test_fillna_downcast_dictc                 C   s  t tjdtjdgddtjdgtjtjtjdgtjdtjdggtdƒd�}|jdd	dd
�}|jdd	dd
�}t tg d¢dd�ddtjdgtjd	tjtjgtg d¢dd�dœg d¢d�}t tg d¢dd�tg d¢dd�d	d	tjd	gtg d¢dd�dœg d¢d�}t ||¡ t ||¡ d S )Nr   r   r   rv   r   r;   ÚABCDrS   éd   ©rÄ   rO   rh   )rè   r   rè   rè   rš   rT   )r   r   r;   rv   r«   )r   r   r   r   r¡   )r   rv   rè   r   )r   r   r   rÏ   r   r   r   r    )r#   r&   rW   Zresult2r(   rœ   r)   r)   r*   Ú"test_fillna_with_columns_and_limit¡  s8    üù	üù	üù
z-TestFillNA.test_fillna_with_columns_and_limitc                 C   sF   t tdd gƒtdd gƒdœƒ}| ¡ }|jtjdd� t ||¡ d S )Nz
2018-05-30z
2018-09-30)Zdate1Zdate2Tr   )r   r   r.   r   r   r   r   r    ©r#   r&   r(   r)   r)   r*   Útest_fillna_datetime_inplaceÅ  s    

þÿz'TestFillNA.test_fillna_datetime_inplacec                 C   s†   t tjdtjdgddtjdgtjtjtjdgtjdtjdggtdƒd�}|jdd	dd
�}||usdJ ‚|jdd	ddd� t ||¡ d S )Nr   r   r   rv   r   r;   rç   rS   rè   ré   T)rÄ   rO   rh   r   rÎ   rë   r)   r)   r*   Ú0test_fillna_inplace_with_columns_limit_and_valueÑ  s    üù
z;TestFillNA.test_fillna_inplace_with_columns_limit_and_valuer/   ©rY   Úyc                 C   sª   t tjdgtjdgdœƒ}| ¡ }|d d … }t |¡� |j|dd� W d   ƒ n1 s\0    Y  t ddgddgdœƒ}t ||¡ |ršt ||¡ nt ||¡ d S )Nr   rî   Tr   r/   r   ç      ð¿)r   r   r   r.   r   r   r   r    )r#   rŒ   r$   r%   r&   Zdf_origZresult_viewr(   r)   r)   r*   Útest_inplace_dict_update_viewã  s    ,z(TestFillNA.test_inplace_dict_update_viewc              	   C   s¢   t ddtjdtjgdtjtjddgdtjdddgtjddtjd	gd
œƒ}|jdddd�}t g d¢ddtjdgdtjddgg d¢g d¢gg d
¢d�}t ||¡ d S )Nr;   r   re   rf   r   é   r   r   é   )rå   Zcol2Zcol3Zcol4r-   )rh   rÄ   )ç      @ç      @g      (@ç      I@rŸ   rö   rz   )g      $@rô   r   rö   )rö   ç      @rŸ   g      2@rS   )r   r   r   r   r   r    r­   r)   r)   r*   Ú)test_single_block_df_with_horizontal_axisõ  s$    üÿûø
z4TestFillNA.test_single_block_df_with_horizontal_axisc                 C   s²   t tjddgddtjgddtjgdœƒ}t g d¢g d¢ddtjgdœƒ}t | ddi¡|¡ t | dd	d
œ¡|¡ t g d¢g d¢ddtjgdœƒ}t | d	ddœ¡|¡ d S )Nr   r÷   rz   ))rY   r_   ©rY   r`   )rï   ra   )rð   r   r÷   )rz   r   rð   rY   r/   r§   )rY   rù   )rz   r   g       À)rù   rY   )r   r   r   r   r    r   )r#   Zpdfr(   r)   r)   r*   Ú"test_fillna_with_multi_index_frame  s*    


ýÿ
ýÿ
ýÿz-TestFillNA.test_fillna_with_multi_index_frameN)7Ú__name__Ú
__module__Ú__qualname__r+   ÚtdZ&skip_array_manager_not_yet_implementedr:   rK   rQ   rX   r^   rd   rm   rp   rt   r|   r‡   rŽ   r’   r˜   r�   rD   ÚmarkÚparametrizer    r¤   r   r   r¦   r®   r°   r±   r·   r¸   rº   r¹   rÔ   r¾   r¿   rÂ   rÈ   rÐ   rÕ   r×   rÚ   rã   rä   ræ   rê   rì   rí   Zskip_array_manager_invalid_testrñ   rø   rú   r)   r)   r)   r*   r      sb   

,$


,	


#	
$r   c                  C   sV   t g d¢g d¢g d¢gg d¢d�} | jddd�}| d	¡}| ¡  ¡  ¡ d	ksRJ ‚d S )
N)r   r   r   rz   )r   r   r   r   )r   r   r   r÷   )Úi1Úi2Zi3Úf1rS   r  r  rž   r   )r   Zpivotr   ZisnaÚsum)r&   Zdf_nonconsolrW   r)   r)   r*   Ú!test_fillna_nonconsolidated_frame)  s    ýú
r  c                  C   sŽ   t d d gd d ggddgd�} d}tjt|d��$ | jdddœd	d
� W d   ƒ n1 sX0    Y  t ddgddggddgd�}t | |¡ d S )Nr   r   rS   r¢   r0   r   r   ry   TrÁ   )r   r   r5   r6   r   r    )r&   rI   r(   r)   r)   r*   Útest_fillna_nones_inplace8  s    þ2r  Úfuncr>   rZ   c                 C   sJ   t dg d¢iƒ}t t¡� t|| ƒƒ  W d   ƒ n1 s<0    Y  d S )Nr_   r}   )r   r   r5   r6   Úgetattr)r  r&   r)   r)   r*   Útest_pad_backfill_deprecatedF  s    r	  z#data, expected_data, method, kwargsr   rf   r÷   rõ   rA   Ú
limit_areaZinsider   )r
  rh   Zoutsider;   rq   c                 C   s4   t | ƒ}t |ƒ}t||ƒf i |¤Ž}t ||¡ d S )N)r   r  r   r    )rà   Zexpected_datar@   Úkwargsr&   r(   rW   r)   r)   r*   Útest_ffill_bfill_limit_areaN  s    Cr  )"Únumpyr   rD   Zpandas.compatr   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsrþ   Zpandasr   r   r   r   r   r   r	   r
   r   r   Zpandas._testingZ_testingr   Zpandas.tests.frame.commonr   r   r  r  rÿ   r   r	  r   r£   r  r)   r)   r)   r*   Ú<module>   s�   0      
"ü" ü"ü" üüü"ü" ü"ü" üÉþA