o
    Û­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   sJ  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 s9w   Y  t d
gd dtdƒdgg d¢dœƒ}g d¢|_t 	||¡ |sst 
|jd d …df |jd d …df ¡ssJ ‚t 
|jd d …df |jd d …df ¡r‰J ‚|s¡t 
|jd d …df |jd d …df ¡s£J ‚d S 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)   úc/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/frame/methods/test_fillna.pyÚ*test_fillna_dict_inplace_nonunique_columns   s(   $ÿ
ÿÿ
,,,ÿz5TestFillNA.test_fillna_dict_inplace_nonunique_columnsc                 C   s  t  dt j¡}t|dd�}|r<t ¡ � |d jddd� W d   ƒ n1 s'w   Y  t  |d d …df ¡ ¡ s;J ‚n2tj	t
sBtnd dd	�� |d jddd� W d   ƒ n1 s[w   Y  |d d …df dk ¡ snJ ‚t|jjƒd
ksxJ ‚t  |j|¡s�J ‚d S )N)é(   é2   F)Úcopyr   éÿÿÿÿTr   zinplace method©Úmatchr   )r   Úfullr   r   r   Úraises_chained_assignment_errorr   ÚisnanÚallÚassert_produces_warningr   ÚFutureWarningÚlenÚ_mgrÚarraysr!   Úvalues)r#   r$   Úarrr&   r)   r)   r*   Útest_fillna_on_column_view3   s    
ÿ 
þü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 ¡ s3J ‚d}tjt|d�� |jdd�}W d   ƒ n1 sMw   Y  t  	|j|jd d… df ¡ ¡ seJ ‚|j|jdd … df |j|jd df k ¡ sJ ‚d	}t
jt|d�� | ¡  W d   ƒ n1 s—w   Y  d
}t
jt|d�� |jddd� W d   ƒ d S 1 s¸w   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   r5   r   r6   r7   r4   ÚpytestÚraisesÚ
ValueError)r#   Údatetime_frameÚtfÚ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   ƒ d S 1 s=w   Y  d S )Nr>   é   r   éöÿÿÿr   r   ©Úvaluer@   r0   rA   rB   )r   r   rE   rF   r   r   r6   r7   )r#   Úfloat_string_frameÚmfrM   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 s=w   Y  t|dd id� d S )N)r   r   ÚD©r   rQ   r   r   rR   r   ©Údtyper@   r0   rA   rB   )
Úreindexr   r   rE   rF   r   r   r   r6   r7   )r#   Úmixed_float_framerU   ÚresultrM   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 ]*}d}tjt|d�� |jj|dd� |jj|d	� W d   ƒ n1 s4w   Y  qd S )
Nz9condition is unnecessary complex and is deprecated anywayÚxrX   )rA   Úbackfillz)Series.fillna with 'method' is deprecatedr0   T©rC   r   rB   )rG   Úskipr   r   r6   r7   r_   r   )r#   r$   r&   ÚmrM   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 sNJ ‚d S )NÚaÚbÚcr   r   )re   re   r   re   )rf   rf   r   rf   )rg   rg   r   rg   ÚobjectTr   )r   r   r   r   Úastyper   r    )r#   r&   r]   r(   Ú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(   r]   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ÚDate2ru   r   rv   rR   )	r   r   r
   r.   r   rE   rF   r   r    rs   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 s0w   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 skw   Y  t ||¡ d S )Nr   z2012-11-11 00:00:00+01:00r@   r0   rA   rB   Úbfill)r   r
   r   r   r6   r7   r   r    )r#   r&   ÚexprM   Úresr)   r)   r*   Útest_fillna_tzaware®   s4   þÿÿÿþÿÿÿ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 s,w   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   rA   rB   )ç      ð?r   r   r   )	r   r   r   r   r   r6   r7   r   r    ©r#   r&   rM   r]   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ˆw   Y  d}tj
