
    bMh1                        d dl m Z mZmZ d dlZd dlZd dlZd dlmZ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 ej                            d           G d d                      Zej                            d           G d	 d
                      Zej                            dej        ej        dej        ej        ej        dej        ej        g	ej        ej        dddddej        ej        g	dddifej        ej        dej        ej        ej        dej        ej        g	ej        ej        ddej        ej        dej        ej        g	ddddfej        ej        dej        ej        ej        dej        ej        g	ej        ej        dej        ej        ej        dddg	dddifej        ej        dej        ej        ej        dej        ej        g	ej        ej        dej        ej        ej        ddej        g	ddddfej        ej        ej        ej        ej        ej        ej        gej        ej        ej        ej        ej        ej        ej        gddddf ed           ed          ddddfej        ej        dej        ej        ej        dej        ej        g	ej        ej        dddddej        ej        g	dddifej        ej        dej        ej        ej        dej        ej        g	ej        ej        dej        ej        ddej        ej        g	ddddfej        ej        dej        ej        ej        dej        ej        g	dddej        ej        ej        dej        ej        g	dddifej        ej        dej        ej        ej        dej        ej        g	ej        ddej        ej        ej        dej        ej        g	ddddff
          d             ZdS )    )datetime	timedeltatimezoneN)Categorical	DataFrameDatetimeIndexNaTPeriodSeries	Timedelta	Timestamp
date_rangeisnatimedelta_range)period_arrayzJignore:(Series|DataFrame).fillna with 'method' is deprecated:FutureWarningc                   (   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ej                            dd ej        dej                            d                    g          ej                            dddg          d                         Zej                            dd ej        dej                            d                    g          d             Zd Zej                            dddg          d             Zd Zd Zd Zd Zd  Zd! Zej                            d"d#g d$fd#d%d%d&g d'fd(d#id#d#d%ej        ej        gfd#d%d)d#d#d%d%ej        gf e d#          d#ej        d%ej        ej        gf e d#d(g*          d#d#d%ej        ej        gf e d#d%d)          d#d#d%d%ej        gf e d#d%gd+d,g*          d#ej        d%d#d%gfg          d-             Z!ej                            d" e g d.          g d/f e g d0          g d1f e  e"g d0g d23                    g d1fg          d4             Z#d5 Z$ej                            d6e%d7d8g          ej                            d9e&j'                  ej                            dddg          d:                                     Z(d; Z)d< Z*d= Z+d> Z,d? Z-ej                            d@g dAdBg dCdDdBgfdDdBej        dDgdBg dCdDdBgfg          dE             Z.dS )FTestSeriesFillNAc                    t          dddt          j        gd          }|                    d          }|                    |j        d                   }|                                }|j        d         |j        d	<   t          j        ||           t          j        ||           t          d
|i          }|                    d          }|                    |j        d                   }t          d
|i          }t          j
        ||           t          j
        ||           t          t          j        dddgd          }|                    d          }|                    |d                   }|                                }|d         |d<   t          j        ||           t          j        ||           t          d
|i          }|                    d          }|                    |d                   }t          d
|i          }t          j
        ||           t          j
        ||           d S )Nr         M8[ns]dtypepadmethodvalue   Abfill)r   r	   _valuefillnavaluescopyiloctmassert_series_equalr   assert_frame_equal)selfseriesfilledfilled2expecteddfs         g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/methods/test_fillna.pytest_fillna_natz TestSeriesFillNA.test_fillna_nat    s   Aq#*-X>>>e,,--fmA&6-77;;==#=+a
vx000
w111V}%%%(())&-"2)33c8_--
fh///
gx000Q1-X>>>g..--fQi-00;;==qk
vx000
w111V}%%'**))&)),,c8_--
fh///
gx00000    c                     d}t          j        t          |          5  |                    dd           d d d            d S # 1 swxY w Y   d S )Nz(Cannot specify both 'value' and 'method'matchr   ffill)r   r   )pytestraises
ValueErrorr#   )r*   datetime_seriesmsgs      r0   test_fillna_value_or_methodz,TestSeriesFillNA.test_fillna_value_or_methodE   s    8]:S111 	< 	<""7";;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s   AA
Ac                    t          g dt          dd                    }t          j        ||                    d                     t
          j        |j        d<   t          g d	|j                  }t          j        |                    d          |           t          g d
|j                  }t          j        |                    d          |           t          g d|j                  }t          j        |                    d          |           d}t          j
        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )N              ?       @      @      @
