
    Piq                        d dl Zd dlZd dl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	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ej                            dddg          ej                            dddg          d                         Zd ZdS )    N)OutOfBoundsDatetime)
Categorical	DataFrameDatetimeIndexNaTPeriodIndexSeriesTimedeltaIndex	Timestamp
date_rangeto_datetime)_check_mixed_floatc                   ~   e 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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+ Z,d, Z-d- Z.d. Z/ej                            dd/d/d/d0g          d1             Z0d2 Z1d3 Z2d4S )5
TestFillNAc                    t          t          j        gdz  t          t	          d          t          gt          j        ddgd          }g d|_        |d d          }|                    ddid	           t          d
gdz  dt	          d          dgg dd          }g d|_        t          j        ||           t          j	        |j
        d d df         |j
        d d df                   rJ d S )N      foo   ABC)r   r   r   r   Tinplace       @)r   r   r   )r   npnanr   r   columnsfillnatmassert_frame_equalshares_memoryiloc)selfdforigexpecteds       z/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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
		3(D	))) %!)1illA"6]]]KK
 
 +??
b(+++#BGAAAqDM49QQQT?CCCCCCC    c                    t          j        dt           j                  }t          |d          }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 t          |j
        j                  dk    sJ t          j        |j        |          sJ d S )	N)(   2   F)copyr   Tr   r   )r   fullr   r   r!   raises_chained_assignment_errorr    isnanalllen_mgrblocksr#   values)r%   arrr&   s      r)   test_fillna_on_column_viewz%TestFillNA.test_fillna_on_column_view(   s   gh''s'''/11 	+ 	+qELLTL***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+xAAAqD	""&&((((( 27>""a''''	3///////s   A..A25A2c                 h   |}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 |                                }t          j        |j        |j        d d         df                                                   sJ d}t          j	        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )N   r   r   z/missing 1 required positional argument: 'value'match)r   r   locindexr    r4   ffillr3   pytestraises	TypeError)r%   datetime_frametfzero_filledpaddedmsgs         r)   test_fillna_datetimezTestFillNA.test_fillna_datetime5   sc   $&Frx|S !%'Vrx}c!"$++A.. 1"1" 5s :;q@EEGGGGG%%''x
