
    bMh                        d dl Zd dlZd dlmc 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          Zd Zd Zej                            dd	d
g          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             ZdS )    N)
Categorical	DataFrameDatetimeIndexNaTPeriodIndexSeriesTimedeltaIndex	Timestamp
date_rangeto_datetime)_check_mixed_floatc                      e Zd Zd Zej        d             Zd Zd Zd Z	d Z
d Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zej                            dg dddgg          d             Zd Zej                            dddej        dg          d             Zd Zd Zd Zd Z d Z!d  Z"ej                            d!e#e$g          d"             Z%ej                            d!e#e$g          d#             Z&d$ Z'd% Z(d& Z)d' Z*d( Z+d) Z,d* Z-d+ Z.d, Z/d- Z0d. Z1d/ Z2ej3        ej                            dd0d0d0d1g          d2                         Z4d3 Z5d4 Z6d5S )6
TestFillNAc                    t          t          j        gdz  t          t	          d          t          gt          j        ddgd          }g d|_        |d d          }t          j        |          5  |                    ddid	           d d d            n# 1 swxY w Y   t          d
gdz  dt	          d          dgg dd          }g d|_        t          j	        ||           |s5t          j
        |j        d d df         |j        d d df                   sJ t          j
        |j        d d df         |j        d d df                   rJ |s5t          j
        |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expecteds         f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_fillna.py*test_fillna_dict_inplace_nonunique_columnsz5TestFillNA.test_fillna_dict_inplace_nonunique_columns   s    6(Q,c9Q<<%=RVUTUDVWW
 
 %__
!!!u "#566 	. 	.IIsAhI---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. %!)1illA"6]]]KK
 
 +??
b(+++ # 	D#BGAAAqDM49QQQT?CCCCC#BGAAAqDM49QQQT?CCCCC" 	D#BGAAAqDM49QQQT?CCCCC	D 	DCCs   0BBBc                    t          j        dt           j                  }t          |d          }|r{t	          j                    5  |d                             dd           d d d            n# 1 swxY w Y   t          j        |d d df                                                   sJ ntt	          j	        t          d	          5  |d                             dd           d d d            n# 1 swxY w Y   |d d df         dk                                    sJ t          |j        j                  d
k    sJ t          j        |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(   s       r+   test_fillna_on_column_viewz%TestFillNA.test_fillna_on_column_view2   s    gh''s''' 	+355 / /1R.../ / / / / / / / / / / / / / /8C1I&&**,,,,,,+MAQRRR / /1R.../ / / / / / / / / / / / / / /1IO((***** 27>""a''''	3///////s$   A00A47A4	C33C7:C7c                    |}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                                    sJ d}t          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   t          j	        |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          |          5  |                                 d d d            n# 1 swxY w Y   d
}t          j        t          |          5  |                    dd           d d d            d S # 1 swxY w Y   d S )N   r   r   ,DataFrame.fillna with 'method' is deprecatedr2   padmethodz'Must specify a fill 'value' or 'method'z(Cannot specify both 'value' and 'method'ffill)r   r   locindexr!   r7   r   r8   r9   r6   pytestraises
ValueError)r%   datetime_frametfzero_filledmsgpaddeds         r+   test_fillna_datetimezTestFillNA.test_fillna_datetimeE   s   $&Frx|S !%'Vrx}c!"$++A.. 1"1" 5s :;q@EEGGGGG<'SAAA 	9 	9#**%*88F	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9x
6<#3S#89::>>@@@@@Jv|BCC(#-.&*V\"=Ms=R2SS
#%%	 	 	 8]:S111 	$ 	$!!###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$8]:S111 	5 	5!!!G!444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s6   /CCCF))F-0F-G66G:=G:c                 Z   |}t           j        |j        |j        dd         df<   t           j        |j        |j        dd          df<   |                    d           d}t          j        t          |	          5  |                    d
           d d d            d S # 1 swxY w Y   d S )NrA      r   r   r   valuerC   r2   rD   rE   )r   r   rH   rI   r!   r   r8   r9   )r%   float_string_framemfrP   s       r+   test_fillna_mixed_typez!TestFillNA.test_fillna_mixed_type\   s    (*rx"~u$%&(frx~s"#
			<'SAAA 	$ 	$IIUI###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   <B  B$'B$c                    |                     g d          }t          j        |j        |j        dd          df<   |                    d          }t          |dd i           d	}t          j        t          |
          5  |                    d          }d d d            n# 1 swxY w Y   t          |dd i           d S )N)r   r   Dr   rU   r   r   rV   r   dtyperC   r2   rD   rE   )
