
    gl                        d dl Zd dlZd dlm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j8                  j;                  d	d
dg      d        Zej8                  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!y)    N)using_pyarrow_string_dtype)
Categorical	DataFrameDatetimeIndexNaTPeriodIndexSeriesTimedeltaIndex	Timestamp
date_rangeto_datetime)_check_mixed_floatc                   H   e Zd Zd Zej
                  d        Zd Zej                  j                   e       d      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                  j3                  dg dddgg      d        Zd Zej                  j3                  dddej:                  dg      d        Zd Zd Z d Z!d  Z"d! Z#d" Z$ej                  j3                  d#e%e&g      d$        Z'ej                  j3                  d#e%e&g      d%        Z(d& Z)d' Z*d( Z+d) Z,d* Z-d+ Z.d, Z/ej                  j                   e       d      d-        Z0d. Z1d/ Z2d0 Z3d1 Z4ejj                  ej                  j3                  dd2d2d2d3g      d4               Z6d5 Z7d6 Z8y7)8
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  |j                  ddid	       d d d        t        d
gdz  dt	        d      dgg dd      }g d|_        t        j                  ||       |s:t        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 |s;t        j                  |j                  d d df   |j                  d d df         sJ y y # 1 sw Y   xY w)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         [/var/www/openai/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   sV    66(Q,c9Q<%=RVVUTUDVW
 %
!u ""#56IIsAhI- 7 %!)1ilA"6]K
 +
b(+ ###BGGAqDM499QT?CCC##BGGAqDM499QT?CCC"##BGGAqDM499QT?CCC # 76s   *E<<Fc                    t        j                  dt         j                        }t        |d      }|r_t	        j
                         5  |d   j                  dd       d d d        t        j                  |d d df         j                         sXJ t	        j                  t        d	      5  |d   j                  dd       d d d        |d d df   dk(  j                         sJ t        |j                  j                        d
k(  sJ t        j                  |j                  |      sJ y # 1 sw Y   xY w# 1 sw Y   xxY w)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_view4   s    ggh's'3351R. 688C1I&**,,,++MAQR1R. S1IO((*** 277>>"a'''		3/// 65 SRs   D0.D<0D9<Ec                    |}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 d}t        j                  t        |      5  |j	                  d      }d d d        t        j                  j                  |j                  d d df         j                         sJ |j                  |j                  dd  df   |j                  |j                  d   df   k(  j                         sJ d	}t        j                  t        |      5  |j	                          d d d        d
}t        j                  t        |      5  |j	                  dd       d d d        y # 1 sw Y   xY w# 1 sw Y   PxY w# 1 sw Y   y xY w)N   r   r   ,DataFrame.fillna with 'method' is deprecatedr3   padmethodz'Must specify a fill 'value' or 'method'z(Cannot specify both 'value' and 'method'ffill)r   r   locindexr"   r8   r    r9   r:   r7   pytestraises
ValueError)r&   datetime_frametfzero_filledmsgpaddeds         r,   test_fillna_datetimezTestFillNA.test_fillna_datetimeG   s   $&FFrxx|S !%'VVrxx}c!"$++A. 1 1"1 5s :;q@EEGGG<''SA#**%*8F Bxx

6<<#3S#89:>>@@@JJv||BC(#-.&**V\\"=Ms=R2SS
#% 	  8]]:S1!!# 28]]:S1!!!G!4 21 BA 21 21s$   :G G 6G,G G),G5zcan't fill 0 in string)reasonc                 d   |}t         j                  |j                  |j                  dd df<   t         j                  |j                  |j                  dd  df<   |j	                  d       d}t        j                  t        |	      5  |j	                  d
       d d d        y # 1 sw Y   y xY w)NrB      r   r   r   valuerD   r3   rE   rF   )r   r   rI   rJ   r"   r    r9   r:   )r&   float_string_framemfrQ   s       r,   test_fillna_mixed_typez!TestFillNA.test_fillna_mixed_type^   s    (*rxx"~u$%&(ffrxx~s"#
			<''SAIIUI# BAAs   
B&&B/c                 l   |j                  g d      }t        j                  |j                  |j                  dd  df<   |j                  d      }t        |dd i       d	}t        j                  t        |
      5  |j                  d      }d d d        t        |dd i       y # 1 sw Y   xY w)N)r   r   Dr   rW   r   r   rX   r   dtyperD   r3   rE   rF   )