t|d�� |jdd�}W d   ƒ n1 s§w   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   )Ú
categoriesre   rf   Úd©ÚcatsÚvals)r   r   r   r   )re   rf   rf   r†   rR   z3Cannot setitem on a Categorical with a new categoryr0   r}   rg   r@   rA   rB   rˆ   )Úsubset)re   rf   re   )r   r   r   r   r   r   r    rG   rH   Ú	TypeErrorr6   r7   Údropna)r#   Úcatr‰   r&   Úcat2Úvals2Údf_exp_fillÚcat3Úvals3Údf_exp_drop_catsÚcat4Úvals4Údf_exp_drop_allrz   rM   rg   Úcat_expÚdf_expr)   r)   r*   Útest_na_actions_categoricalá   sB   ÿÿ
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   ÚcategoryrY   z2011-01-01 09:00z2016-01-01 23:45re   rR   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&   Úmedianrz   Úv_expr˜   r]   Ú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 s$w   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[w   Y  t dddgiƒ}t ||¡ d S )	Nre   r�   z.The 'downcast' keyword in fillna is deprecatedr0   r   Úinfer©Údowncastr   ©r   r   r   r   r6   r7   r   r    r‚   r)   r)   r*   Útest_fillna_downcast1  s   ÿÿzTestFillNA.test_fillna_downcastc                 C   s`   |g d¢dd�}d}t jt|d�� |jddd�}W d   ƒ n1 s#w   Y  t  ||¡ d S )	Nr„   rh   rY   ú The 'downcast' keyword in fillnar0   Ú Fr¤   )r   r6   r7   r   Úassert_equal)r#   Úframe_or_seriesÚobjrM   r]   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 s(w   Y  | t j¡}t 	||¡ | t j
¡}tjt|d�� |jddd�}W d   ƒ n1 sXw   Y  |}t 	||¡ tjt|d�� |jdt  t j¡d�}	W d   ƒ n1 s‚w   Y  t 	|	|¡ d S )Nr„   rY   r¨   r0   r   r¤   r£   )r   Úint64r   r6   r7   r   rZ   Úint32ri   rª   Úfloat64)
r#   r«   r¬   rM   rz   r(   Úobj2Úres2Ú	expected2Úres3r)   r)   r*   Útest_fillna_downcast_noopJ  s"   þÿþ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 s!w   Y  | ¡ }d|d< t ||¡ d S )Nr   r   ©rF   r   r   ç        )r   r   r   r   r6   r   r.   r    )r#   r   r&   r]   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 s:w   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   r}   r>   r¶   rh   r>   ©rF   úDowncasting object dtype arraysr0   r   r   r   r   r°   )rF   r   rZ   r   )r   Údtypesr   r   rZ   r   r�   r6   r7   r   r    Úrangerh   )r#   Úusing_infer_stringr&   r]   r(   rM   r)   r)   r*   Útest_fillna_dtype_conversiono  s   ÿ
z'TestFillNA.test_fillna_dtype_conversionrž   r©   r   r�   c                 C   s@   t dtjgddgdœƒ}| tj|¡}| |¡}t ||¡ d S )Nr   r�   r   r€   )r   r   r   Úreplacer   r   r    )r#   rž   r&   r(   r]   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/   éþÿÿÿr|   r   )r~   )r   ÚbarN)Úfoo2Úbar2N©r   r   r   rW   Ú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&   r]   r(   r)   r)   r*   Útest_fillna_datetime_columns‰  sH   

ü
ù
	
ü
ù	
ü
ù
	ü
ù	z'TestFillNA.test_fillna_datetime_columnsc                 C   ó†   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 s4w   Y  t | 	¡ |¡ d S )Nr>   r   r?   r@   r0   rD   rB   )
r   r   rE   rF   r   r6   r7   r   r    rD   ©r#   rJ   rM   Úaltr)   r)   r*   Ú
test_ffillµ  s   ÿzTestFillNA.test_ffillc                 C   rÊ   )Nr>   r   r?   r@   r0   rx   rB   )
r   r   rE   rF   r   r6   r7   r   r    rx   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?w   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}w   Y  t j|jd d…< t ||¡ d S )Nrl   r   ©rl   r}   r¹   rA   r>   ©rC   ro   r@   r0   rB   éýÿÿÿrÁ   r`   r   ©r   Úaranger   rp   rq   rr   r[   r   r6   r7   r   r   r"   r    ©r#   rF   r&   r]   rM   r(   r)   r)   r*   Útest_frame_pad_backfill_limitÈ  s   
ÿÿ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 s6w   Y  tjt	|d�� |d d…  |¡j
dd
�}W d   ƒ n1 sZw   Y  t j|jdd …< t ||¡ |dd …  |¡}tjt	|d�� |j
ddd	�}W d   ƒ n1 s�w   Y  tjt	|d�� |dd …  |¡j
dd
�}W d   ƒ n1 s³w   Y  t j|jd d…< t ||¡ d S )Nrl   r   rÏ   r¹   r@   r0   rA   r>   rÐ   rB   rÑ   rÁ   r`   r   rÒ   rÔ   r)   r)   r*   Útest_frame_fillna_limitÛ  s*   
ÿÿÿÿz"TestFillNA.test_frame_fillna_limitc                 C   s,   t tj d¡ d¡ t¡ƒ}| tj¡ d S )Nr   rÏ   )	r   r   rp   rq   rr   ri   Úintr   r   )r#   r&   r)   r)   r*   Útest_fillna_skip_certain_blocksò  s   z*TestFillNA.test_fillna_skip_certain_blocksÚtypec                 C   ób   t tj d¡ d¡ƒ |¡}d}tjt|d�� |j	ddd� W d   ƒ d S 1 s*w   Y  d S )Nr   rÏ   zLimit must be greater than 0r0   r   r?   rn   ©
r   r   rp   rq   rr   ri   rG   rH   rI   r   ©r#   rÙ   r&   rM   r)   r)   r*   Útest_fillna_positive_limitú  ó
   "ÿz%TestFillNA.test_fillna_positive_limitc                 C   rÚ   )Nr   rÏ   zLimit must be an integerr0   r   g      à?rn   rÛ   rÜ   r)   r)   r*   Útest_fillna_integer_limit  rÞ   z$TestFillNA.test_fillna_integer_limitc                 C   sL  t tj d¡ d¡ƒ}tj|jd d…df< tj|jdd …df< |jdd�}||us+J ‚|jdd	d
� t 	||¡ |jddid	d
�}|d u sGJ ‚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 suw   Y  ||us€J ‚tj
t|d�� |jdd	d� W d   ƒ n1 s™w   Y  t 	||¡ d S )Nr   rÏ   r}   r   éüÿÿÿr   r   rR   T©rS   r   r@   r0   rD   rB   ra   )r   r   rp   rq   rr   r   rE   r   r   r    r6   r7   )r#   r&   r(   rM   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   ƒ d S 1 s}w   Y  d S )Nr   r   r   r}   ©re   rf   rg   r   r>   )re   rf   re   rf   rm   )re   rf   r†   zcolumn by columnr0   )Úaxis)r   r   r   r   r.   r   r    ÚmaxÚto_dictrG   rH   Ú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   r}   rã   ÚVWXYZr¹   rl   rP   é   r,   )r-   é<   éF   éP   éZ   rÂ   r>   )re   rf   r   ÚVWXuZrî   ©r   r   r   Úlistr   r   r    )r#   r&   Údf2r]   r(   r)   r)   r*   Útest_fillna_dataframe?  s.   ýú
ýú
	ýú	z TestFillNA.test_fillna_dataframec                 C   sX  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 s4w   Y  tjt|d�� |j
j	dd	�j
}W d   ƒ n1 sSw   Y  t ||¡ | d
dd¡ tjt|d�� |j	ddd�}W d   ƒ n1 s~w   Y  tjt|d�� | t¡j	ddd�}W d   ƒ n1 sŸw   Y  t ||¡ d S )Nr   )rl   rl   r@   r0   rD   r   )rC   rä   rA   rB   é   r   r>   )r   rp   rq   rr   r   r   r   r6   r7   r   ÚTr    Úinsertri   Úfloat)r#   r<   r&   rM   r]   r(   r)   r)   r*   Útest_fillna_columnsb  s&   ÿÿÿÿzTestFillNA.test_fillna_columnsc                 C   s@   t jtdd�� |jdd� W d   ƒ d S 1 sw   Y  d S )NÚffilr0   rB   )rG   rH   rI   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w   Y  t jt| d¡d�� | d¡ W d   ƒ n1 s=w   Y  d}t jt|d�� |jd d …d	f  |¡ W d   ƒ d S 1 scw   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   )rG   rH   r‹   Úformatr   r"   )r#   rú   rM   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 s7w   Y  |j	 
¡ |j	 
¡ ksHJ ‚d S )Nc                 S   s   g | ]}d t |ƒ ‘qS )zCOL.)Ústr)Ú.0Úir)   r)   r*   Ú
<listcomp>Š  s    z9TestFillNA.test_fillna_col_reordering.<locals>.<listcomp>r>   r   r/   r   )rP   r>   rP   )rF   r   Údatar@   r0   rD   rB   )r¼   r   rp   rq   r   r   r6   r7   r   r   Útolist)r#   Úcolsr  r&   rM   Ú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 )NrX   r   rR   )r[   r   r   r    )r#   rú   r&   r]   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 s(w   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   ÿ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   r}   r   r>   ÚABCDrX   éd   ©rä   rS   ro   )r  r   r  r  r°   rY   )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]   Ú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)Údate1Ú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s2J ‚|jdd	ddd� t ||¡ d S )Nr   r   r   r}   r   r>   r  rX   r  r  T)rä   rS   ro   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/   ©r_   Úyc                 C   s¬   t tjdgtjdgdœƒ}| ¡ }|d d … }t |¡� |j|dd� W d   ƒ n1 s.w   Y  t ddgddgdœƒ}t ||¡ |rNt ||¡ d S t ||¡ d S )Nr   r  Tr   r/   r   ç      ð¿)r   r   r   r.   r   r   r   r    )r#   rž   r$   r%   r&   Údf_origÚ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   rl   rm   r   é   r   r   é   )r	  Úcol2Úcol3Úcol4r-   )ro   rä   )ç      @ç      @g      (@ç      I@r·   r"  r�   )g      $@r   r   r"  )r"  ç      @r·   g      2@rX   )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#  r�   ))r_   re   ©r_   rf   )r  rg   )r  r   r#  )r�   r   r  r_   r/   rÁ   )r_   r%  )r�   r   g       À)r%  r_   )r   r   r   r   r    r   )r#   Úpdfr(   r)   r)   r*   Ú"test_fillna_with_multi_index_frame  s*   


ýÿ
ýÿ
ýÿz-TestFillNA.test_fillna_with_multi_index_frameN)7Ú__name__Ú
__module__Ú__qualname__r+   ÚtdÚ&skip_array_manager_not_yet_implementedr=   rO   rV   r^   rd   rk   rt   rw   r{   rƒ   r™   r¢   r§   r­   rµ   rG   Ú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  Úskip_array_manager_invalid_testr  r$  r'  r)   r)   r)   r*   r      sd    

,$


,	


#	
$r   c                  C   sV   t g d¢g d¢g d¢gg d¢d�} | jddd�}| d	¡}| ¡  ¡  ¡ d	ks)J ‚d S )
N)r   r   r   r�   )r   r   r   r   )r   r   r   r#  )Úi1Úi2Úi3Úf1rX   r0  r1  r¶   r   )r   Úpivotr   ÚisnaÚsum)r&   Údf_nonconsolr]   r)   r)   r*   Ú!test_fillna_nonconsolidated_frame)  s   ýú
r8  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 s,w   Y  t ddgddggddgd�}t | |¡ d S )Nr   r   rX   rº   r0   r   r   r€   Trá   )r   r   r6   r7   r   r    )r&   rM   r(   r)   r)   r*   Útest_fillna_nones_inplace8  s   þÿr9  ÚfuncrA   r`   c                 C   sL   t dg d¢iƒ}t t¡� t|| ƒƒ  W d   ƒ d S 1 sw   Y  d S )Nre   r„   )r   r   r6   r7   Úgetattr)r:  r&   r)   r)   r*   Útest_pad_backfill_deprecatedF  s   "ÿr<  z#data, expected_data, method, kwargsr   rm   r#  r!  rD   Ú
limit_areaÚinsider   )r=  ro   Úoutsider>   rx   c                 C   s4   t | ƒ}t |ƒ}t||ƒdi |¤Ž}t ||¡ d S )Nr)   )r   r;  r   r    )r  Úexpected_datarC   Úkwargsr&   r(   r]   r)   r)   r*   Útest_ffill_bfill_limit_areaN  s   CrB  )"Únumpyr   rG   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr+  Úpandasr   r   r   r   r   r   r	   r
   r   r   Úpandas._testingÚ_testingr   Úpandas.tests.frame.commonr   r   r8  r9  r-  r.  r<  r   r¼   rB  r)   r)   r)   r*   Ú<module>   s’    0      
"ü" ü"ü" üüü"ü" ü"ü" üÉþA