6<#3S#89::>>@@@@@@]9C000 	$ 	$!!###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   D''D+.D+c                    |}t           j        |j        |j        dd         df<   t           j        |j        |j        dd          df<   |                                }|j        |j        dd          df         |j        |j        d         df         k                                    sJ |j        |j        dd         df         dk                                    sJ |                    d	          }|j        |j        dd          df         dk                                    sJ |j        |j        dd         df         dk                                    sJ d S )
Nr<      r   r   ibarr   value)r   r   r@   rA   rB   r4   r    )r%   float_string_frameusing_infer_stringmfresults        r)   test_fillna_mixed_typez!TestFillNA.test_fillna_mixed_typeD   sP   (*rx"~u$%&(frx~s"#Jv|CDD)3./6:fl3>OQT>T3UU
#%%	 	  
6<"-u45>CCEEEEE##
6<-s23q8==?????
6<"-u45:??AAAAAAAr+   c                    |                     g d          }t          j        |j        |j        dd          df<   |                    d          }t          |dd i           |                                }t          |dd i           d S )	N)r   r   Dr   rN   r   r   rP   r   dtype)reindexr   r   r@   rA   r    r   rB   )r%   mixed_float_framerT   rU   s       r)   test_fillna_mixed_floatz"TestFillNA.test_fillna_mixed_floatS   s    &&&??&(frx~s"###6#t55556#t555555r+   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
          }||u sJ t          j        ||           d S )Nabcr   r   )r`   r`   r   r`   )ra   ra   r   ra   )rb   rb   r   rb   objectTr   )r   r   r   r    astyper!   r"   r%   r&   rU   r(   s       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///Au:t44||||
b(+++++r+   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   r<   i  )r   r   )r   r   r   limit)r   r   randomdefault_rngstandard_normalr   r$   r/   r    r!   r"   r%   r&   r(   rU   s       r)   test_fillna_limit_and_valuez&TestFillNA.test_fillna_limit_and_valuen   s    ry,,Q//??HHII&!Q&!Q7799!d!d3a((
fh/////r+   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Date2rr   r   rs   rP   )	r   r   r   r/   r    r@   rA   r!   r"   ro   s       r)   test_fillna_datelikezTestFillNA.test_fillna_datelikez   s     i
334#J//5 
 
 7799#F+2226"(1+w:N3OPP&"W+!677
fh/////r+   c                    t          dt          d          t          gi          }t          dt          d          t          d          gi          }|                                }t	          j        ||           t          dt          t          d          gi          }t          dt          d          t          d          gi          }|                                }t	          j        ||           d S )Nr   z2012-11-11 00:00:00+01:00)r   r   r   rB   r!   r"   bfill)r%   r&   express       r)   test_fillna_tzawarezTestFillNA.test_fillna_tzaware   s     i(CDDcJKLL9::9::
 
 hhjj
c3'''c9-H#I#IJKLL9::9::
 
 hhjj
c3'''''r+   c                    t          t          ddd          ddt          j        t          j        gd          }|                                }t          t          ddd          g dd          }t          j        ||           d S )	N20130101   z
US/Eastern)periodstzr   r   r   r   )      ?r   r   r   )r   r   r   r   rB   r!   r"   re   s       r)   $test_fillna_tzaware_different_columnz/TestFillNA.test_fillna_tzaware_different_column   s     
A,GGGBFBF+ 
 
 
A,GGG))) 
 
 	fh/////r+   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   |
                                }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   )
categoriesr`   ra   dcatsvals)r   r   r   r   )r`   ra   ra   r   rP   z3Cannot setitem on a Categorical with a new categoryr>   r|   rb   r   )subset)r`   ra   r`   )r   r   r   r   r    r!   r"   rC   rD   rE   rB   dropna)r%   catr   r&   cat2vals2df_exp_fillcat3vals3df_exp_drop_catscat4vals4df_exp_drop_allrx   rJ   rb   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 hhjj
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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   categoryrZ   z2011-01-01 09:00z2016-01-01 23:45r`   rP   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&   medianrx   v_expr   rU   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7r+   c                 <   t          t          g d          ddt          j        gd          }t	          t          g d                    }|                    d|i          }t          t          g d          g dd          }t          j        ||           d S )Nr   r   r   )r   ints)      $@g      4@      >@r   )r   r   r   )r   r   r   r   r	   r    r!   r"   )r%   r&   fillerrU   r(   s        r)   #test_fillna_with_categorical_seriesz.TestFillNA.test_fillna_with_categorical_series  s     11Cbf;MNN
 
 $6$6$67788FF+,, 11;K;K;KLL
 
 	fh/////r+   c                 x     |g dd          }|                     d          }t          j        ||           d S )Nr   rc   rZ    )r    r!   assert_equal)r%   frame_or_seriesobjrU   s       r)   test_fillna_no_downcastz"TestFillNA.test_fillna_no_downcast  sA    oiiix888B