reindexr   r   rH   rI   r!   r   r   r8   r9   )r%   mixed_float_framerY   resultrP   s        r+   test_fillna_mixed_floatz"TestFillNA.test_fillna_mixed_floatf   s   &&&??&(frx~s"###6#t5555<'SAAA 	- 	-YYeY,,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-6#t555555s   B%%B),B)c                 6   |rt          j        d           t          dg          }dD ]n}d}t          j        t
          |          5  |j                            |d           |j                            |	           d d d            n# 1 swxY w Y   od S )
Nz9condition is unnecessary complex and is deprecated anywayxr]   )rD   backfillz)Series.fillna with 'method' is deprecatedr2   TrF   r   rE   )rJ   skipr   r   r8   r9   re   r!   )r%   r&   r(   mrP   s        r+   test_fillna_emptyzTestFillNA.test_fillna_emptyr   s     	UKSTTTu%%%$ 	& 	&A=C+MEEE & &1d3331%%%& & & & & & & & & & & & & & &	& 	&s   	8BB	B	c                    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
          }t          j        ||           |J d S )Nabcr   r   )rl   rl   r   rl   )rm   rm   r   rm   )rn   rn   r   rn   objectTr   )r   r   r   r!   astyper   r"   )r%   r(   rb   r*   return_values        r+   test_fillna_different_dtypez&TestFillNA.test_fillna_different_dtype}   s    3$sC&=S"&RU?VW
 
 Au:&&###%;%;%;=S=S=ST
 
 qk((22
fh///yy!UTy::
b(+++#####    c                    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	<   |                    dd
          }t          j
        ||           d S )Nr   )
   r      r   r   rA   i  )r   r   )r   r   r   limit)r   r   randomdefault_rngstandard_normalr   r$   r0   r!   r   r"   r%   r(   r*   rb   s       r+   test_fillna_limit_and_valuez&TestFillNA.test_fillna_limit_and_value   s    ry,,Q//??HHII&!Q&!Q7799!d!d3a((
fh/////rs   c                 t   t          t          t          d          gt          d          t          gd          }|                                }|d                             |j        |j        d         df                   |d<   |                    d|d         i          }t          j        ||           d S )Nz2014-1-1z2013-1-1)DateDate2r   r   r   rV   )	r   r   r
   r0   r!   rH   rI   r   r"   r|   s       r+   test_fillna_datelikezTestFillNA.test_fillna_datelike   s     i
334#J//5 
 
 7799#F+2226"(1+w:N3OPP&"W+!677
fh/////rs   c                    t          dt          d          t          gi          }t          dt          d          t          d          gi          }d}t          j        t
          |          5  |                    d          }d d d            n# 1 swxY w Y   t          j        ||           t          dt          t          d          gi          }t          dt          d          t          d          gi          }d}t          j        t
          |          5  |                    d          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   z2012-11-11 00:00:00+01:00rC   r2   rD   rE   bfill)r   r
   r   r   r8   r9   r!   r"   )r%   r(   exprP   ress        r+   test_fillna_tzawarezTestFillNA.test_fillna_tzaware   s    i(CDDcJKLL9::9::
 
 ='SAAA 	* 	*))5)))C	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
c3'''c9-H#I#IJKLL9::9::
 
 ='SAAA 	, 	,))7)++C	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
c3'''''s$   0BBB"EE	E	c                    t          t          ddd          ddt          j        t          j        gd          }d}t	          j        t          |	          5  |                    d
          }d d d            n# 1 swxY w Y   t          t          ddd          g dd          }t	          j        ||           d S )N20130101   z
US/Eastern)periodstzr   r   r   r   rC   r2   rD   rE   )      ?r   r   r   )	r   r   r   r   r   r8   r9   r!   r"   r%   r(   rP   rb   r*   s        r+   $test_fillna_tzaware_different_columnz/TestFillNA.test_fillna_tzaware_different_column   s    
A,GGGBFBF+ 
 
 ='SAAA 	- 	-YYeY,,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-
A,GGG))) 
 
 	fh/////s   A;;A?A?c                 (   t          dddt          j        gg d          }ddt          j        dg}t          ||d	          }t          g d
