
    .iq                        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j0                  j3                  d	ej4                  ej4                  d
ej4                  ej4                  ej4                  dej4                  ej4                  g	ej4                  ej4                  dddddej4                  ej4                  g	dddifej4                  ej4                  d
ej4                  ej4                  ej4                  dej4                  ej4                  g	ej4                  ej4                  ddej4                  ej4                  dej4                  ej4                  g	ddddfej4                  ej4                  d
ej4                  ej4                  ej4                  dej4                  ej4                  g	ej4                  ej4                  dej4                  ej4                  ej4                  dddg	dddifej4                  ej4                  d
ej4                  ej4                  ej4                  dej4                  ej4                  g	ej4                  ej4                  dej4                  ej4                  ej4                  ddej4                  g	ddddfej4                  ej4                  ej4                  ej4                  ej4                  ej4                  ej4                  gej4                  ej4                  ej4                  ej4                  ej4                  ej4                  ej4                  gddddf ed       ed      ddddfej4                  ej4                  d
ej4                  ej4                  ej4                  dej4                  ej4                  g	ej4                  ej4                  dddddej4                  ej4                  g	dddifej4                  ej4                  d
ej4                  ej4                  ej4                  dej4                  ej4                  g	ej4                  ej4                  dej4                  ej4                  ddej4                  ej4                  g	ddddfej4                  ej4                  d
ej4                  ej4                  ej4                  dej4                  ej4                  g	dddej4                  ej4                  ej4                  dej4                  ej4                  g	dddifej4                  ej4                  d
ej4                  ej4                  ej4                  dej4                  ej4                  g	ej4                  ddej4                  ej4                  ej4                  dej4                  ej4                  g	ddddff
      d        Zej0                  j3                  dddg      ej0                  j3                  dddg      d               Zd Zy)    N)OutOfBoundsDatetime)
Categorical	DataFrameDatetimeIndexNaTPeriodIndexSeriesTimedeltaIndex	Timestamp
date_rangeto_datetime)_check_mixed_floatc                   r   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$                  j'                  dg dddgg      d        Zd Zej$                  j'                  dddej.                  dg      d        Zd Zd Zd Zd Zd Zd Zej$                  j'                  dee g      d         Z!ej$                  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$                  j'                  dd/d/d/d0g      d1        Z0d2 Z1d3 Z2y4)5
TestFillNAc                    t        t        j                  gdz  t        t	        d      t        gt        j                  ddgd      }g d|_        |d d  }|j                  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 y )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       d/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/frame/methods/test_fillna.py*test_fillna_dict_inplace_nonunique_columnsz5TestFillNA.test_fillna_dict_inplace_nonunique_columns   s    66(Q,c9Q<%=RVVUTUDVW
 %
!u
		3(D	) %!)1ilA"6]K
 +
b(+##BGGAqDM499QT?CCCC    c                    t        j                  dt         j                        }t        |d      }t	        j
                         5  |d   j                  dd       d d d        t        j                  |d d df         j                         sJ t        |j                  j                        dk(  sJ t        j                  |j                  |      sJ y # 1 sw Y   |xY w)	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    ggh's'//1 	+qELLTL*	+xxAqD	"&&((( 277>>"a'''		3///	+ 	+s   CC!c                 b   |}t         j                  |j                  |j                  d d df<   t         j                  |j                  |j                  dd  df<   |j	                  d      }|j                  |j                  d d df   dk(  j                         sJ |j                         }t        j                  |j                  |j                  d d df         j                         sJ d}t        j                  t        |      5  |j	                          d d d        y # 1 sw Y   y xY w)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   s   $&FFrxx|S !%'VVrxx}c!"$++A. 1 1"1 5s :;q@EEGGG%%'xx

6<<#3S#89:>>@@@@]]9C0 	$!!#	$ 	$ 	$s   D%%D.c                    |}t         j                  |j                  |j                  dd df<   t         j                  |j                  |j                  dd  df<   |j	                         }|j                  |j                  dd  df   |j                  |j                  d   df   k(  j                         sJ |j                  |j                  dd df   dk(  j                         sJ |j                  d	      }|j                  |j                  dd  df   dk(  j                         sJ |j                  |j                  dd df   dk(  j                         sJ y )
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   sE   (*rxx"~u$%&(ffrxx~s"#JJv||CD)3./6::fll3>OQT>T3UU
#% 	  

6<<"-u45>CCEEE#

6<<-s23q8==???

6<<"-u45:??AAAr+   c                    |j                  g d      }t        j                  |j                  |j                  dd  df<   |j                  d      }t        |dd i       |j                         }t        |dd i       y )	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   sm    &&&?&(ffrxx~s"##6#t56#t5r+   c                    t        ddt        j                  dgddt        j                  dgddt        j                  dgg      }|j                  ddi      }t        g dg dg dg      }|d   j	                  d	      |d<   t        j                  ||       |j                  ddid
      }||u sJ t        j                  ||       y )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T
 qk((2
fh/Au:t4||
b(+r+   c                    t        t        j                  j                  d      j	                  d            }t        j
                  |j                  dddf<   t        j
                  |j                  dddf<   |j                         }d|j                  d<   d|j                  d	<   |j                  dd
      }t        j                  ||       y )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    ryy,,Q/??HI&&!Q&&!Q779!d!d3a(
fh/r+   c                 <   t        t        t        d      gt        d      t        gd      }|j                         }|d   j	                  |j
                  |j                  d   df         |d<   |j	                  d|d   i      }t        j                  ||       y )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4#J/5
 779#F+22266"((1+w:N3OP&"W+!67