reindexr   r   rI   rJ   r"   r   r    r9   r:   )r&   mixed_float_framer[   resultrQ   s        r,   test_fillna_mixed_floatz"TestFillNA.test_fillna_mixed_floati   s    &&&?&(ffrxx~s"##6#t5<''SAYYeY,F B6#t5 BAs   ?B**B3c                 0   |rt        j                  d       t        dg      }dD ]a  }d}t        j                  t
        |      5  |j                  j                  |d       |j                  j                  |	       d d d        c y # 1 sw Y   nxY w)
Nz9condition is unnecessary complex and is deprecated anywayxr_   )rE   backfillz)Series.fillna with 'method' is deprecatedr3   TrG   r   rF   )rK   skipr   r    r9   r:   rg   r"   )r&   r'   r)   mrQ   s        r,   test_fillna_emptyzTestFillNA.test_fillna_emptyu   ss    KKSTu%$A=C++ME1d31% FE %EEs   :BB	c                    t        ddt        j                  dgddt        j                  dgddt        j                  dgg      }|r8t        j                  t
        d      5  |j                  ddi      }d d d        n|j                  ddi      }t        g dg d	g d
g      }t        j                  |       |r:t        j                  t
        d      5  |j                  ddid      }d d d        n|j                  ddid      }t        j                  ||       J y # 1 sw Y   xY w# 1 sw Y   0xY w)NabcDowncastingr3   r   r   )rn   rn   r   rn   )ro   ro   r   ro   )rp   rp   r   rp   Tr   r   r   r   r    r9   r:   r"   r#   )r&   using_infer_stringr)   rd   r+   return_values         r,   test_fillna_different_dtypez&TestFillNA.test_fillna_different_dtype   s$   3$sC&=S"&&RU?VW
 ++MOAu:. PO YY5z*F#%;=ST
 	fh/++MO!yy!UTyB PO 99aZ9>L
b(+### PO POs   "D(D4(D14D=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   rB   i  )r   r   )r   r   r   limit)r   r   randomdefault_rngstandard_normalr   r%   r1   r"   r    r#   r&   r)   r+   rd   s       r,   test_fillna_limit_and_valuez&TestFillNA.test_fillna_limit_and_value   s    ryy,,Q/??HI&&!Q&&!Q779!d!d3a(
fh/    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Date2r   r   r   rX   )	r   r   r   r1   r"   rI   rJ   r    r#   r~   s       r,   test_fillna_datelikezTestFillNA.test_fillna_datelike   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      }d}t        j                  t
        |      5  |j                  d      }d d d        t        j                  |       t        dt        t        d      gi      }t        dt        d      t        d      gi      }d}t        j                  t
        |      5  |j                  d      }d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   ,xY w)Nr   z2012-11-11 00:00:00+01:00rD   r3   rE   rF   bfill)r   r   r   r    r9   r:   r"   r#   )r&   r)   exprQ   ress        r,   test_fillna_tzawarezTestFillNA.test_fillna_tzaware   s    i(CDcJKL9:9:
 =''SA))5))C B
c3'c9-H#IJKL9:9:
 =''SA))7)+C B
c3'! BA BAs   D&D$D!$D-c                 d   t        t        ddd      ddt        j                  t        j                  gd      }d}t	        j
                  t        |	      5  |j                  d
      }d d d        t        t        ddd      g dd      }t	        j                  |       y # 1 sw Y   <xY w)N20130101   z
US/Eastern)periodstzr   r   r   r   rD   r3   rE   rF   )      ?r   r   r   )	r   r   r   r   r    r9   r:   r"   r#   r&   r)   rQ   rd   r+   s        r,   $test_fillna_tzaware_different_columnz/TestFillNA.test_fillna_tzaware_different_column   s     
A,GBFFBFF+
 =''SAYYeY,F B
A,G)
 	fh/ BAs   B&&B/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	      }|j	                  ddd	      }t        j                  ||       d}t        j                  t        |      5  |j	                  ddd	       d d d        d}t        j                  t        |      5  |j	                  d      }d d d        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# 1 sw Y   xY w)Nr   r   r   r   r   r   )