2020-01-01   periodsindexr6   r   r   )r?   r@   r@   rB   rC   )r?   r@   rB   rB   rC   backfill)r?   r@   g      @rB   rC   r   z'Must specify a fill 'value' or 'method'r4   )r   r   r'   r(   r#   npnanr&   rI   r7   r8   r9   )r*   tsexpr;   s       r0   test_fillnazTestSeriesFillNA.test_fillnaJ   s   %%%Za-P-P-P
 
 
 	r299G9#<#<===V
...bh???
ryyy88#>>>...bh???
ryy
y;;SAAA...bh???
ryyqy1137777]:S111 	 	IIKKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s    E""E&)E&c                    t          t          j        g          }t          dg          }|                    |          }t          dg          }t	          j        ||           |                    i           }t	          j        ||           |                    t          dt                              }t	          j        ||           |                    |          }t	          j        ||           |                    ddi          }t	          j        ||           |                    ddi          }t	          j        |t          t          j        g                     |                    ddd          }t	          j        ||           |                    t          ddd                    }t	          j        ||           |                    t          dddddg	                    }t	          j        ||           d S )
Nr   r@    r   r   )r   r      rE   rH   )r   rK   rL   r#   r'   r(   objectr*   s1s2resultr.   s        r0   test_fillna_nonscalarz&TestSeriesFillNA.test_fillna_nonscalar`   s   RVHQC[[23%==
vx0002
vr***6"F33344
vr***2
vr***Aq6""
vx000Aq6""
vvrvh'7'7888qQ<<((
vx0006aA,,//00
vx0006aA,,q!f===>>
vr*****r2   c                 *   t          g dt          d                    }t          dt          j        dgt          d                    }|                    |          }t          g dt          d                    }t          j        ||           d S )Nr   r   r   abcr   r   bac)r   r   rA   )r   listrK   rL   r#   r'   r(   rT   s        r0   test_fillna_alignsz#TestSeriesFillNA.test_fillna_alignsx   sy    IIItE{{++QNDKK002+++tE{{33
vx00000r2   c                    t          t          j        g d          }|                    dd          }t          dt          j        t          j        gg d          }t	          j        ||           |                    dd          }t          ddt          j        gg d          }t	          j        ||           d S )NrZ   rH   i  r   )limitr   r   rK   rL   r#   r'   r(   r*   serrW   r.   s       r0   test_fillna_limitz"TestSeriesFillNA.test_fillna_limit   s    RV999---Cq))3/yyyAAA
vx000Cq))3RV,III>>>
vx00000r2   c                     g d}|D ]l}t          ddt          j        t          j        dgd          }|                    |          }t          dd||dgd          }t	          j        ||           md S )N)0z1.5z-0.3r   r   rR   float64r   rS   ra   )r*   valsvalrc   rW   r.   s         r0   test_fillna_dont_cast_stringsz.TestSeriesFillNA.test_fillna_dont_cast_strings   s     $## 	5 	5C!Q2)DDDCZZ__Fq!S#q1BBBH"684444		5 	5r2   c                 ^   t          t          d          t          g          }|                    t          dd                    }t          t          d          t          dd          gd          }t	          j        ||           |                    ddgt          dd                    }t	          j        ||           |                    ddgt          dd                    }t	          j        ||           |                    d	          }t          t          d          d	g          }t	          j        ||           |                                }t	          j        t          d
          5  d	|d<   d d d            n# 1 swxY w Y   t	          j        ||           d S )N20130101
US/Easterntz
2013-01-01rS   r   TFfoozincompatible dtyper4   r   )
r   r   r	   r#   r'   r(   wherer%   assert_produces_warningFutureWarning)r*   rc   rW   r.   ser2s        r0   test_fillna_consistencyz(TestSeriesFillNA.test_fillna_consistency   s    i
++S122Ij\BBBCCz""Il|$L$L$LM
 
 
 	vx000D%=)J<*P*P*PQQ
vx000D%=)J<*P*P*PQQ
vx000 E""9Z00%899
vx000 xxzz'=QRRR 	 	DG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
tX.....s   ;FFFc                 :   t          dt          j        g          }d}t          j        t
          |          5  |                    dd          }d d d            n# 1 swxY w Y   t          ddg          }t          j        ||           t          dt          j        g          }t          j        t
          |          5  |                    ddid          }d d d            n# 1 swxY w Y   t          ddg          }t          j        ||           d S )Nr@   .The 'downcast' keyword in fillna is deprecatedr4   r   inferdowncastr   )r   rK   rL   r'   rs   rt   r#   r(   )r*   rc   r;   rW   r.   s        r0   test_fillna_downcastz%TestSeriesFillNA.test_fillna_downcast   s    c26]##>'SAAA 	5 	5ZZGZ44F	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	51a&>>