g d          }g d}t          ||d	          }t          g dg d          }ddt          j        g}t          ||d	          }	t          ddgg d          }
ddg}t          |
|d	          }|                    ddd	          }t          j        ||           d}t          j        t          |          5  |                    ddd	           d d d            n# 1 swxY w Y   d}t          j
        t          |          5  |                    d          }d d d            n# 1 swxY w Y   t          j        ||           |                    dg          }t          j        ||	           |                                }t          j        ||           t          t          j        dt          j        gddg          }t          |g dd	          }t          g dddg          }t          |g dd	          }|                    d          }t          j        ||           d S )Nr   r   r   r   r   r   )
categoriesrl   rm   dcatsvals)r   r   r   r   )rl   rm   rm   r   rV   z3Cannot setitem on a Categorical with a new categoryr2   r   rn   rC   rD   rE   r   )subset)rl   rm   rl   )r   r   r   r   r!   r   r"   rJ   rK   	TypeErrorr8   r9   dropna)r%   catr   r(   cat2vals2df_exp_fillcat3vals3df_exp_drop_catscat4vals4df_exp_drop_allr   rP   rn   cat_expdf_exps                     r+   test_na_actions_categoricalz&TestFillNA.test_na_actions_categorical   s-   1aBF+			BBBS"&#&T2233<<<III>>>$$$u = =>>999;;;c26"$dE%B%BCCAq6iii888c
#T5$A$ABB iiq#66i77
c;///C]9C000 	6 	6IIQ44I555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 ='SAAA 	* 	*))5)))C	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*
c;/// iixi((
c#3444iikk
c?333 bf-3*EEE9995566ooo3*EEEGYYY??@@iinn
c6*****s$   EEE)FFFc                 L   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          }t          j        ||           |j                            t          j                  }t          j	        ||j                   |j
                            t          j                  }t          j	        ||j
                   t          dddt          t          g          }	t          d	t          |	          i          }t          j        |                    t          
          |           t          dddt          t          gd          }	t          d	t          |	          i          }t          j        |                    t          
          |           t          dddt          t          g          }	t          d	t          |	          i          }t          j        |                    t          
          |           d S )Nr   r   r   )r   r   r   categoryr^   z2011-01-01 09:00z2016-01-01 23:45rl   rV   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   rb   idxs
             r+   test_fillna_categorical_nanz&TestFillNA.test_fillna_categorical_nan	  s    261bf-..262626233S1122 bf5566ii(IIIu==ZPPP
c6***''
vrw///''
vrw///!35GcR
 
 [--.//
biici22B7779iCECPPP[--.//
biici22B777h(CEFF[--.//
biici22B77777rs   c                 J   t          ddt          j        gi          }d}t          j        t
          |          5  |                    dd          }d d d            n# 1 swxY w Y   t          dddgi          }t          j        ||           t          ddt          j        gi          }t          j        t
          |          5  |                    ddid          }d d d            n# 1 swxY w Y   t          dddgi          }t          j        ||           d S )	Nrl   r   z.The 'downcast' keyword in fillna is deprecatedr2   r   inferdowncastr   r   r   r   r   r8   r9   r!   r"   r   s        r+   test_fillna_downcastzTestFillNA.test_fillna_downcast-  s    c26]+,,>'SAAA 	4 	4YYq7Y33F	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4cAq6]++
fh/// c26]+,,'SAAA 	; 	;YYQx'Y::F	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;cAq6]++
fh/////s#   AA#&A#
C00C47C4c                      |g dd          }d}t          j        t          |          5  |                    dd          }d d d            n# 1 swxY w Y   t          j        ||           d S )	Nr   ro   r^    The 'downcast' keyword in fillnar2    Fr   )r   r8   r9   r!   assert_equal)r%   frame_or_seriesobjrP   rb   s        r+   test_fillna_downcast_falsez%TestFillNA.test_fillna_downcast_false>  s    oiiix8880'SAAA 	4 	4ZZUZ33F	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4
$$$$$s   AAAc                 f    |g dt           j                  }d}t          j        t          |          5  |                    dt          j        t           j                            }d d d            n# 1 swxY w Y   |                    t           j                  }t          j	        ||           |                    t           j
                  }t          j        t          |          5  |                    dd          }d d d            n# 1 swxY w Y   |}t          j	        ||           t          j        t          |          5  |                    dt          j        t           j                            }	d d d            n# 1 swxY w Y   t          j	        |	|           d S )Nr   r^   r   r2   r   r   r   )r   int64r   r8   r9   r!   r_   int32rp   r   float64)