$$$$$r+   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   rA   r   r           )r   r   r   r!   assert_produces_warningr    r/   r"   )r%   r   r&   rU   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          dg dg dt                    }t          j	        ||           t          t          d	          d
dgd          }|                    d          }t          ddt          d	          d
dg          }t          j	        ||           d S )Nr   )r   r   r   r|   r<   r   rc   r<   rA   r   )rA   r   r[   r   r   r   float64r   )r[   rA   r   )r   dtypesr	   r   r[   r!   r   r    rc   r"   rangere   s       r)   test_fillna_dtype_conversionz'TestFillNA.test_fillna_dtype_conversion#  s   ___oooFFF28H--.2///JJJ
vx0001___oooV
 
 
 	fh/// U1XXSzKKK5!!U(%((SRUJWWW
fh/////r+   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(   rU   s        r)   *test_fillna_dtype_conversion_equiv_replacez5TestFillNA.test_fillna_dtype_conversion_equiv_replace5  s^    a[Sz::;;::bfc**3
fh/////r+   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 )Nr0   r{   r   )r}   )r   rO   N)foo2bar2Nr   r   r   rX   20130110r   ?)r0   r   r   )r   rO   r   )r   r   r   z
2013-01-01z
2013-01-02)	r   r   r   r   r    r!   r"   r   r   re   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/////r+   c                    t           j        |j        |j        d d         df<   t           j        |j        |j        dd          df<   |                                }t          j        |                                |           d S Nr<   r   r=   )r   r   r@   rA   rB   r!   r"   r%   rF   alts      r)   
test_ffillzTestFillNA.test_ffillh  x    <>F>/3S89=?V>/4c9:""$$
n2244c:::::r+   c                    t           j        |j        |j        d d         df<   t           j        |j        |j        dd          df<   |                                }t          j        |                                |           d S r   )r   r   r@   rA   rv   r!   r"   r   s      r)   
test_bfillzTestFillNA.test_bfillo  r   r+   c                    t          j        d          }t          t           j                            d                              d          |          }|d d                             |dd          }|d d                             |                                          }t           j        |j	        dd <   t          j        ||           |d	d                              |d
d          }|d	d                              |                                          }t           j        |j	        d d<   t          j        ||           d S )Nrh   r   rh   r|   r   padr<   )methodrk   r   backfillr   r   aranger   rl   rm   rn   r\   rB   r   r$   r!   r"   rv   r%   rA   r&   rU   r(   s        r)   test_frame_pad_backfill_limitz(TestFillNA.test_frame_pad_backfill_limitv  s   	"ry,,Q//??HHPUVVVBQBe1==bqb6>>%((..00Vbcc
fh///BCCzCCbcc7??5))//11Fbqb
fh/////r+   c                    t          j        d          }t          t           j                            d                              d          |          }|d d                             |          }|                    d          }|d d                             |                                          }t           j        |j	        dd <   t          j        ||           |dd                              |          }|                    d          }|dd                              |                                          }t           j        |j	        d d	<   t          j        ||           d S )
Nrh   r   r   r   r<   rj   r   r   r   r   r   s        r)   test_frame_fillna_limitz"TestFillNA.test_frame_fillna_limit  s2   	"ry,,Q//??HHPUVVVBQB&&A&&bqb6>>%((..00Vbcc
fh///BCC''A&&bcc7??5))//11Fbqb
fh/////r+   c                     t          t          j                            d                              d                              t                              }|                    t          j                   d S )Nr   r   )	r   r   rl   rm   rn   rd   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 			"&r+   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 0r>   r   r=   rj   
r   r   rl   rm   rn   rd   rC   rD   
ValueErrorr    r%   r   r&   rJ   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 integerr>   r   g      ?rj   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                    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	
          }||u sJ t          j	        ||           |                    ddid	
          }||u sJ t          j        |j        d ddf<   t          j        |j        dd df<   |
                                }||usJ |
                    d	           t          j	        ||           d S )Nr   r   r|   r   r   r   rP   TrQ   r   r   )r   r   rl   rm   rn   r   r@   r    r!   r"   rB   ro   s       r)   test_fillna_inplacezTestFillNA.test_fillna_inplace  sK   ry,,Q//??HHIIrr1urssAv9919%%r!!!!D11||||
b(+++!Q66||||rr1urssAv88::r!!!!

b(+++++r+   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        ||           d S )Nr   r   r   r|   r`   ra   rb   r   r<   )r`   ra   r`   ra   ri   )r`   ra   r   )	r   r   r   r    r/   r!   r"   maxto_dictre   s       r)   test_fillna_dict_seriesz"TestFillNA.test_fillna_dict_series  s8   faBFBF3Arvrv.faAq) 
 
 ++,,7799 ,,Q// ,,Q//