vx000 c26]##'SAAA 	: 	:ZZAZ99F	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:1a&>>
vx00000s#   AA!$A!C**C.1C.c                    t          j        d                              t                    }t           j        |d<   t          |          }d}t          j        t          |          5  |	                    dd          }d d d            n# 1 swxY w Y   t          t          j        d          t           j
                  }t          j        ||           d}t          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   t          g d	t           j
                  }t          j        ||           d
}t          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   t          g dt           j
                  }t          j        ||           d|d<   t          g dt           j                  }d}t          j        t          |          5  |	                    dd          }d d d            n# 1 swxY w Y   t          j        ||           d}t          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   t          g dt           j                  }t          j        ||           d
}t          j        t          |          5  |                    d          }d d d            n# 1 swxY w Y   t          g dt           j                  }t          j        ||           d S )NrE   r   rx   r4   ry   rz   r   z-The 'downcast' keyword in ffill is deprecated)r   r   r   r   rR   z-The 'downcast' keyword in bfill is deprecated)r   r   r   rR   rR         @r   )r   r   r~   r   rR   )r   r   r~   r~   rR   )r   r   r~   rR   rR   )rK   arangeastyperS   rL   r   r'   rs   rt   r#   int64r(   r6   r!   rg   )r*   arrrc   r;   resr.   s         r0   -test_fillna_downcast_infer_objects_to_numericz>TestSeriesFillNA.test_fillna_downcast_infer_objects_to_numeric   sk    ill!!&))ASkk>'SAAA 	2 	2**Q*11C	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2")A,,bh777
sH---='SAAA 	. 	.))W)--C	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.///:::
sH---='SAAA 	. 	.))W)--C	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.///:::
sH--- A+++2:>>>>'SAAA 	2 	2**Q*11C	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2
sH---='SAAA 	. 	.))W)--C	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.---RZ@@@
sH---='SAAA 	. 	.))W)--C	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.+++2:>>>
sH-----sl   (BBB6DD D3FFFH66H:=H:3JJJ0LLLc           	      	   t          t          d          t          d          t          d          t          d          gd| d          }|                                } ||                                          }|                    t          d                    }t          t          d          t          d          t          d	          t          d	d
          gd| d          } ||          }t          j        ||           |                    d	          }|	                    t                                        d	          }t          j        ||           |                    t          d	                    }t          t          d	          t          d          t          d	          t          d	d
          gd| d          } ||          }t          j        ||           |                    t          d	d	                    }t          t          d	d	          t          d          t          d	          t          d	d
          gd| d          } ||          }t          j        ||           |                    t          j        d                    }t          t          d	          t          d          t          d	          t          d	d
          gd| d          } ||          }t          j        ||           |                    t                    }t          t          t          d          t          d	          t          d	d
          gd| d          } ||          }t          j        ||           t          j        |d<    ||                                          }|                                }|                    t          d                    }t          j        |d<    ||          }t          j        ||           t          j        |d<    ||          }|                                }|                    t          d                    }t          d	d
          |d<    ||          }t          j        ||           d S )Nrl   2013010220130103 9:01:01M8[]r   r   )secondsr   i~  )daysr   zm8[i ʚ;r   )r   r   diffr%   r#   r   r   r'   assert_equalr   rS   rK   timedelta64r	   rL   r6   r!   )	r*   frame_or_seriesunitrc   tdobjrW   r.   r   s	            r0   test_timedelta_fillnaz&TestSeriesFillNA.test_timedelta_fillna   s   *%%*%%*%%,--	  ---
 
 
 XXZZob!!&&(( Ia00011!!!q*;<<<	  ---
 
 
 #?8,,
)))
 jjmm::f%%,,Q//
X&&&Ia00011!$$$!!q*;<<<	  ---
 
 
 #?8,,
)))I1a88899q!,,,!!q*;<<<	  ---
 
 
 #?8,,
)))BN51122!$$$!!q*;<<<	  ---
 
 
 #?8,,
)))C!!q*;<<<	  ---
 
 
 #?8,,
))) 1ob!!&&((99Yq11122f"?8,,
))) 1ob!!99Yq11122Q0ABBB"?8,,
)))))r2   c                 r   t          t          d          t          d          t          d          t          d          g          }t          j        |d<   |                                }t          t          d          t          d          t          d          t          d          g          }t          j        ||           |                                }t          t          d          t          d          t          d          t          d          g          }t          j        ||           d S )Nrl   r   r   r   )r   r   rK   rL   r6   r'   r(   r!   rb   s       r0   test_datetime64_fillnaz'TestSeriesFillNA.test_datetime64_fillna]  s!   *%%*%%*%%,--	
 
 A *%%*%%*%%,--	
 
 	vx000 *%%*%%,--,--	
 
 	vx00000r2   scalarFTz&GH#56410 scalar case not yet addressed)reason)marksro   NUTCc                    t          ddd|          }t          d|          }t          |dd          }|d	nd
}t          ||d         |d         g|          }t          |          }t          |d<   |                                }	|                    |          }
|	                    t          |                    }|rt          j        |
|           d S t          j        ||           d S )N
2016-01-01r   s)rG   r   ro   2016-02-03 04:05:06.789rn   msrG   r   zM8[ms]zM8[ms, UTC]r   r   r   r   )r   r   r   r	   r%   r#   r'   r(   )r*   ro   r   dtiitemvec	exp_dtyper.   rc   ru   r   res2s               r0   2test_datetime64_fillna_mismatched_reso_no_roundingzCTestSeriesFillNA.test_datetime64_fillna_mismatched_reso_no_rounding  s     qsrBBB2r:::qt444 "
HH	4QQ0	BBBSkkAxxzzjj{{6#;;'' 	3"311111"422222r2   c                    t          ddd          t          d          z
  }t          d          t          d          z
  }t          |dd          }t          ||d         |d	         gd
          }t          |          }t          |d<   |                                }|                    |          }|                    t          |                    }	|rt          j        ||           d S t          j        |	|           d S )Nr   r   r   r   z