r%   r   r   rP   r   r*   obj2res2	expected2res3s
             r+   test_fillna_downcast_noopz$TestFillNA.test_fillna_downcast_noopF  sH    oiiirx8880'SAAA 	A 	A**URXbh-?-?*@@C	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A ::bh''
X&&&zz"*%%'SAAA 	8 	8;;uw;77D	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8	
i((('SAAA 	C 	C;;urx/A/A;BBD	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	h'''''s5   4A77A;>A;0DDD4FFFr   )r   r   r   r   c                 $   t          t          j        ddg|          }t          j        d           5  |                    ddi          }d d d            n# 1 swxY w Y   |                                }d|d<   t          j        ||           d S )Nr   r   rI   r   r           )r   r   r   r   r8   r!   r0   r"   )r%   r   r(   rb   r*   s        r+   -test_fillna_dictlike_value_duplicate_colnamesz8TestFillNA.test_fillna_dictlike_value_duplicate_colnames`  s     rvaVW==='-- 	) 	)YYQx((F	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 7799
fh/////s   AAAc                    t          g dg d          }|j        }t          t          j        d          gdz  g d          }t          j        ||           d}t          j        t          |          5  |	                    d	          }d d d            n# 1 swxY w Y   t          d	g dg d          }t          j
        ||           t          t          d
          ddgd          }|	                    d          }t          dt          d
          ddgt                    }t          j
        ||           d S )Nr   )r   r   r   r   rA   r   ro   rA   rI   Downcasting object dtype arraysr2   r   r   r   r   r   )rI   r   r_   r   )r   dtypesr   r   r_   r   r   r8   r9   r!   r"   rangero   )r%   using_infer_stringr(   rb   r*   rP   s         r+   test_fillna_dtype_conversionz'TestFillNA.test_fillna_dtype_conversionk  sv   ___oooFFF28H--.2///JJJ
vx000/'SAAA 	" 	"YYq\\F	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"QoooOOO
fh/// U1XXSzKKK5!!U%((S#JfUUU
fh/////s   8BB!Br   r   r   r   c                     t          dt          j        gddgd          }|                    t          j        |          }|                    |          }t          j        ||           d S )Nr   r   r   r   )r   r   r   replacer!   r   r"   )r%   r   r(   r*   rb   s        r+   *test_fillna_dtype_conversion_equiv_replacez5TestFillNA.test_fillna_dtype_conversion_equiv_replace~  s^    a[Sz::;;::bfc**3
fh/////rs   c                    t          ddt          j        gt          dd          g dg ddt          d	d          
          }|                    d          }t          g dt          dd          g dg ddt          d	d          
          }t          j        ||           t          ddt          j        gt          d          t          d          t          gg dg ddt          d	d          
          }|                    d          }t          g dt          d          t          d          dgg dg ddt          d	d          
          }t          j        ||           d S )Nr1   r   r   )r   )r   barN)foo2bar2Nr   r   r   r\   20130110r   ?)r1   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(   rb   r*   s       r+   test_fillna_datetime_columnsz'TestFillNA.test_fillna_datetime_columns  s   "bf%
A666)))+++	  Z333
 
 
 3"]]
A666(((***	  Z333
 
 
 	fh///"bf%--y/F/FL)))+++	  Z333
 
 
 3"]]--y/F/FL(((***	  Z333
 
 
 	fh/////rs   c                 v   t           j        |j        |j        d d         df<   t           j        |j        |j        dd          df<   d}t	          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   t	          j        |	                                |           d S )NrA   r   rB   rC   r2   rG   rE   )
r   r   rH   rI   r   r8   r9   r!   r"   rG   r%   rM   rP   alts       r+   
test_ffillzTestFillNA.test_ffill  s    <>F>/3S89=?V>/4c9:<'SAAA 	8 	8 ''w'77C	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8
n2244c:::::   $BBBc                 v   t           j        |j        |j        d d         df<   t           j        |j        |j        dd          df<   d}t	          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   t	          j        |	                                |           d S )NrA   r   rB   rC   r2   r   rE   )
r   r   rH   rI   r   r8   r9   r!   r"   r   r   s       r+   
test_bfillzTestFillNA.test_bfill  s    <>F>/3S89=?V>/4c9:<'SAAA 	8 	8 ''w'77C	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	n2244c:::::r   c                 p   t          j        d          }t          t           j                            d                              d          |          }|d d                             |dd          }d}t          j        t          |	          5  |d d                             |          
                    d
          }d d d            n# 1 swxY w Y   t           j        |j        dd <   t          j        ||           |dd                              |dd          }t          j        t          |	          5  |dd                              |          
                    d
          }d d d            n# 1 swxY w Y   t           j        |j        d d<   t          j        ||           d S )Nru   r   ru   r   r   rD   rA   rF   rx   rC   r2   rE   r   rf   r   r   aranger   ry   rz   r{   r`   r   r8   r9   r!   r   r$   r"   r%   rI   r(   rb   rP   r*   s         r+   test_frame_pad_backfill_limitz(TestFillNA.test_frame_pad_backfill_limit  s   	"ry,,Q//??HHPUVVVBQBe1==<'SAAA 	B 	B"1"v~~e,,3353AAH	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	BVbcc
fh///BCCzCC'SAAA 	H 	H"##wu--44J4GGH	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	HFbqb
fh/////s$   2CCC2F  FFc                    t          j        d          }t          t           j                            d                              d          |          }|d d                             |          }d}t          j        t          |          5  |
                    dd	          }d d d            n# 1 swxY w Y   t          j        t          |          5  |d d                             |          
                    d
          }d d d            n# 1 swxY w Y   t           j        |j        dd <   t          j        ||           |dd                              |          }t          j        t          |          5  |
                    dd	          }d d d            n# 1 swxY w Y   t          j        t          |          5  |dd                              |          
                    d
          }d d d            n# 1 swxY w Y   t           j        |j        d d<   t          j        ||           d S )Nru   r   r   r   rC   r2   rD   rA   r   rE   r   r   rf   r   r   r   s         r+   test_frame_fillna_limitz"TestFillNA.test_frame_fillna_limit  s   	"ry,,Q//??HHPUVVVBQB&&<'SAAA 	: 	:]]%q]99F	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 'SAAA 	B 	B"1"v~~e,,3353AAH	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	BVbcc
fh///BCC'''SAAA 	? 	?]]*A]>>F	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 'SAAA 	H 	H"##wu--44J4GGH	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	HFbqb
fh/////sH   B44B8;B82DDDF**F.1F.2HHHc                     t          t          j                            d                              d                              t                              }|                    t          j                   d S )Nr   r   )	r   r   ry   rz   r{   rp   intr!   r   )r%   r(   s     r+   test_fillna_skip_certain_blocksz*TestFillNA.test_fillna_skip_certain_blocks  sZ     ry,,Q//??HHOOPSTTUU 			"&rs   typec                 D   t          t          j                            d                              d                                        |          }d}t          j        t          |          5  |	                    dd           d d d            d S # 1 swxY w Y   d S )Nr   r   zLimit must be greater than 0r2   r   rB   rw   
r   r   ry   rz   r{   rp   rJ   rK   rL   r!   r%   r   r(   rP   s       r+   test_fillna_positive_limitz%TestFillNA.test_fillna_positive_limit  s    ry,,Q//??HHIIPPQUVV,]:S111 	# 	#IIarI"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#   0BBBc                 D   t          t          j                            d                              d                                        |          }d}t          j        t          |          5  |	                    dd           d d d            d S # 1 swxY w Y   d S )Nr   r   zLimit must be an integerr2   r   g      ?rw   r   r   s       r+   test_fillna_integer_limitz$TestFillNA.test_fillna_integer_limit  s    ry,,Q//??HHIIPPQUVV(]:S111 	$ 	$IIasI###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$r   c                 n   t          t          j                            d                              d                    }t          j        |j        d ddf<   t          j        |j        dd df<   |                    d          }||usJ |                    dd	
           t          j	        ||           |                    ddid	
          }|J t          j        |j        d ddf<   t          j        |j        dd df<   d}t          j
        t          |          5  |                    d          }d d d            n# 1 swxY w Y   ||usJ t          j
        t          |          5  |                    dd	           d d d            n# 1 swxY w Y   t          j	        ||           d S )Nr   r   r   r   r   r   rV   TrW   r   rC   r2   rG   rE   rg   )r   r   ry   rz   r{   r   rH   r!   r   r"   r8   r9   )r%   r(   r*   rP   s       r+   test_fillna_inplacezTestFillNA.test_fillna_inplace  s!   ry,,Q//??HHIIrr1urssAv9919%%r!!!!
		4	(((
b(+++99Aq64988rr1urssAv<'SAAA 	1 	1yyy00H	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1r!!!!'SAAA 	4 	4IIWdI333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4
b(+++++s$   "EE	E	1FFFc           	         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          j        ||           |                    dddd          }|                    |                                          }|                    |                                                                          }t          j        ||           t          j
        t          d          5  |                    |                    d          d           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   rl   rm   rn   r   rA   )rl   rm   rl   rm   rv   )rl   rm   r   zcolumn by columnr2   )axis)r   r   r   r!   r0   r   r"   maxto_dictrJ   rK   NotImplementedErrorr   s       r+   test_fillna_dict_seriesz"TestFillNA.test_fillna_dict_series  s   faBFBF3Arvrv.faAq) 
 
 ++,,7799 ,,Q// ,,Q//
