o
    �¨Êhl…  ã                   @   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)Úusing_pyarrow_string_dtype)
Ú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ej	j
eƒ dd�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d0d1„ Zd2d3„ Z d4d5„ Z!d6d7„ Z"d8d9„ Z#d:d;„ Z$ej	 d<e%e&g¡d=d>„ ƒZ'ej	 d<e%e&g¡d?d@„ ƒZ(dAdB„ Z)dCdD„ Z*dEdF„ Z+dGdH„ Z,dIdJ„ Z-dKdL„ Z.dMdN„ Z/ej	j
eƒ dd�dOdP„ ƒZ0dQdR„ Z1dSdT„ Z2dUdV„ Z3dWdX„ Z4ej5ej	 d*dYdYdYdZœg¡d[d\„ ƒƒZ6d]d^„ Z7d_d`„ Z8daS )bÚ
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)   úX/var/www/html/env/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 ‚n.tj	t
dd	�� |d jddd� W d   ƒ n1 sWw   Y  |d d …df dk ¡ sjJ ‚t|jjƒd
kstJ ‚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_warningÚFutureWarningÚlenÚ_mgrÚarraysr!   Úvalues)r#   r$   Úarrr&   r)   r)   r*   Útest_fillna_on_column_view4   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_datetimeG   s*   
$ÿ&*þ
ÿ"ÿzTestFillNA.test_fillna_datetimezcan't fill 0 in string)Úreasonc                 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   rR   r   r   rS   r   ©Údtyper@   r0   rA   rB   )
Úreindexr   r   rE   rF   r   r   r   r6   r7   )r#   Úmixed_float_framerV   ÚresultrM   r)   r)   r*   Útest_fillna_mixed_floati   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ÚxrY   )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_emptyu   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ƒ}|r7tjtdd�� | ddi¡}W d   ƒ n1 s1w   Y  n| ddi¡}t g d¢g d	¢g d
¢gƒ}t ||¡ |rttjtdd�� |jddidd�}W d   ƒ n1 snw   Y  n	|jddidd�}t ||¡ |d u s‰J ‚d S )NÚaÚbÚcÚDowncastingr0   r   r   )rf   rf   r   rf   )rg   rg   r   rg   )rh   rh   r   rh   Tr   ©r   r   r   r   r6   r7   r   r    )r#   Úusing_infer_stringr&   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ÚDate2rw   r   rx   rS   )	r   r   r
   r.   r   rE   rF   r   r    ru   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   )Ú
categoriesrf   rg   Úd©ÚcatsÚvals)r   r   r   r   )rf   rg   rg   rˆ   rS   z3Cannot setitem on a Categorical with a new categoryr0   r   rh   r@   rA   rB   rŠ   )Úsubset)rf   rg   rf   )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_allr|   rM   rh   Ú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   ÚcategoryrZ   z2011-01-01 09:00z2016-01-01 23:45rf   rS   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&   Úmedianr|   Ú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 )	Nrf   rƒ   z.The 'downcast' keyword in fillna is deprecatedr0   r   Úinfer©Údowncastr   rj   r„   r)   r)   r*   Útest_fillna_downcast6  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†   ÚobjectrZ   ú The 'downcast' keyword in fillnar0   Ú Fr¦   )r   r6   r7   r   Úassert_equal)r#   Úframe_or_seriesÚobjrM   r^   r)   r)   r*   Útest_fillna_downcast_falseG  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†   rZ   rª   r0   r   r¦   r¥   )r   Úint64r   r6   r7   r   r[   Úint32Úastyper¬   Úfloat64)
r#   r­   r®   rM   r|   r(   Úobj2Úres2Ú	expected2Úres3r)   r)   r*   Útest_fillna_downcast_noopO  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_colnamesi  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�}|rztjtdd�� | 	d¡}W d   ƒ n1 stw   Y  n| 	d¡}t dtd
ƒddgd�}t 
||¡ d S )Nr   )r   r   r   r   r>   r¹   r©   r>   ©rF   úDowncasting object dtype arraysr0   r   r   r   r   r³   )rF   r   r[   ri   r   )r   Údtypesr   r   r[   r   rŸ   r6   r7   r   r    Úrange)r#   rk   r&   r^   r(   rM   r)   r)   r*   Útest_fillna_dtype_conversiont  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   rX   Ú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   rz   rB   )
r   r   rE   rF   r   r6   r7   r   r    rz   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 )Nrn   r   ©rn   r   r¼   rA   r>   ©rC   rq   r@   r0   rB   éýÿÿÿrÃ   ra   r   ©r   Úaranger   rr   rs   rt   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 )Nrn   r   rÑ   r¼   r@   r0   rA   r>   rÒ   rB   rÓ   rÃ   ra   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   rr   rs   rt   r²   Ú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?   rp   ©
r   r   rr   rs   rt   r²   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      à?rp   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   rS   T©rT   r   r@   r0   rD   rB   rb   )r   r   rr   rs   rt   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   ©rf   rg   rh   r   r>   )rf   rg   rf   rg   ro   )rf   rg   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¼   rn   rQ   é   r,   )r-   é<   éF   éP   éZ   rÄ   r>   )rf   rg   r   ÚVWXuZrð   ©r   r   r   Úlistr   r   r    )r#   r&   Údf2r^   r(   r)   r)   r*   Útest_fillna_dataframeH  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   )rn   rn   r@   r0   rD   r   )rC   ræ   rA   rB   é   r   r>   )r   rr   rs   rt   r   r   r   r6   r7   r   ÚTr    Úinsertr²   Úfloat)r#   r<   r&   rM   r^   r(   r)   r)   r*   Útest_fillna_columnsk  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_method~  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_value‚  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   )rQ   r>   rQ   )rF   r   Údatar@   r0   rD   rB   )r¿   r   rr   rs   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†   |}t j|j|jdd… df< t j|j|jdd … df< |jdd�}|j|jdd… df dk ¡ s4J ‚|d= |jg d�jdd� d S )	Nr>   rQ   r   rR   r   r   rS   rY   )r   r   rE   rF   r   r5   r\   )r#   rü   rU   rV   r  r)   r)   r*   Útest_fill_corner›  s   $zTestFillNA.test_fill_cornerc                 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¦   rj   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>   ÚABCDrY   éd   ©ræ   rT   rq   )r  r   r  r  r³   rZ   )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  rY   r  r  T)ræ   rT   rq   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   rn   ro   r   é   r   r   é   )r  Úcol2Úcol3Úcol4r-   )rq   ræ   )ç      @ç      @g      (@ç      I@rº   r$  rƒ   )g      $@r"  r   r$  )r$  ç      @rº   g      2@rY   )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`   rf   ©r`   rg   )r  rh   )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)9Ú__name__Ú
__module__Ú__qualname__r+   ÚtdÚ&skip_array_manager_not_yet_implementedr=   rO   rG   ÚmarkÚxfailr   rW   r_   re   rm   rv   ry   r}   r…   r›   r¤   r¨   r¯   r¸   Ú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      sh    


,$


,	


#	

$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Úf1rY   r3  r4  r¹   r   )r   Úpivotr   ÚisnaÚsum)r&   Údf_nonconsolr^   r)   r)   r*   Ú!test_fillna_nonconsolidated_frame9  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 s,w   Y  t ddgddggddgd�}t | |¡ d S )Nr   r   rY   r½   r0   r   r   r‚   Trã   )r   r   r6   r7   r   r    )r&   rM   r(   r)   r)   r*   Útest_fillna_nones_inplaceH  s   þÿr<  ÚfuncrA   ra   c                 C   sL   t dg d¢iƒ}t t¡� t|| ƒƒ  W d   ƒ d S 1 sw   Y  d S )Nrf   r†   )r   r   r6   r7   Úgetattr)r=  r&   r)   r)   r*   Útest_pad_backfill_deprecatedV  s   "ÿr?  z#data, expected_data, method, kwargsr   ro   r%  r#  rD   Ú
limit_areaÚinsider   )r@  rq   Úoutsider>   rz   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_area^  s   CrE  )"Únumpyr   rG   Úpandas._configr   Ú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   r;  r<  r/  r1  r?  r   r¿   rE  r)   r)   r)   r*   Ú<module>   s’    0      '
"ü" ü"ü" üüü"ü" ü"ü" üÉþA