1970-01-01r   r   r   r   zm8[ms]r   r   )	r   r   r   r   r	   r%   r#   r'   r(   )
r*   r   tdir   r   r.   rc   ru   r   r   s
             r0   3test_timedelta64_fillna_mismatched_reso_no_roundingzDTestSeriesFillNA.test_timedelta64_fillna_mismatched_reso_no_rounding  s     qs;;;i>U>UU233i6M6MMdAD9994QQ0AAASkkAxxzzjj{{6#;;'' 	3"311111"422222r2   c                     t          t          t          dgd          }t          g dd          }|                    d          }t          j        ||           d S )N2013-08-05 15:30:00.000001r   r   )r   r   r   rJ   r   )r   r	   r#   r'   r(   )r*   rc   r.   rW   s       r0   test_datetime64_fillna_backfillz0TestSeriesFillNA.test_datetime64_fillna_backfill  st     c3 <=XNNN  
 
 
 
 :..
vx00000r2   rm   z
Asia/Tokyoc           	         t          t          d          t          t          d          t          gd| d          }t          g d          }|                    t          d                    }t          t          d          t          d          t          d          t          d          gd| d          }t	          j        ||           t	          j        t          |          |           |                    t          d|                    }t          t          d          t          d|          t          d          t          d|          g          }t	          j        ||           t	          j        t          |          |           |                    d	          }t          t          d          d	t          d          d	gt                    }t	          j        ||           t	          j        t          |          |           |                    t          d|          t          d
          d          }t          t          d          t          d|          t          d          t          d
          g          }t	          j        ||           t	          j        t          |          |           |                    t          d          t          d
          d          }t          t          d          t          d          t          d          t          d
          gd| d          }t	          j        ||           t	          j        t          |          |           t          dt          dt          g|          	                    |          }t          |          }|j
        d| d| dk    sJ t	          j        t          |          |           |                    t          d                    }t          t          d|          t          d          t          d|          t          d          g          }t	          j        ||           t	          j        t          |          |           |                    t          d|                    }t          g d|          	                    |          }t          |          }t	          j        ||           t	          j        t          |          |           |                    t          d|                                                    }t          g d|          	                    |          }t          |          }t	          j        ||           t	          j        t          |          |           |                    d	          }t          t          d|          d	t          d|          d	gt                    }t	          j        ||           t	          j        t          |          |           |                    t          d|          t          d
          d          }t          t          d|          t          d|          t          d|          t          d
          g          }t	          j        ||           t	          j        t          |          |           |                    t          d|          t          d
|          d          }t          t          d|          t          d|          t          d|          t          d
|          g          j        	                    |          }t	          j        ||           t	          j        t          |          |           |                    t          d                    }t          t          d|          t          d          t          d|          t          d          g          }t	          j        ||           t	          j        t          |          |           |                    t          dd                    }t          t          d|          t          dd                              |          t          d|          t          dd                              |          g          j        	                    |          }t	          j        ||           t	          j        t          |          |           d S )N2011-01-01 10:002011-01-03 10:00r   r   r   )FTFT2011-01-02 10:00rn   AAAz2011-01-04 10:00r   r   zdatetime64[z, )r   r   r   r   rl   rp   
US/Pacific)r   r   r	   r#   r'   r(   r   rS   r   as_unitr   to_pydatetimedt
tz_convert)r*   ro   r   rc   null_locrW   r.   idxs           r0   test_datetime64_tz_fillnaz*TestSeriesFillNA.test_datetime64_tz_fillna  sE	    ,--,--	  ---
 
 
 44455I&899::,--,--,--,--	  ---
 
 
 	x000