fh/// 3344 26688$$99RVVXX--//00
fh/// ].6HIII 	) 	)IIbffQiiaI(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   +F==GGc           	      T   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                    }t          t          j        dd	d
dgg ddgdz  dt          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                    }t          j        ||           d S )Nr   r   r   r   r   VWXYZr   ru   rT      r.   )r/   <   F   P   Z   r   rA   )rl   rm   r   VWXuZr  r   r   r   listr!   r   r"   )r%   r(   df2rb   r*   s        r+   test_fillna_dataframez TestFillNA.test_fillna_dataframe;  s7   faBFBF3Arvrv.faAq) 
 w--
 
 
 fb"b"-)))w{ 
 w--
 
 
 3 faBFB/Arvr*faAq) 
 w--
 
 
 	fh/////rs   c                    t           j                            d                              d          }t           j        |d d d d df<   t          |          }d}t          j        t          |          5  |	                    dd          }d d d            n# 1 swxY w Y   t          j        t          |          5  |j
        	                    d	          j
        }d d d            n# 1 swxY w Y   t          j        ||           |                    d
dd           t          j        t          |          5  |	                    dd          }d d d            n# 1 swxY w Y   t          j        t          |          5  |                    t                    	                    dd          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   )ru   ru   rC   r2   rG   r   )rF   r  rD   rE      r   rA   )r   ry   rz   r{   r   r   r   r8   r9   r!   Tr"   insertrp   float)r%   r>   r(   rP   rb   r*   s         r+   test_fillna_columnszTestFillNA.test_fillna_columns^  s   i##A&&66x@@fAAAsssFs^^<'SAAA 	7 	7YYgAY66F	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7'SAAA 	3 	3t{{%{002H	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3
fh///
		!UA'SAAA 	7 	7YYgAY66F	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7'SAAA 	G 	Gyy''..gA.FFH	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G