fh/// 3344 26688$$99RVVXX--//00
fh/////r+   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          }||u sJ t          g d	g d
g d	d          }t          j        ||           t          j        ||           d S )Nr   r   r   r|   r   axisT)r   r   )r   r   r         @      @)r   r   r   r   r   )r   r   r   r    r   r!   r"   re   s       r)   test_fillna_dict_series_axis_1z)TestFillNA.test_fillna_dict_series_axis_1  s   faBFBF3Arvrv.faAq) 
 
 266q6>>22266q6>>4@@||||......... 
 
 	fh///
b(+++++r+   c           	      R   t          ddt          j        ddgdddt          j        t          j        gt          j        ddddgd	          }t          j        t
          d
          5  |                    t          dddd	          d           d d d            d S # 1 swxY w Y   d S )Nabcdefghijklr   r   r   r|   r   z$All columns must have the same dtyper>   hijr   r   r   r   rC   rD   r   r    r	   r   s     r)   ,test_fillna_dict_series_axis_1_mismatch_colsz7TestFillNA.test_fillna_dict_series_axis_1_mismatch_cols  s   UBFE59Arvrv.faAq) 
 
 ]:-STTT 	L 	LIIf5u5AABBIKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	Ls   &)BB #B c           	      z   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          j        t
          d          5  |                    t          dd	d