tCyy(333I&8R@@@AA,--,444,--,444	
 
 	x000
tCyy(333E"",--,--	 
 
 
 	x000
tCyy(333/B777/00 
 
 ,--,444,--,--	
 
 	x000
tCyy(333,--)<N2O2OPP
 
 ,--,--,--,--	  ---
 
 
 	x000
tCyy(333 &8#>2
 
 

'$-- 	 Skky7$77"7777777
tCyy(333I&899::,444,--,444,--	
 
 	x000
tCyy(333I&8R@@@AA   
 
 
 '$-- 	 #;;
x000
tCyy(333I&8R@@@NNPPQQ   
 
 
 '$-- 	 #;;
x000
tCyy(333E"",444,444	 
 
 
 	x000
tCyy(333/B777/00 
 
 ,444,444,444,--	
 
 	x000
tCyy(333/B777/B777 
 
 ,444,444,444,444	
 
 WWT]] 	 	x000
tCyy(333 Ij1122,444,'',444,''	
 
 	x000
tCyy(333 Ij\BBBCC,444,<888CCBGG,444,<888CCBGG	
 
 WWT]] 	 	x000
tCyy(33333r2   c                    t          t          d          t          g          }t          t          d          t          d          g          }t          j        |                    d          |           t          t          t          d          g          }t          t          d          t          d          g          }t          j        |                    d          |           d S )Nz2012-11-11 00:00:00+01:00r   r   r!   )r   r   r	   r'   r(   r#   )r*   rc   rN   s      r0   test_fillna_dt64tz_with_methodz/TestSeriesFillNA.test_fillna_dt64tz_with_method  s     i ;<<cBCC566566
 
 	szzz77===c9%@AABCC566566
 
 	szzz993?????r2   c                    t          t          j        t          d          gddg          }|                    t          d                    }t          t          d          ddg          }t          j        ||           d S )Nz1 daysr    BrH   r   )r   rK   rL   r   r#   r   r'   r(   rb   s       r0   test_fillna_pytimedeltaz(TestSeriesFillNA.test_fillna_pytimedelta  su    bfi1123*EEEIaLL)))H--c3Z@@@
vx00000r2   c                 N   t          t          dd          t          dd          g          }|                    t          dd                    }t          t          dd          t          dd          g          }t          j        ||           |j        dk    sJ d S )Nz2011-01Mfreqr	   z2012-01z	Period[M])r   r
   r#   r'   r(   r   )r*   rc   r   rN   s       r0   test_fillna_periodz#TestSeriesFillNA.test_fillna_period  s    fYS1116%c3J3J3JKLLjj	44455fYS1116)#3N3N3NOPP
sC(((yK''''''r2   c                 <   t          t          d          t          d          t          d          t          d          g          }t          j        |d<    ||          }|                    t          d                    }t          t          d          t          d          t          d          t          d          g          } ||          }t          j        ||           |                    t                    }|}t          j        ||           d S )Nrl   r   r   r   20130104)r   r   rK   rL   r#   r'   r   r	   )r*   r   rc   r   rW   r.   s         r0   test_fillna_dt64_timestampz+TestSeriesFillNA.test_fillna_dt64_timestamp  s
   *%%*%%*%%,--	
 
 Aoc"" Ij1122*%%*%%*%%,--	
 
 #?8,,
)))C
)))))r2   c                 X   t          t          d          t          t          d          g          }t          j        dd          }|                    |          }t          t          d          t          d          t          d          g          }t          j        ||           d S )Nz
2010-01-01
2000-01-01z
1975-04-05r   )r   r   r	   rK   
datetime64r#   r'   r(   )r*   rc   ri   rW   r.   s        r0   test_fillna_dt64_non_naoz)TestSeriesFillNA.test_fillna_dt64_non_nao  s    i--sIl4K4KLMMmL$//C|$$i&=&=y?V?VW
 
 	vx00000r2   c                 $   t          t          j        dt          j        dt          j        gg d          }|                                }|                    dd          }|J |                    d          }t          j        ||           d S )Nr@   rB   zabcdr   T)r   inplacer   )r   rK   rL   r%   r#   r'   r(   )r*   xyreturn_valuer.   s        r0   test_fillna_numeric_inplacez,TestSeriesFillNA.test_fillna_numeric_inplace  s    BFCbf57P7P7PQQFFHHxxax66###88!8$$