fh/////sH   5BB B?!C,,C03C0>E""E&)E&0GGGc                     t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nffilr2   rE   )rJ   rK   rL   r!   )r%   float_frames     r+   test_fillna_invalid_methodz%TestFillNA.test_fillna_invalid_methodq  s    ]:V444 	. 	.f---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   A  AAc                 .   d}t          j        t          |                    d                    5  |                    ddg           d d d            n# 1 swxY w Y   t          j        t          |                    d                    5  |                    d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |j        d d d	f                             |           d d d            d S # 1 swxY w Y   d S )
NzA"value" parameter must be a scalar or dict, but you passed a "{}"r  r2   r   r   tuple)r   r   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame"r   )rJ   rK   r   formatr!   r$   )r%   r  rP   s      r+   test_fillna_invalid_valuez$TestFillNA.test_fillna_invalid_valueu  s   Q]9CJJv,>,>??? 	' 	'1v&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' ]9CJJw,?,?@@@ 	' 	'v&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'# 	 ]9C000 	7 	7QQQT"))+666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s5   AAAB00B47B4%D

DDc                    d t          ddd          D             }t          j                            d                              d          }t	          t          d          ||          }d	}t          j        t          |
          5  |                    d          }d d d            n# 1 swxY w Y   |j	        
                                |j	        
                                k    sJ d S )Nc                 2    g | ]}d t          |          z   S )zCOL.)str).0is     r+   