categoriesrn   ro   dcatsvals)r   r   r   r   )rn   ro   ro   r   rX   z3Cannot setitem on a Categorical with a new categoryr3   r   rp   rD   rE   rF   r   )subset)rn   ro   rn   )r   r   r   r   r"   r    r#   rK   rL   	TypeErrorr9   r:   dropna)r&   catr   r)   cat2vals2df_exp_fillcat3vals3df_exp_drop_catscat4vals4df_exp_drop_allr   rQ   rp   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IIQ4I5 1 =''SA))5))C B
c;/ iixi(
c#34iik
c?3 bff-3*E956o3*EGY?@iin
c6*/ 10 BAs   I?III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   categoryr`   z2011-01-01 09:00z2016-01-01 23:45rn   rX   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   rd   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        ddt        j                  gi      }d}t        j                  t
        |      5  |j                  dd      }d d d        t        dddgi      }t        j                  |       t        ddt        j                  gi      }t        j                  t
        |      5  |j                  ddid      }d d d        t        dddgi      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   ;xY w)	Nrn   r   z.The 'downcast' keyword in fillna is deprecatedr3   r   inferdowncastr   rr   r   s        r,   test_fillna_downcastzTestFillNA.test_fillna_downcast6  s     c266]+,>''SAYYq7Y3F BcAq6]+
fh/ c266]+,''SAYYQx'Y:F BcAq6]+
fh/ BA BAs   C84D8DDc                      |g dd      }d}t        j                  t        |      5  |j                  dd      }d d d        t        j                  |       y # 1 sw Y    xY w)	Nr   objectr`    The 'downcast' keyword in fillnar3    Fr   )r    r9   r:   r"   assert_equal)r&   frame_or_seriesobjrQ   rd   s        r,   test_fillna_downcast_falsez%TestFillNA.test_fillna_downcast_falseG  sS    ix80''SAZZUZ3F B
$ BAs   AA&c                 X    |g dt         j                        }d}t        j                  t        |      5  |j                  dt        j                  t         j                              }d d d        |j                  t         j                        }t        j                  |       |j                  t         j                        }t        j                  t        |      5  |j                  dd      }d d d        |}t        j                  |       t        j                  t        |      5  |j                  dt        j                  t         j                              }	d d d        t        j                  	|       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   9xY w)Nr   r`   r   r3   r   r   r   )r   int64r    r9   r:   r"   ra   int32astyper   float64)
r&   r   r   rQ   r   r+   obj2res2	expected2res3s
             r,   test_fillna_downcast_noopz$TestFillNA.test_fillna_downcast_noopO  s     irxx80''SA**URXXbhh-?*@C B ::bhh'
X&zz"**%''SA;;uw;7D B	
i(''SA;;urxx/A;BD B 	h' BA BA
 BAs#   5F$F35F FF F)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   rJ   r   r           )r   r   r   r    r9   r"   r1   r#   )r&   r   r)   rd   r+   s        r,   -test_fillna_dictlike_value_duplicate_colnamesz8TestFillNA.test_fillna_dictlike_value_duplicate_colnamesi  sn     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                  ||       d}t        j                  t        |      5  |j                  d	      }d d d        t        d	g dg d      }t        j                  ||       t        t        d
      ddgd      }|r6t        j                  t        d      5  |j                  d      }d d d        n|j                  d      }t        dt        d
      ddg      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   ExY w)Nr   )r   r   r   r   rB   r   r   rB   rJ   Downcasting object dtype arraysr3   r   r   r   r   r   )rJ   r   ra   rq   r   )r   dtypesr	   r   ra   r    r   r9   r:   r"   r#   range)r&   rs   r)   rd   r+   rQ   s         r,   test_fillna_dtype_conversionz'TestFillNA.test_fillna_dtype_conversiont  s   _oF288H-.2/J
vx0/''SAYYq\F BQoO
fh/ U1XSzK++MO5) PO YYu%FU%(S#JG
fh/ BA POs   7E/EEE 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+   rd   s        r,   *test_fillna_dtype_conversion_equiv_replacez5TestFillNA.test_fillna_dtype_conversion_equiv_replace  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 )Nr2   r   r   )r   )r   barN)foo2bar2Nr   r   r   r^   20130110r   ?)r2   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)   rd   r+   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<   d}t	        j
                  t        |      5  |j                  d      }d d d        t	        j                  |j                                y # 1 sw Y   .xY w)NrB   r   rC   rD   r3   rH   rF   )
r   r   rI   rJ   r    r9   r:   r"   r#   rH   r&   rN   rQ   alts       r,   
test_ffillzTestFillNA.test_ffill  s    <>FF>//3S89=?VV>//4c9:<''SA ''w'7C B
n224c: BA   6B66B?c                    t         j                  |j                  |j                  d d df<   t         j                  |j                  |j                  dd  df<   d}t	        j
                  t        |      5  |j                  d      }d d d        t	        j                  |j                                y # 1 sw Y   .xY w)NrB   r   rC   rD   r3   r   rF   )
r   r   rI   rJ   r    r9   r:   r"   r#   r   r   s       r,   
test_bfillzTestFillNA.test_bfill  s    <>FF>//3S89=?VV>//4c9:<''SA ''w'7C B 	n224c: BAr   c                    t        j                  d      }t        t         j                  j	                  d      j                  d      |      }|d d j                  |dd      }d}t        j                  t        |	      5  |d d j                  |      j                  d
      }d d d        t         j                  j                  dd  t        j                  ||       |dd  j                  |dd      }t        j                  t        |	      5  |dd  j                  |      j                  d
      }d d d        t         j                  |j                  d d t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   IxY w)Nrw   r   rw   r   r   rE   rB   rG   rz   rD   r3   rF   r   rh   r   r   aranger   r{   r|   r}   rb   r    r9   r:   r"   r   r%   r#   r&   rJ   r)   rd   rQ   r+   s         r,   test_frame_pad_backfill_limitz(TestFillNA.test_frame_pad_backfill_limit  s;   		"ryy,,Q/??HPUVBQe1=<''SA"1v~~e,3353AH BVVbc
fh/BCzC''SA"#wu-44J4GH BFFbq
fh/ BA BAs   %E6%F6E?Fc                     t        j                  d      }t        t         j                  j	                  d      j                  d      |      }|d d j                  |      }d}t        j                  t        |      5  |j                  dd	      }d d d        t        j                  t        |      5  |d d j                  |      j                  d
      }d d d        t         j                  j                  dd  t        j                  ||       |dd  j                  |      }t        j                  t        |      5  |j                  dd	      }d d d        t        j                  t        |      5  |dd  j                  |      j                  d
      }d d d        t         j                  |j                  d d t        j                  ||       y # 1 sw Y   LxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   cxY w)Nrw   r   r   r   rD   r3   rE   rB   r   rF   r   r   rh   r   r   r   s         r,   test_frame_fillna_limitz"TestFillNA.test_frame_fillna_limit  s   		"ryy,,Q/??HPUVBQ&<''SA]]%q]9F B ''SA"1v~~e,3353AH BVVbc
fh/BC'''SA]]*A]>F B ''SA"#wu-44J4GH BFFbq
fh/ BA BA BA BAs0    G7%G+G8=%HG(+G58HHc                     t        t        j                  j                  d      j	                  d      j                  t                    }|j                  t        j                         y )Nr   r   )	r   r   r{   r|   r}   r   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 0r3   r   rC   ry   
r   r   r{   r|   r}   r   rK   rL   rM   r"   r&   r   r)   rQ   s       r,   test_fillna_positive_limitz%TestFillNA.test_fillna_positive_limit  sa    ryy,,Q/??HIPPQUV,]]:S1IIarI" 211   $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 integerr3   r   g      ?ry   r   r   s       r,   test_fillna_integer_limitz$TestFillNA.test_fillna_integer_limit  sa    ryy,,Q/??HIPPQUV(]]:S1IIasI# 211r   c                 t   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	
       t        j                  ||       |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  |j                  d      }d d d        ||usJ t        j                  t        |      5  |j                  dd	       d d d        t        j                  ||       y # 1 sw Y   ]xY w# 1 sw Y   ,xY w)Nr   r   r   r   r   r   rX   TrY   r   rD   r3   rH   rF   ri   )r   r   r{   r|   r}   r   rI   r"   r    r#   r9   r:   )r&   r)   r+   rQ   s       r,   test_fillna_inplacezTestFillNA.test_fillna_inplace  si   ryy,,Q/??HIrr1ursAv9919%r!!!
		4	(
b(+99Aq6498rr1ursAv<''SAyyy0H Br!!!''SAIIWdI3 B
b(+ BA BAs   3F"/F."F+.F7c           	      J   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                  ||       t        j                  t        d      5  |j                  |j                  d      d       d d d        y # 1 sw Y   y xY w)Nr   r   r   r   rn   ro   rp   r   rB   )rn   ro   rn   ro   rx   )rn   ro   r   zcolumn by columnr3   )axis)r   r   r   r"   r1   r    r#   maxto_dictrK   rL   NotImplementedErrorr   s       r,   test_fillna_dict_seriesz"TestFillNA.test_fillna_dict_series,  sD   ffaBFFBFF3Arvvrvv.ffaAq)
 +,779 ,,Q/ ,,Q/
fh/ 34 2668$99RVVX--/0
fh/ ]].6HIIIbffQiaI( JIIs   -#FF"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   rw   rV      r/   )r0   <   F   P   Z   r   rB   )rn   ro   r   VWXuZr  r   r   r   listr"   r    r#   )r&   r)   df2rd   r+   s        r,   test_fillna_dataframez TestFillNA.test_fillna_dataframeH  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        |      }d}t        j                  t        |      5  |j                  dd      }d d d        t        j                  t        |      5  |j                  j                  d	      j                  }d d d        t        j                         |j                  d
dd       t        j                  t        |      5  |j                  dd      }d d d        t        j                  t        |      5  |j                  t              j                  dd      }d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ExY w)Nr   )rw   rw   rD   r3   rH   r   )rG   r  rE   rF      r   rB   )r   r{   r|   r}   r   r   r    r9   r:   r"   Tr#   insertr   float)r&   r?   r)   rQ   rd   r+   s         r,   test_fillna_columnszTestFillNA.test_fillna_columnsk  sJ   ii##A&66x@ffAssFs^<''SAYYgAY6F B''SAtt{{%{022H B
fh/
		!UA''SAYYgAY6F B''SAyy'..gA.FH B
fh/ BAAA
 BAAAs0   1F('F%F1'F=F"%F.1F:=Gc                     t        j                  t        d      5  |j                  d       d d d        y # 1 sw Y   y xY w)Nffilr3   rF   )rK   rL   rM   r"   )r&   float_frames     r,   test_fillna_invalid_methodz%TestFillNA.test_fillna_invalid_method~  s-    ]]:V4f- 544s	   8A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  r3   r   r   tuple)r   r   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame"r   )rK   rL   r   formatr"   r%   )r&   r  rQ   s      r,   test_fillna_invalid_valuez$TestFillNA.test_fillna_invalid_value  s    Q]]9CJJv,>?1v& @ ]]9CJJw,?@v& A# 	 ]]9C0QT"))+6 10 @? A@ 10s#   C3C"*#C.C"C+.C7c                    t        ddd      D cg c]  }dt        |      z    }}t        j                  j	                  d      j                  d      }t        t        d      ||      }d	}t        j                  t        |
      5  |j                  d      }d d d        |j                  j                         j                  j                         k(  sJ y c c}w # 1 sw Y   FxY w)NrB   r   r2   zCOL.r   )rV   rB   rV   )rJ   r   datarD   r3   rH   rF   )r   strr   r{   r|   r   r    r9   r:   r"   r   tolist)r&   icolsr$  r)   rQ   filleds          r,   test_fillna_col_reorderingz%TestFillNA.test_fillna_col_reordering  s    ).q!R9AQ9yy$$Q'..w7U2Y4@<''SAYYgY.F Bzz  "fnn&;&;&==== : BAs   C	C!!C*c                    |}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 |d= |j                  g       j	                  d       y )	NrB   rV   r   rW   r   r   rX   r_   )r   r   rI   rJ   r"   r8   rb   )r&   r  rZ   r[   r)  s        r,   test_fill_cornerzTestFillNA.test_fill_corner  s    (*rxx"~u$%&(ffrxx~s"##***3

6<<"-u45:??AAAu%B'..Q.7r   c                    t        ddt        j                  gi      }d}t        j                  t
        |      5  |j                  ddiddi      }d d d        t        dddgi      }t        j                  |       y # 1 sw Y   /xY w)Ncol1r   r   r3   r   r   r   rr   r   s        r,   test_fillna_downcast_dictz$TestFillNA.test_fillna_downcast_dict  s|    BFF,-0''SAYY{fg5FYGF Bfq!f-.
fh/ BAs   BB
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   rB   ABCDr_   d   r  rY   rz   )r2  r   r2  r2  r   r`   )r   r   rB   r   r   )r   r   r   r   r   )r   r   r2  r   )r   r   r   r  r"   r	   r    r#   )r&   r)   rd   result2r+   r   s         r,   "test_fillna_with_columns_and_limitz-TestFillNA.test_fillna_with_columns_and_limit  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   r1   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       t        j                  ||       y )Nr   r   r   r   r   rB   r1  r_   r2  r3  T)r  rY   rz   r   r  r9  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!!!
		q1d	;