q(+++++r2   zfill_value, expected_outputr   )r   r   r   r   r   r   )r   r   rR   )r   r   r   r   r   r   r   rH   r   rR   c                 $   dt           j        dt           j        t           j        g}t          t          |ddg                    }t          t          |ddg                    }|                    |          }t          j        ||           d S )Nr   r   
categoriesrK   rL   r   r   r#   r'   r(   r*   
fill_valueexpected_outputdatarc   rN   rW   s          r0   test_fillna_categoricalz(TestSeriesFillNA.test_fillna_categorical  s      RVS"&"&1[3*===>>[c3ZHHHIIJ''
vs+++++r2   r   r   r   r   e)r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   c                 $   dt           j        dt           j        t           j        g}t          t          |g d                    }t          t          |g d                    }|                    |          }t          j        ||           d S )Nr   r   r   r   r   r   s          r0   +test_fillna_categorical_with_new_categoriesz<TestSeriesFillNA.test_fillna_categorical_with_new_categories  s    " RVS"&"&1[2K2K2KLLLMM[=V=V=VWWWXXJ''
vs+++++r2   c                 \   dt           j        dt           j        t           j        g}t          t          |ddg                    }|j        }d}t          j        t          |          5  |                    d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    t          d                     d d d            n# 1 swxY w Y   t          j        t          |          5  |                    ddd           d d d            n# 1 swxY w Y   d	}t          j        t          |          5  |                    ddg           d d d            n# 1 swxY w Y   d
}t          j        t          |          5  |                    d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    t          dgdgd                     d d d            d S # 1 swxY w Y   d S )Nr   r   r   z3Cannot setitem on a Categorical with a new categoryr4   r   z!Length of 'value' does not match.r   C"value" parameter must be a scalar or dict, but you passed a "list"D"value" parameter must be a scalar or dict, but you passed a "tuple")r   r   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame")rK   rL   r   r   _valuesr7   r8   	TypeErrorr#   r9   r   )r*   r   rc   catr;   msg2s         r0   test_fillna_categorical_raisesz/TestSeriesFillNA.test_fillna_categorical_raises)  s   RVS"&"&1[3*===>>kC]9C000 	 	JJsOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 3]:T222 	$ 	$JJvc{{###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]9C000 	) 	)JJ33''(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) T]9C000 	# 	#JJSz"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# U]9C000 	# 	#JJz"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#6 	 ]9C000 	8 	8JJycUu!5!566777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8sl   *BBB4#C##C'*C'	D..D25D2E::E>E>"GGG,(H!!H%(H%r   float32rg   	fill_typec                    t          t          j        dg|          }t          ddg|          }|r|j                            d          }|                    |          }t          ddg|          }t          j        ||           t          t          j        dg|          }|                                	                                }|||<   t          j        ||           t          t          j        dg|          }|
                    ||d           t          j        ||           t          t          j        dg|          }|                    | |          }	t          j        |	|           d S )N333333?r   r   rA   T)r   )r   rK   rL   r   typer#   r'   r(   r   to_numpymaskrr   )
r*   r   r   r   rc   fill_valuesrW   r.   r   r   s
             r0   test_fillna_float_castingz*TestSeriesFillNA.test_fillna_float_castingH  s`   
 bfc]%000aV9555 	4%+0033KK((3*E222
vx000bfc]%000xxzz""$$D	
sH---bfc]%000{D111
sH---bfc]%000ii{++
sH-----r2   c                     t          t          j        dgt          j                  }|                    ddi          }t          ddgt          j                  }t          j        ||           d S )Nr   r   r   r   r@   )r   rK   rL   r   r#   r'   r(   rb   s       r0    test_fillna_f32_upcast_with_dictz1TestSeriesFillNA.test_fillna_f32_upcast_with_dictc  sb    bfc]"*555QF##3*BJ777
vx00000r2   c                     	 |                     d           d S # t          $ r}dt          |          v sJ Y d }~d S d }~ww xY w)Nffilr   )r#   r9   str)r*   r:   insts      r0   test_fillna_invalid_methodz+TestSeriesFillNA.test_fillna_invalid_methodm  sl    	'""&"11111 	' 	' 	'SYY&&&&&&&&&&	's    
A=Ac                    t          t          j                            d                              ddd                    }d}t          j        t          |          5  |                    ddg           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    d	           d d d            d S # 1 swxY w Y   d S )
Nr   d   2   r   r4   r   r   )r   r   )	r   rK   randomdefault_rngintegersr7   r8   r   r#   )r*   rc   r;   s      r0   test_fillna_listlike_invalidz-TestSeriesFillNA.test_fillna_listlike_invalids  sI   RY**1--66tS"EEFFS]9C000 	 	JJ1v	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 U]9C000 	 	JJv	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   BB
B+CCCc                     t          g d          }d                    g d          }dD ]R}dD ]M}t          j        t          |          5  |                    d||           d d d            n# 1 swxY w Y   NSd S )	N)r   r   r   N|)z*Cannot specify both 'value' and 'method'\.zLimit must be greater than 0zLimit must be an integer)r   r@   rA   )rJ   r!   r   r6   Nr4   r   )r`   r   )r   joinr7   r8   r9   r#   )r*   rc   r;   r`   r   s        r0   $test_fillna_method_and_limit_invalidz5TestSeriesFillNA.test_fillna_method_and_limit_invalid}  s    ___%%hh  
 
 ' 	> 	>EE > >]:S999 > >JJqfJ===> > > > > > > > > > > > > > >>	> 	>s   A11A58A5c                 v   t          t          ddd                    }|                                }t          |d<   |                    t          dddt          j                            }t          j	        ||           t          d	d
          }t          |j                            d                    }|j        j        dk    sJ |                    |          }t          |d         |                    |j        j                  |d         g|j                  }t          j	        ||           d S )N2020r   r   )rG   ro   r   i  r   tzinfor   r   rn   zdateutil/US/Pacificr   r   r   )r   r   r%   r	   r#   r   r   utcr'   r(   r   r   r   r   kindro   )r*   rc   r.   rW   rM   ru   s         r0   +test_fillna_datetime64_with_timezone_tzinfoz<TestSeriesFillNA.test_fillna_datetime64_with_timezone_tzinfo  s    Ze<<<==88::AHT1aEEEFF