fh/r+   c                    t        dt        d      t        gi      }t        dt        d      t        d      gi      }|j                         }t	        j
                  ||       t        dt        t        d      gi      }t        dt        d      t        d      gi      }|j                         }t	        j
                  ||       y )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DcJKL9:9:
 hhj
c3'c9-H#IJKL9:9:
 hhj
c3'r+   c                     t        t        ddd      ddt        j                  t        j                  gd      }|j	                         }t        t        ddd      g dd      }t        j                  ||       y )	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   sp     
A,GBFFBFF+
 
A,G)
 	fh/r+   c                 V   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	      }|j	                  ddd	      }t        j                  ||       d}t        j                  t        |      5  |j	                  ddd	       d d d        |j                         }t        j                  ||       |j                  dg      }t        j                  ||	       |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	      }|j	                  d      }t        j                  ||       y # 1 sw Y   xY w)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BFF+	BS"&&#&T23<I>$u =>9;c266"$dE%BCAq6i8c
#T5$AB iiq#6i7
c;/C]]9C0 	6IIQ4I5	6 hhj
c;/ iixi(
c#34iik
c?3 bff-3*E956o3*EGY?@iin
c6*+	6 	6s   HH(c                 $   t        t        j                  dt        j                  g      }t        t        j                  t        j                  t        j                  g      }t        ||d      }t	        dt        j                  d      }|j                  |      }t        j                  t        j                  t        j                  g}t        g d|dd      }t        j                  ||       |j                  j                  t        j                        }t        j                  ||j                         |j                  j                  t        j                        }t        j                  ||j                         t        dddt        t        g      }	t        d	t        |	      i      }t        j                  |j                  t        
      |       t        dddt        t        gd      }	t        d	t        |	      i      }t        j                  |j                  t        
      |       t        dddt        t        g      }	t        d	t        |	      i      }t        j                  |j                  t        
      |       y )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    2661bff-.26626626623S12 bff56ii(Iu=ZP
c6*'
vrww/'
vrww/!35GcR
 [-./
biici2B79iCECP[-./
biici2B7h(CEF[-./
biici2B7r+   c                    t        t        g d      ddt        j                  gd      }t	        t        g d            }|j                  d|i      }t        t        g d      g dd      }t        j                  ||       y )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  ss     1Cbff;MN
 $678FF+, 1;KL
 	fh/r+   c                 j     |g dd      }|j                  d      }t        j                  ||       y )Nr   rc   rZ    )r    r!   assert_equal)r%   frame_or_seriesobjrU   s       r)   test_fillna_no_downcastz"TestFillNA.test_fillna_no_downcast  s)    ix8B