<listcomp>z9TestFillNA.test_fillna_col_reordering.<locals>.<listcomp>  s"    999AQ999rs   rA   r   r1   r   )rT   rA   rT   )rI   r   datarC   r2   rG   rE   )r   r   ry   rz   r   r   r8   r9   r!   r   tolist)r%   colsr&  r(   rP   filleds         r+   test_fillna_col_reorderingz%TestFillNA.test_fillna_col_reordering  s   99q!R999y$$Q''..w77U2YY4@@@<'SAAA 	/ 	/YYgY..F	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/z  ""fn&;&;&=&=======s   
B--B14B1c                     |                     g           }|                    d          }t          j        ||           d S )Nr]   r   rV   )r`   r!   r   r"   )r%   r  r(   rb   s       r+   test_fill_emptyzTestFillNA.test_fill_empty  sD       ,,##
fb)))))rs   c                 0   t          ddt          j        gi          }d}t          j        t
          |          5  |                    ddiddi          }d d d            n# 1 swxY w Y   t          dddgi          }t          j        ||           d S )Ncol1r   r   r2   r   r   r   r   r   s        r+   test_fillna_downcast_dictz$TestFillNA.test_fillna_downcast_dict  s    BF,--0'SAAA 	H 	HYY{fg5FYGGF	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	Hfq!f-..
fh/////s   A##A'*A'c           	      D   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d	d
          }|                    dd	d
          }t          t          g dd          ddt          j        dgt          j        d	t          j        t          j        gt          g dd          dg d          }t          t          g dd          t          g dd          d	d	t          j        d	gt          g dd          dg d          }t          j        ||           t          j        ||           d S )Nr   r   r   r   r   rA   ABCDr]   d   r  rW   rx   )r2  r   r2  r2  r   r^   )r   r   rA   r   r   )r   r   r   r   r   )r   r   r2  r   )r   r   r   r  r!   r   r   r"   )r%   r(   rb   result2r*   r   s         r+   "test_fillna_with_columns_and_limitz-TestFillNA.test_fillna_with_columns_and_limit  s   BFA&Arvq!+BFA&	 LL
 
 
 A66))#Q)77...i@@@BFA&fc26262LLL	:::	  ,,
 
 
 ...i@@@NNN)<<<3,LLL	:::	  ,,
 
 
	 	fh///
gy11111rs   c                     t          t          dd g          t          dd g          d          }|                                }|                    t          j        d           t          j        ||           d S )Nz
2018-05-30z
2018-09-30)date1date2Tr   )r   r   r0   r!   r   r   r   r"   r%   r(   r*   s      r+   test_fillna_datetime_inplacez'TestFillNA.test_fillna_datetime_inplace  s{    $lD%9::$lD%9:: 
 
 7799
		"&$	'''
b(+++++rs   c           	         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d	d
          }||usJ |                    dd	dd           t          j        ||           d S )Nr   r   r   r   r   rA   r1  r]   r2  r3  T)r  rW   rx   r   r  r9  s      r+   0test_fillna_inplace_with_columns_limit_and_valuez;TestFillNA.test_fillna_inplace_with_columns_limit_and_value  s    BFA&Arvq!+BFA&	 LL
 
 
 99!3a988r!!!!
		q1d	;;;
b(+++++rs   r1   re   yc                    t          t          j        dgt          j        dgd          }|                                }|d d          }t	          j        |          5  |                    |d           d d d            n# 1 swxY w Y   t          ddgddgd          }t	          j        ||           |rt	          j        ||           d S t	          j        ||           d S )Nr   r=  Tr   r1   r         )r   r   r   r0   r   r    r!   r"   )r%   r   r&   r'   r(   df_origresult_viewr*   s           r+   test_inplace_dict_update_viewz(TestFillNA.test_inplace_dict_update_view  s&    bfa[{;;<<''))e"#566 	) 	)IIc4I(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)B9D!9==>>
b(+++ 	9!+w77777!+x88888s   BBBc           
         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
          }|                    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
          }t	          j        ||           d S )NrA   r   ru   rv   r      r   r      )r.  col2col3col4r/   )rx   r  )      @      @g      (@      I@r   rL  r   )g      $@rJ  r   rL  )rL        @r   g      2@r]   )r   r   r   r!   r   r"   r   s       r+   )test_single_block_df_with_horizontal_axisz4TestFillNA.test_single_block_df_with_horizontal_axis  s    Arvr262BFBFAq1RVQ1-Arvr2	 
 
 2QQ//&&&dBFC(rvsC(&&&&&& 544	
 	
 	
 	fh/////rs   c                 
   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          j        |                    ddi          |           t          j        |                    dd	d
          |           t          g dg dddt          j        gd          }t          j        |                    d	dd          |           d S )Nr   rM  r   ))re   rl   re   rm   )r>  rn   )r@  r   rM  )r   r   r@  re   r1   r   )re   rP  )r   r   g       )rP  re   )r   r   r   r   r"   r!   )r%   pdfr*   s      r+   "test_fillna_with_multi_index_framez-TestFillNA.test_fillna_with_multi_index_frame  s*   VS#. #rv. #rv. 
 
 ,,,,,, #rv. 
 
 	cjj#r33X>>>
cjjrr)B)BCCXNNN,,,,,, #rv. 
 
 	cjjbr)B)BCCXNNNNNrs   N)7__name__
__module____qualname__r,   td&skip_array_manager_not_yet_implementedr?   rR   rZ   rc   rj   rr   r}   r   r   r   r   r   r   r   r   rJ   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/  r5  r:  r<  skip_array_manager_invalid_testrC  rN  rR   rs   r+   r   r      s~       D D D6 .0 0 /.0$5 5 5.$ $ $
6 
6 
6	& 	& 	&$ $ $$
0 
0 
00 0 0( ( (>0 0 0(*+ *+ *+X"8 "8 "8H0 0 0"% % %( ( (4 [Y3*(EFF0 0 GF00 0 0& [URBFC$8990 0 :90*0 *0 *0X; ; ;; ; ;0 0 0&0 0 0.   [Vc5\22# # 32# [Vc5\22$ $ 32$, , ,2) ) )8!0 !0 !0F0 0 0&. . .7 7 7 > > >* * *
0 0 0"2 "2 "2H
, 
, 
,, , ,$ '[URr););$<==9 9 >= ('9 0 0 0.O O O O Ors   r   c                     t          g dg dg dgg d          } |                     dd          }|                    d	          }|                                                                                                d	k    sJ d S )
N)r   r   r   r   )r   r   r   r   )r   r   r   rM  )i1i2i3f1r]   r]  r^  r   r   )r   pivotr!   isnasum)r(   df_nonconsolrb   s      r+   !test_fillna_nonconsolidated_framere  %  s    	NNNNNN	

 )((
 
 
B 88$855L  ##F;;==""$$))))))rs   c                  2   t          d d gd d ggddg          } d}t          j        t          |          5  |                     dddd	
           d d d            n# 1 swxY w Y   t          ddgddggddg          }t          j        | |           d S )Nr   r   r]   r   r2   r   r   r   Tr   )r   r   r8   r9   r!   r"   )r(   rP   r*   s      r+   test_fillna_nones_inplacerg  4  s    	
d|$c

 
 
B ,C		#M	=	=	= 8 8
		aa(($	7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 1a&1a&)C:>>>H"h'''''s   AA"%A"funcrD   rf   c                     t          dg di          }t          j        t                    5   t	          ||                        d d d            d S # 1 swxY w Y   d S )Nrl   r   )r   r   r8   r9   getattr)rh  r(   s     r+   test_pad_backfill_deprecatedrk  B  s     
C#	$	$B		#M	2	2  D                 s   AAAz#data, expected_data, method, kwargsr   rv   rM  rK  rG   
limit_areainsider   )rl  rx   outsiderA   r   c                     t          |           }t          |          } t          ||          di |}t          j        ||           d S )Nr[  )r   rj  r   r"   )r&  expected_datarF   kwargsr(   r*   rb   s          r+   test_ffill_bfill_limit_arearr  J  sU    F 
4B''H WR  **6**F&(+++++rs   ) numpyr   rJ   pandas.util._test_decoratorsutil_test_decoratorsrV  pandasr   r   r   r   r   r   r	   r
   r   r   pandas._testing_testingr   pandas.tests.frame.commonr   r   re  rg  rX  rY  rk  r   r   rr  r[  rs   r+   <module>r{     s        ) ) ) ) ) ) ) ) )                              8 8 8 8 8 8LO LO LO LO LO LO LO LO^* * *( ( ( %!455  65 ) VRVQ2626JVRVS#sCbfbfE8$		
 VRVQ2626JVRVS#rvrvsBFBFK#a00		
 VRVQ2626JVRVS"&"&"&#sCH9%		
 VRVQ2626JVRVS"&"&"&#sBFK$q11		
 VRVRVRVRVRVRVDVRVRVRVRVRVRVD$q11		
 E!HHE!HH$q11		
 VRVQ2626JVRVS#sCbfbfE8$		
 VRVQ2626JVRVS"&"&#sBFBFK#a00		
 VRVQ2626J#sBFBFBFCH9%		
 VRVQ2626JVS#rvrvrvsBFBFK$q11		
o=@ @B, ,C@ @B, , ,rs   