vx000 |555ck,,-BCCDDz#%%%%R!WbmmDJM22DG<*
 
 
 	vx00000r2   z7input, input_fillna, expected_data, expected_categories)r    r   Nr    r   )r    r   r   r    r    c                    t          |          }t          |                              |          }|                    |          }|                    |          }t          ||          }	t          j        ||	           d S )Nr   )r   r   r#   r'   assert_categorical_equal)
r*   inputinput_fillnaexpected_dataexpected_categoriesr   rc   r,   rW   r.   s
             r0   (test_fillna_categorical_accept_same_typez9TestSeriesFillNA.test_fillna_categorical_accept_same_type  sv     %  Skk  ..CF##}9LMMM
#FH55555r2   )/__name__
__module____qualname__r1   r<   rO   rX   r^   rd   rj   rv   r|   r   r   r   r7   markparametrizeparamxfailr   r   r   r   r   r   r   r   r   r   rK   rL   r   r   r   r   r   floatr'   ALL_REAL_NUMPY_DTYPESr   r   r   r  r  r  r  rQ   r2   r0   r   r      s       #1 #1 #1J< < <
  ,+ + +01 1 11 1 1	5 	5 	5/ / /<1 1 1".. .. ..`h* h* h*T!1 !1 !1F [FLk''C (    	
  [TD%=113 3 21 3* [FLk''C (    	
 3 3 3(1 1 1  [TL,#?@@L4 L4 A@L4\@ @ @*1 1 1( ( (* * *:	1 	1 	1, , , [%+++,%%'@'@'@AXS#rvrv67S#sBF;<VC[[3RVRV<=VCs###c3RVRV%DEV$$%%S#sBF'CDVS#Jq!f---RVS#s/KL		
 , , , [%V---..0I0I0IJV---..0I0I0IJK111>W>W>W   
 *))	
 , , ,8 8 8> [Wui&CDD[["*BCC[Xe}55. . 65 DC ED.01 1 1' ' '  > > >1 1 1( [A"""C)=)=)=SzJ3$c+?+?+?#sL	
 	6 	6 	6 	6 	6r2   r   z>ignore:Series.fillna with 'method' is deprecated:FutureWarningc                       e 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g          d             ZdS )TestFillnaPadc                    t          t          j        dt          j        dt          j        gg d          }|                    d          }t          t          j        ddddg|j                  }t          j        ||           |                    d          }t          ddddt          j        g|j                  }t          j        ||           d S )Nr@   rB   r   r6   r   r!   )r   rK   rL   r#   rI   r'   r(   )r*   rc   r,   r.   s       r0   test_fillna_bugzTestFillnaPad.test_fillna_bug  s    bfc26379R9R9RSS7++263S#6	BB
vx0007++3S#rv6	BB
vx00000r2   c                     t          g dt          dd                    }t          j        |j        d<   t          j        |                                |                    d                     d S )	Nr>   rD   rE   rF   rH   r   r6   r   )	r   r   rK   rL   r&   r'   r(   r6   r#   r*   rM   s     r0   
test_ffillzTestFillnaPad.test_ffill  l    %%%Za-P-P-P
 
 
 V

rxxzz299G9+D+DEEEEEr2   c                     t          t          dddt          j                  dg          }|                                }t          j        ||           d S )Ni  r   r  )r   r   pytzr  r6   r'   r(   )r*   r+   rW   s      r0   ,test_ffill_mixed_dtypes_without_missing_dataz:TestFillnaPad.test_ffill_mixed_dtypes_without_missing_data  sM    $1TX>>>BCC
vv.....r2   c                     t          g dt          dd                    }t          j        |j        d<   t          j        |                                |                    d                     d S )	Nr>   rD   rE   rF   rH   r   r!   r   )	r   r   rK   rL   r&   r'   r(   r!   r#   r%  s     r0   
test_bfillzTestFillnaPad.test_bfill  r'  r2   c                    t          t          j        dt          j        dt          j        gg dt                    }|                    dd          }|J t          t          j        ddddgg dt                    }t          j        |dd          |dd                     t          j        |j        d	                   s'J t          j        |j        d	                               d S )
Nr@   rB   r   r   r   Tr   r   r   r   )	r   rK   rL   r  r#   r'   r(   isnanr&   )r*   r   r   r.   s       r0   test_pad_nanzTestFillnaPad.test_pad_nan  s    VS"&#rv.0I0I0IQV
 
 
 xxudx;;###VS#sC(*C*C*C5
 
 
 	quhqrrl333xq	"">>BHX]1-=$>$>>>>>>r2   c                    t          j        d          }t          t           j                            d                              d          |          }|d d                             |          }|                    dd          }|d d                             |                              d          }t           j        |dd <   t          j
        ||           |d	d                              |          }|                    d