d          d           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r|   r   z&.* not a suitable type to fill into .*r>   r   r   r   r   r   r   s     r)   7test_fillna_dict_series_axis_1_value_mismatch_with_colszBTestFillNA.test_fillna_dict_series_axis_1_value_mismatch_with_cols  s	   faBFBF3Arvrv.faAq) 
 
 ]:-UVVV 	L 	LIIf5u5AABBIKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	Ls   :)B00B47B4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   rh   rM      r-   )r.   <   F   P   Z   rO   r<   )r`   ra   r   VWXuZr  r   r   r   listr    r!   r"   )r%   r&   df2rU   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/////r+   c                 &   t           j                            d                              d          }t           j        |d d d d df<   t          |          }|                    d          }|j                                        j        }t          j	        ||           |
                    ddd           |                    d          }|                    t                                        d          }t          j	        ||           d S )Nr   )rh   rh   r   r      r   r<   )r   rl   rm   rn   r   r   rB   Tr!   r"   insertrd   float)r%   r9   r&   rU   r(   s        r)   test_fillna_columnszTestFillNA.test_fillna_columns-  s    i##A&&66x@@fAAAsssFs^^q!!4::<<>
fh///
		!UAq!!99U##))q)11
fh/////r+   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  r>   r   r   tuple)r   r   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame"r   )rC   rD   rE   formatr    r$   )r%   float_framerJ   s      r)   test_fillna_invalid_valuez$TestFillNA.test_fillna_invalid_value;  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                 r   d t          ddd          D             }t          j                            d                              d          }t	          t          d          ||          }|                                }|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>L  s"    999AQ999r+   r<   r   r0   r   )rM   r<   rM   )rA   r   data)r   r   rl   rm   r   rB   r   tolist)r%   colsr  r&   filleds        r)   test_fillna_col_reorderingz%TestFillNA.test_fillna_col_reorderingK  s    99q!R999y$$Q''..w77U2YY4@@@z  ""fn&;&;&=&=======r+   c                     |                     g           }|                    d          }t          j        ||           d S )NrY   r   rP   )r\   r    r!   r"   )r%   r  r&   rU   s       r)   test_fill_emptyzTestFillNA.test_fill_emptyR  sD       ,,##
fb)))))r+   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   r<   ABCDrY   d   r   rQ   rk   )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&   rU   result2r(   	expected2s         r)   "test_fillna_with_columns_and_limitz-TestFillNA.test_fillna_with_columns_and_limitW  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1r+   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   r/   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(+++++r+   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          }||u sJ t          j        ||           d S )Nr   r   r   r|   r   r<   r#  rY   r$  r%  T)r   rQ   rk   r   r  ro   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!!!!AtDD||||
b(+++++r+   r0   xyc                 D   t          t          j        dgt          j        dgd          }|                                }|d d          }|                    |d           t          ddgddgd          }t          j        ||           t          j        ||           d S )Nr   r/  Tr   r0   r         )r   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
		#t	$$$B9D!9==>>
b(+++
k733333r+   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 )Nr<   r   rh   ri   r      r   r      )col1col2col3col4r.   )rk   r   )      @      @g      (@      I@r   r@  r   )r   r>  r   r@  )r@  r   r   g      2@rY   )r   r   r   r    r!   r"   re   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/////r+   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   r   r   ))r0  r`   r0  ra   )r1  rb   )r3  r   r   )r   r   r3  r0  r0   r   )r0  rC  )r   r   g       )rC  r0  )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Nr+   N)3__name__
__module____qualname__r*   r:   rK   rV   r^   rf   rp   rt   ry   r   r   r   r   r   rC   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,  r.  r6  rA  rE   r+   r)   r   r      sZ       D D D"0 0 0$ $ $B B B6 6 6, , ,$
0 
0 
00 0 0( ( (60 0 0$(+ (+ (+T"8 "8 "8H0 0 0% % % [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$, , ,.0 0 00, , ,*	L 	L 	L	L 	L 	L!0 !0 !0F0 0 07 7 7 > > >* * *
"2 "2 "2H
, 
, 
,, , ,& [URr););$<==4 4 >=40 0 0.O O O O Or+   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   r   )i1i2i3f1rY   rM  rN  r   r   )r   pivotr    isnasum)r&   df_nonconsolrU   s      r)   !test_fillna_nonconsolidated_framerU    s    	NNNNNN	

 )((
 
 
B 88$855L  ##F;;==""$$))))))r+   c                      t          d d gd d ggddg          } |                     dddd          }|| u sJ t          ddgddggddgt          	          }t          j        | |           d S )
Nr   r   rY   r   r   r   Tr   )r   r[   )r   r    rc   r!   r"   )r&   rU   r(   s      r)   test_fillna_nones_inplacerW    s    	
d|$c

 
 
B YY11--tY<<FR<<<<1a&1a&)C:VLLLH"h'''''r+   z#data, expected_data, method, kwargsr   ri   r   r?  rB   
limit_areainsider   )rX  rk   outsider<   rv   c                     t          |           }t          |          } t          ||          di |}t          j        ||           d S )NrK  )r   getattrr!   r"   )r  expected_datar   kwargsr&   r(   rU   s          r)   test_ffill_bfill_limit_arear_    sU    F 
4B''H WR  **6**F&(+++++r+   
test_frameTFr[   r  rc   c                    t          dt          j        dg|          }| r|                                }|                    d           }t          g d|          }| r|                                }t          j        ||           d S )Nr   r   rZ   rP   )r   Nr   )r	   r   r   to_framer    r!   r   )r`  r[   r   rU   r(   s        r)   test_fillna_with_none_objectrc  >  s     !RVQu
-
-
-C llnnZZdZ##Flll%000H '$$&&OFH%%%%%r+   c                     t          t          dddd          g dd          } d | j        d<   d	}t          j        t
          |
          5  |                     t          d                     d d d            d S # 1 swxY w Y   d S )Nz1/1/2011r   hns)r}   r   unitr   )datetimerQ   )r   r   z=Cannot cast 0001-01-01 00:00:00 to unit='ns' without overflowr>   z
0001-01-01)r   r   r$   rC   rD   r   r    r   )r&   rJ   s     r)   "test_fillna_out_of_bounds_datetimeri  L  s    	":qsNNNYY	
 	

 
B BGDM
IC	*#	6	6	6 + +
		)L))***+ + + + + + + + + + + + + + + + + +s   #A==BB)numpyr   rC   pandas.errorsr   pandasr   r   r   r   r   r	   r
   r   r   r   pandas._testing_testingr!   pandas.tests.frame.commonr   r   rU  rW  rI  rJ  r   r   r_  rc  ri  rK  r+   r)   <module>rp     s        - - - - - -                              8 8 8 8 8 8@O @O @O @O @O @O @O @OF* * *
( 
( 
( ) 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, e}557H"566	& 	& 76 65	&+ + + + +r+   