$r+   r   )r   r   r   r   c                    t        t        j                  ddg|      }t        j                  d       5  |j                  ddi      }d d d        |j                         }d|d<   t        j                  |       y # 1 sw Y   5xY w)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  su     rvvaVW=''- 	)YYQx(F	) 779
fh/	) 	)s   A<<Bc                    t        g dg d      }|j                  }t        t        j                  d      gdz  g d      }t        j                  ||       |j                  d      }t        dg dg dt              }t        j                  ||       t        t        d	      d
dgd      }|j                  d      }t        ddt        d	      d
dg      }t        j                  ||       y )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    _oF288H-.2/J
vx01_oV
 	fh/ U1XSzK5!U(%(SRUJW
fh/r+   r   r   r   r   c                     t        dt        j                  gddgd      }|j                  t        j                  |      }|j	                  |      }t        j                  ||       y )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  sN    a[Sz:;::bffc*3
fh/r+   c                 |   t        ddt        j                  gt        dd      g dg ddt        d	d      
      }|j	                  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      
      }|j	                  d      }t        g dt        d      t        d      dgg dg ddt        d	d      
      }t        j                  ||       y )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&   "bff%
A6)+	 Z3
 3"
A6(*	 Z3
 	fh/"bff%-y/FL)+	 Z3
 3"-y/FL(*	 Z3
 	fh/r+   c                    t         j                  |j                  |j                  d d df<   t         j                  |j                  |j                  dd  df<   |j	                         }t        j                  |j	                         |       y Nr<   r   r=   )r   r   r@   rA   rB   r!   r"   r%   rF   alts      r)   
test_ffillzTestFillNA.test_ffillh  u    <>FF>//3S89=?VV>//4c9:""$
n224c:r+   c                    t         j                  |j                  |j                  d d df<   t         j                  |j                  |j                  dd  df<   |j	                         }t        j                  |j	                         |       y r   )r   r   r@   rA   rv   r!   r"   r   s      r)   
test_bfillzTestFillNA.test_bfillo  r   r+   c                 P   t        j                  d      }t        t         j                  j	                  d      j                  d      |      }|d d j                  |dd      }|d d j                  |      j                         }t         j                  |j                  dd  t        j                  ||       |d	d  j                  |d
d      }|d	d  j                  |      j                         }t         j                  |j                  d d t        j                  ||       y )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    		"ryy,,Q/??HPUVBQe1=bq6>>%(..0VVbc
fh/BCzCbc7??5)//1FFbq
fh/r+   c                    t        j                  d      }t        t         j                  j	                  d      j                  d      |      }|d d j                  |      }|j                  d      }|d d j                  |      j                         }t         j                  |j                  dd  t        j                  ||       |dd  j                  |      }|j                  d      }|dd  j                  |      j                         }t         j                  |j                  d d	 t        j                  ||       y )
Nrh   r   r   r   r<   rj   r   r   r   r   r   s        r)   test_frame_fillna_limitz"TestFillNA.test_frame_fillna_limit  s    		"ryy,,Q/??HPUVBQ&A&bq6>>%(..0VVbc
fh/BC'A&bc7??5)//1FFbq
fh/r+   c                     t        t        j                  j                  d      j	                  d      j                  t                    }|j                  t        j                         y )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  sF     ryy,,Q/??HOOPSTU 			"&&r+   typec                    t        t        j                  j                  d      j	                  d            j                  |      }d}t        j                  t        |      5  |j                  dd       d d d        y # 1 sw Y   y xY w)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  sj    ryy,,Q/??HIPPQUV,]]:S1 	#IIarI"	# 	# 	#   $BB
c                    t        t        j                  j                  d      j	                  d            j                  |      }d}t        j                  t        |      5  |j                  dd       d d d        y # 1 sw Y   y xY w)Nr   r   zLimit must be an integerr>   r   g      ?rj   r   r   s       r)   test_fillna_integer_limitz$TestFillNA.test_fillna_integer_limit  sj    ryy,,Q/??HIPPQUV(]]:S1 	$IIasI#	$ 	$ 	$r   c                    t        t        j                  j                  d      j	                  d            }t        j
                  |j                  d ddf<   t        j
                  |j                  dd df<   |j                  d      }||usJ |j                  dd	
      }||u sJ t        j                  ||       |j                  ddid	
      }||u sJ t        j
                  |j                  d ddf<   t        j
                  |j                  dd df<   |j                         }||usJ |j                  d	       t        j                  ||       y )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  s+   ryy,,Q/??HIrr1ursAv9919%r!!!D1||
b(+!Q6||rr1ursAv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      }|j                  ddd      }|j	                         }|d	   j                  d      |d	<   |d
   j                  d      |d