d          }|d	d                              |                              d          }t           j        |d d<   t          j
        ||           d S )N
   r   rH   r   rE   r   r`   r   r!   rJ   r   rK   r   r   r   r  standard_normalreindexr#   rL   r'   r(   r*   rI   r   rW   r.   s        r0   test_series_fillna_limitz&TestFillnaPad.test_series_fillna_limit  s9   	"29((++;;B??uMMM2A2u%%e155RaR5==''..e.<<
vx000233&&gQ77RSS6>>%((//z/BBv!
vx00000r2   c                    t          j        d          }t          t           j                            d                              d          |          }|d d                             |dd          }|d d                             |                              d          }t           j        |dd <   t          j
        ||           |d	d                              |d
d          }|d	d                              |                              d
          }t           j        |d d<   t          j
        ||           d S )Nr2  r   rH   r   rE   r3  r   r4  r5  rJ   r   r6  r9  s        r0   test_series_pad_backfill_limitz,TestFillnaPad.test_series_pad_backfill_limit  s   	"29((++;;B??uMMM2A2uU!<<RaR5==''..e.<<
vx000233jBBRSS6>>%((//z/BBv!
vx00000r2   c                    t          t          j                            d                              ddd                    }|                    dd          }|J t          j        |                    dd          |           d S )	Nr   r   r   r   r6   Tr.  F)r   rK   r   r  r  r#   r'   r(   )r*   rc   r   s      r0   test_fillna_intzTestFillnaPad.test_fillna_int  s{    RY**1--66tS"EEFFzz$z??###
szz%zHH#NNNNNr2   c                    t          t          t          t          dddddddt          j                  g          }|                                }t          t          dddddddt          j                  t          dddddddt          j                  t          dddddddt          j                  g          }t          j        ||           d S )Ni              i r  )r   r	   r   r)  r  r!   r'   r(   )r*   r   r,   r.   s       r0   $test_datetime64tz_fillna_round_issuez2TestFillnaPad.test_datetime64tz_fillna_round_issue  s     #xb"b"aQQQR
 
 r2r2q&JJJr2r2q&JJJr2r2q&JJJ
 
 	vx00000r2   c           	         t          t          j        t          d          z
  dd          }t	          |                    d                    }t          |d<   t          t          d          t          d          t          d          t          d	          t          d
          gd          }t	          |          }|                                }t          j
        ||           d S )Nr2  )nanosecondsrE   ns)rG   r   r   z2262-04-11 23:47:16.854775797z2262-04-11 23:47:16.854775798z2262-04-11 23:47:16.854775800z2262-04-11 23:47:16.854775801r   )r   r   maxr   r   	to_periodr	   r   r6   r'   r(   )r*   r   rc   r   r.   r,   s         r0   test_fillna_parrzTestFillnaPad.test_fillna_parr  s    MI"5555qt
 
 
 S]]4(())A9::9::9::9::9:: 	
 	
 	
 #;;
vx00000r2   funcr   rJ   c                     t          g d          }t          j        t                    5   t	          ||                       d d d            d S # 1 swxY w Y   d S )N)r   r   r   )r   r'   rs   rt   getattr)r*   rK  rc   s      r0   test_pad_backfill_deprecatedz*TestFillnaPad.test_pad_backfill_deprecated5  s     YYY'66 	! 	!GC   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   AAAN)r  r  r  r#  r&  r*  r,  r0  r:  r<  r>  rD  rJ  r7   r  r  rN  rQ   r2   r0   r!  r!    s        1 1 1F F F/ / /F F F? ? ?1 1 1$1 1 1 O O O1 1 1&1 1 1. [VeZ%899! ! :9! ! !r2   r!  z#data, expected_data, method, kwargsr      rB   g      @r6   
limit_areainsider   )rP  r`   outsiderE   r!   c                     t          |           }t          |          } t          ||          di |}t          j        ||           d S )NrQ   )r   rM  r'   r(   )r   r  r   kwargsr   r.   rW   s          r0   test_ffill_bfill_limit_arearU  =  sU    F 	tAm$$HWQ))&))F68,,,,,r2   ) r   r   r   numpyrK   r7   r)  pandasr   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr'   pandas.core.arraysr   r  filterwarningsr   r!  r  rL   rangerU  rQ   r2   r0   <module>r]     s3                                                 + + + + + + P Q6 Q6 Q6 Q6 Q6 Q6 Q6 Q6h D D! D! D! D! D! D! D! D!N ) 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- - -r2   