b(+r   r2   rg   yc                    t        t        j                  dgt        j                  dgd      }|j                         }|d d  }t	        j
                  |      5  |j                  |d       d d d        t        ddgddgd      }t	        j                  ||       |rt	        j                  ||       y t	        j                  ||       y # 1 sw Y   axY w)Nr   r=  Tr   r2   r         )r   r   r   r1   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""#56IIc4I( 7B9D!9=>
b(+!!+w7!!+x8 76s   CC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 )NrB   r   rw   rx   r      r   r      )r.  col2col3col4r0   )rz   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    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   rM  r   ))rg   rn   rg   ro   )r>  rp   )r@  r   rM  )r   r   r@  rg   r2   r   )rg   rP  )r   r   g       )rP  rg   )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)9__name__
__module____qualname__r-   td&skip_array_manager_not_yet_implementedr@   rS   rK   markxfailr   r\   re   rl   ru   r   r   r   r   r   r   r   r   r   parametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r  r  r  r  r  r"  r*  r,  r/  r5  r:  r<  skip_array_manager_invalid_testrC  rN  rR   r   r,   r   r      s   D6 ..0 /0$5. [[13<TU$ V$
6	&$0
00(>0(*+X"8H0"%(4 [[Y3*(EF0 G00. [[URBFFC$890 :0*0X;;0&0. [[Vc5\2# 3# [[Vc5\2$ 3$,2)8!0F0&.7 > [[13<TU	8 V	80"2H
,,$ ''[[URr);$<=9 > (9 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   rM  )i1i2i3f1r_   r^  r_  r   r   )r   pivotr"   isnasum)r)   df_nonconsolrd   s      r,   !test_fillna_nonconsolidated_framerf  9  si    		

 )
B 88$85L  #F;;=""$)))r   c                     t        d d gd d ggddg      } d}t        j                  t        |      5  | j	                  dddd	
       d d d        t        ddgddggddg      }t        j
                  | |       y # 1 sw Y   5xY w)Nr   r   r_   r   r3   r   r   r   Tr   )r   r    r9   r:   r"   r#   )r)   rQ   r+   s      r,   test_fillna_nones_inplacerh  H  s    	
d|$c

B ,C		#	#M	=
		aa($	7 
> 1a&1a&)C:>H"h'	 
>	=s   A>>BfuncrE   rh   c                     t        dg di      }t        j                  t              5   t	        ||               d d d        y # 1 sw Y   y xY w)Nrn   r   )r   r    r9   r:   getattr)ri  r)   s     r,   test_pad_backfill_deprecatedrl  V  s<     
C#	$B		#	#M	2D 
3	2	2s   AAz#data, expected_data, method, kwargsr   rx   rM  rK  rH   
limit_areainsider   )rm  rz   outsiderB   r   c                     t        |       }t        |      } t        ||      di |}t        j                  ||       y )Nr\  )r   rk  r    r#   )r$  expected_datarG   kwargsr)   r+   rd   s          r,   test_ffill_bfill_limit_arears  ^  s>    F 
4B'H WR *6*F&(+r   )"numpyr   rK   pandas._configr   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   rf  rh  rX  rZ  rl  r   r   rs  r\  r   r,   <module>r}     s     5 ) )    8^O ^OB*( %!45 6 ) 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,r   