<   t        j                  ||       |j                  dddd      }|j                  |j                               }|j                  |j                         j                               }t        j                  ||       y )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  s   ffaBFFBFF3Arvvrvv.ffaAq)
 +,779 ,,Q/ ,,Q/
fh/ 34 2668$99RVVX--/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      }|j                  |j	                  d      d      }|j                  |j	                  d      dd      }||u sJ t        g d	g d
g d	d      }t        j                  ||       t        j                  ||       y )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    ffaBFFBFF3Arvvrvv.ffaAq)
 266q6>2266q6>4@||...
 	fh/
b(+r+   c           	      P   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  |j                  t        dddd	      d       d d d        y # 1 sw Y   y xY w)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    UBFFE59Arvvrvv.ffaAq)
 ]]:-ST 	LIIf5u5ABIK	L 	L 	Ls   2!BB%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      }t        j                  t
        d      5  |j                  t        dd	d
d      d       d d d        y # 1 sw Y   y xY w)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    ffaBFFBFF3Arvvrvv.ffaAq)
 ]]:-UV 	LIIf5u5ABIK	L 	L 	Ls   !B88C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            }|j	                  |      }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                  ||       y )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
  s	   ffaBFFBFF3Arvvrvv.ffaAq)
 w-
 ffb"b"-)w{
 w-
 3 ffaBFFB/Arvvr*ffaAq)
 w-
 	fh/r+   c                    t         j                  j                  d      j                  d      }t         j                  |d d d d df<   t        |      }|j                  d      }|j                  j                         j                  }t        j                  ||       |j                  ddd       |j                  d      }|j                  t              j                  d      }t        j                  ||       y )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    ii##A&66x@ffAssFs^q!44::<>>
fh/
		!UAq!99U#))q)1
fh/r+   c                    d}t        j                  t        |j                  d            5  |j	                  ddg       d d d        t        j                  t        |j                  d            5  |j	                  d       d d d        d}t        j                  t        |      5  |j
                  d d d	f   j	                  |       d d d        y # 1 sw Y   xY w# 1 sw Y   ^xY w# 1 sw Y   y xY w)
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 	7QT"))+6	7 	7	' 	'	' 	'	7 	7s#   C3C"*#C.C"C+.C7c                 r   t        ddd      D cg c]  }dt        |      z    }}t        j                  j	                  d      j                  d      }t        t        d      ||      }|j                         }|j                  j                         |j                  j                         k(  sJ y c c}w )	Nr<   r   r0   zCOL.r   )rM   r<   rM   )rA   r   data)	r   strr   rl   rm   r   rB   r   tolist)r%   icolsr  r&   filleds         r)   test_fillna_col_reorderingz%TestFillNA.test_fillna_col_reorderingK  s    ).q!R9AQ99yy$$Q'..w7U2Y4@zz  "fnn&;&;&====	 :s   B4c                 x    |j                  g       }|j                  d      }t        j                  ||       y )NrY   r   rP   )r\   r    r!   r"   )r%   r  r&   rU   s       r)   test_fill_emptyzTestFillNA.test_fill_emptyR  s5       ,#
fb)r+   c           	      V   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            }|j	                  dd	d
      }|j	                  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                  ||       y )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  sL   BFFA&Arvvq!+BFFA&	 L
 A6))#Q)7.i@BFFA&ffc2662662L	:	 
 .i@N)<3,L	:	 
	 	fh/
gy1r+   c                     t        t        dd g      t        dd g      d      }|j                         }|j                  t        j
                  d       t        j                  ||       y )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:
 779
		"&&$	'
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            }|j	                  dd	d
      }||usJ |j	                  dd	dd      }||u sJ t        j                  ||       y )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    BFFA&Arvvq!+BFFA&	 L
 99!3a98r!!!AtD||
b(+r+   r0   xyc                 ,   t        t        j                  dgt        j                  dgd      }|j                         }|d d  }|j	                  |d       t        ddgddgd      }t        j                  ||       t        j                  ||       y )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~     bffa[{;<'')e
		#t	$B9D!9=>
b(+
k7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
      }|j                  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
                  ||       y )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    Arvvr2662BFFBFFAq1RVVQ1-Arvvr2	
 2QQ/&dBFFC(rvvsC(&& 5	
 	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                  |j                  ddi      |       t        j                  |j                  dd	d
      |       t        g dg dddt        j                  gd      }t        j                  |j                  d	dd      |       y )Nr   r   r   ))r-  r`   r-  ra   )r.  rb   )r0  r   r   )r   r   r0  r-  r0   r   )r-  r@  )r   r   g       )r@  r-  )r   r   r   r!   r"   r    )r%   pdfr(   s      r)   "test_fillna_with_multi_index_framez-TestFillNA.test_fillna_with_multi_index_frame  s    VVS#. #rvv. #rvv.
 ,, #rvv.
 	cjj#r3X>
cjjrr)BCXN,, #rvv.
 	cjjbr)BCX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+  r3  r>  rB   r+   r)   r   r      s   D"0$B6,$
00(60$(+T"8H0% [[Y3*(EF0 G00$ [[URBFFC$890 :0*0X;;0 0$ [[Vc5\2# 3# [[Vc5\2$ 3$,.00,*	L	L!0F07 >*
"2H
,,& [[URr);$<=4 >40.Or+   r   c                      t        g dg dg dgg d      } | j                  dd      }|j                  d	      }|j                         j	                         j	                         d	k(  sJ y )
N)r   r   r   r   )r   r   r   r   )r   r   r   r   )i1i2i3f1rY   rJ  rK  r   r   )r   pivotr    isnasum)r&   df_nonconsolrU   s      r)   !test_fillna_nonconsolidated_framerR    si    		

 )
B 88$85L  #F;;=""$)))r+   c                      t        d d gd d ggddg      } | j                  dddd      }|| u sJ t        ddgddggddgt        	      }t        j                  | |       y )
Nr   r   rY   r   r   r   Tr   )r   r[   )r   r    rc   r!   r"   )r&   rU   r(   s      r)   test_fillna_nones_inplacerT    sw    	
d|$c

B YY11-tY<FR<<1a&1a&)C:VLH"h'r+   z#data, expected_data, method, kwargsr   ri   r   r<  rB   
limit_areainsider   )rU  rk   outsider<   rv   c                     t        |       }t        |      } t        ||      di |}t        j                  ||       y )NrH  )r   getattrr!   r"   )r  expected_datar   kwargsr&   r(   rU   s          r)   test_ffill_bfill_limit_arear\    s>    F 
4B'H WR *6*F&(+r+   
test_frameTFr[   r  rc   c                     t        dt        j                  dg|      }| r|j                         }|j	                  d       }t        g d|      }| r|j                         }t        j                  ||       y )Nr   r   rZ   rP   )r   Nr   )r	   r   r   to_framer    r!   r   )r]  r[   r   rU   r(   s        r)   test_fillna_with_none_objectr`  >  sc     !RVVQu
-CllnZZdZ#Fl%0H$$&OOFH%r+   c                      t        t        dddd      g dd      } d | j                  d<   d	}t        j                  t
        |
      5  | j                  t        d             d d d        y # 1 sw Y   y xY w)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_datetimerf  L  sk    	":qsN	

B BGGDM
IC	*#	6 +
		)L)*+ + +s   
A..A7)numpyr   rC   pandas.errorsr   pandasr   r   r   r   r   r	   r
   r   r   r   pandas._testing_testingr!   pandas.tests.frame.commonr   r   rR  rT  rF  rG  r   r   r\  r`  rf  rH  r+   r)   <module>rm     s     -    8@O @OF*
( ) VVRVVQ266266JVVRVVS#sCbffbffE8$		
 VVRVVQ266266JVVRVVS#rvvrvvsBFFBFFK#a0		
 VVRVVQ266266JVVRVVS"&&"&&"&&#sCH9%		
 VVRVVQ266266JVVRVVS"&&"&&"&&#sBFFK$q1		
 VVRVVRVVRVVRVVRVVRVVDVVRVVRVVRVVRVVRVVRVVD$q1		
 !H!H$q1		
 VVRVVQ266266JVVRVVS#sCbffbffE8$		
 VVRVVQ266266JVVRVVS"&&"&&#sBFFBFFK#a0		
 VVRVVQ266266J#sBFFBFFBFFCH9%		
 VVRVVQ266266JVVS#rvvrvvrvvsBFFBFFK$q1		
o=@B,C@B, e}57H"56	& 7 6	&+r+   