
    Pi                     J   d dl m Z mZm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  G d d          Z 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_arrayc                      e 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          ej                            dddg          d                         Zej                            d
d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g d(g d)fg d*g d+f eg d*g d,-          g d+fg          d.             Zd/ Zej                            d0e d1d2g          ej                            d
ddg          d3                         Z!d4 Z"d5 Z#d6 Z$d7 Z%ej                            d8g d9d:g d;d<d:gfd<d:ej        d<gd:g d;d<d:gfg          d=             Z&dS )>TestSeriesFillNAc                 ~   t          dddt          j        gd          }|                                }|                    |j        d                   }|                                }|j        d         |j        d<   t          j	        ||           t          j	        ||           t          d|i          }|                                }|                    |j        d                   }t          d|i          }t          j        ||           t          j        ||           t          t          j        dddgd          }|                                }|                    |d                   }|                                }|d         |d<   t          j	        ||           t          j	        ||           t          d|i          }|                                }|                    |d                   }t          d|i          }t          j        ||           t          j        ||           d S )	Nr         M8[ns]dtypevalue   A)r   r	   _valueffillfillnavaluescopyiloctmassert_series_equalr   assert_frame_equalbfill)selfseriesfilledfilled2expecteddfs         {/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/series/methods/test_fillna.pytest_fillna_natz TestSeriesFillNA.test_fillna_nat   s   Aq#*-X>>>--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>>>--fQi-00;;==qk
vx000
w111V}%%))&)),,c8_--
fh///
gx00000    c                 >   t          g dt          dd                    }t          j        ||                                           t
          j        |j        d<   t          g d|j                  }t          j        |                                |           t          g d|j                  }t          j        |	                                |           t          g d	|j                  }t          j        |
                    d
          |           d S )N)              ?       @      @      @z
2020-01-01   )periodsindexr   )r2   r3   r3   r5   r6   )r2   r3   r5   r5   r6   )r2   r3   g      @r5   r6   r   )r   r   r$   r%   r   npnanr#   r:   r'   r    )r(   tsexps      r.   test_fillnazTestSeriesFillNA.test_fillnaA   s   %%%Za-P-P-P
 
 
 	r288::...V
...bh???
rxxzz3///...bh???
rxxzz3///...bh???
ryyqy11377777r0   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   r3    r   r   )r   r      r7   r9   )r   r;   r<   r    r$   r%   objectr(   s1s2resultr,   s        r.   test_fillna_nonscalarz&TestSeriesFillNA.test_fillna_nonscalarS   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*****r0   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   r4   )r   listr;   r<   r    r$   r%   rD   s        r.   test_fillna_alignsz#TestSeriesFillNA.test_fillna_alignsk   sy    IIItE{{++QNDKK002+++tE{{33
vx00000r0   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 )NrJ   r9   i  r   limitr   r   r;   r<   r    r$   r%   r(   serrG   r,   s       r.   test_fillna_limitz"TestSeriesFillNA.test_fillna_limitr   s    RV999---Cq))3/yyyAAA
vx000Cq))3RV,III>>>
vx00000r0   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   rB   float64r   rC   rR   )r(   valsvalrT   rG   r,   s         r.   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 	5r0   c                 6   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            d S # 1 swxY w Y   d S )N20130101
US/Easterntz
2013-01-01rC   r   TFfoozInvalid valuematchr   )r   r   r	   r    r$   r%   wherer"   pytestraises	TypeError)r(   rT   rG   r,   ser2s        r.   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]9O<<< 	 	DG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ;FFF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 )Nr]   2013010220130103 9:01:01M8[]r   r   )secondsr   i~  )daysrp   zm8[i ʚ;r   )r   r   diffr"   r    r   r   r$   assert_equalastyperC   r;   timedelta64r	   r<   r   r'   )	r(   frame_or_seriesunitrT   tdobjrG   r,   ress	            r.   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,,
)))))r0   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 )Nr]   rl   rm   r   )r   r   r;   r<   r   r$   r%   r'   rS   s       r.   test_datetime64_fillnaz'TestSeriesFillNA.test_datetime64_fillna  s!   *%%*%%*%%,--	
 
 A *%%*%%*%%,--	
 
 	vx000 *%%*%%,--,--	
 
 	vx00000r0   scalarFTr`   NUTCc                    t          ddd|          }t          d|                              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)r8   rw   r`   2016-02-03 04:05:06.789r_   msr8   rw   zM8[ms]zM8[ms, UTC]r   r   r   r   )	r   r   as_unitr   r	   r"   r    r$   r%   )r(   r`   r~   dtiitemvec	exp_dtyper,   rT   ri   rz   res2s               r.   2test_datetime64_fillna_mismatched_reso_no_roundingzCTestSeriesFillNA.test_datetime64_fillna_mismatched_reso_no_rounding1  s     qsrBBB2r:::BB4HH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2r0   c                 F   t          d                              d          }t          ddd          |z
  }t          d                              d          |z
  }t          |dd          }t	          ||d         |d	         gd
          }t	          |          }t
          |d<   |                                }|                    |          }	|                    t	          |                    }
|rt          j	        |	|           d S t          j	        |
|           d S )Nz
1970-01-01r   r   r   r   r   r   r   r   zm8[ms]r   r   )
r   r   r   r   r   r	   r"   r    r$   r%   )r(   r~   r=   tdir   r   r,   rT   ri   rz   r   s              r.   3test_timedelta64_fillna_mismatched_reso_no_roundingzDTestSeriesFillNA.test_timedelta64_fillna_mismatched_reso_no_roundingN  s    |$$,,S11qs;;;b@233;;DAABF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2r0   c                     t          t          t          dgd          }t          g dd          }|                                }t          j        ||           d S )N2013-08-05 15:30:00.000001r   r   )r   r   r   )r   r	   r'   r$   r%   )r(   rT   r,   rG   s       r.   test_datetime64_fillna_backfillz0TestSeriesFillNA.test_datetime64_fillna_backfillj  sn     c3 <=XNNN  
 
 
 
 
vx00000r0   r^   z
Asia/Tokyoc           	         t          t          d          t          t          d          t          gd| d          }t          g d          }|                    t          d                              d                    }t          t          d          t          d          t          d          t          d          gd| d          }t          j        ||           t          j        t          |          |           |                    t          d|	                              d                    }t          t          d                              d          t          d|	                              d          t          d                              d          t          d|	                              d          g          }t          j        ||           t          j        t          |          |           |                    d
          }t          t          d                              d          d
t          d                              d          d
gt                    }t          j        ||           t          j        t          |          |           |                    t          d|	                              d          t          d                              d          d          }t          t          d                              d          t          d|	                              d          t          d                              d          t          d                              d          g          }t          j        ||           t          j        t          |          |           |                    t          d                              d          t          d                              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                              d                    }t          t          d|	                              d          t          d                              d          t          d|	                              d          t          d                              d          g          }t          j        ||           t          j        t          |          |           |                    t          d|	                              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          d
t          d|	                              d          d
gt                    }t          j        ||           t          j        t          |          |           |                    t          d|	                              d          t          d                              d          d          }t          t          d|	                              d          t          d|	                              d          t          d|	                              d          t          d                              d          g          }t          j        ||           t          j        t          |          |           |                    t          d|	                              d          t          d|	                              d          d          }t          t          d|	          t          d|	          t          d|	          t          d|	          g          j                            |          }t          j        ||           t          j        t          |          |           |                    t          d                              d                    }t          t          d|	                              d          t          d                              d          t          d|	                              d          t          d                              d          g          }t          j        ||           t          j        t          |          |           |                    t          dd	                              d                    }t          t          d|	                              d          t          dd	                              d                              |          t          d|	                              d          t          dd	                              d                              |          g          j                            |          }t          j        ||           t          j        t          |          |           d S )N2011-01-01 10:002011-01-03 10:00rn   ro   r   )FTFT2011-01-02 10:00r   r_   AAAz2011-01-04 10:00r   r   zdatetime64[z, )r   r   r   r   r]   ra   
US/Pacific)r   r   r	   r    r   r$   r%   r   rC   r   r   to_pydatetimedt
tz_convert)r(   r`   rw   rT   null_locrG   r,   idxs           r.   test_datetime64_tz_fillnaz*TestSeriesFillNA.test_datetime64_tz_fillnaz  s    ,--,--	  ---
 
 
 44455I&899AA#FFGG,--,--,--,--	  ---
 
 
 	x000
tCyy(333I&8R@@@HHMMNN,--55c::,444<<SAA,--55c::,444<<SAA	
 
 	x000
tCyy(333E"",--55c::,--55c::	 
 
 
 	x000
tCyy(333/B777??DD/0088== 
 
 ,--55c::,444<<SAA,--55c::,--55c::	
 
 	x000
tCyy(333/0088==/0088== 
 
 ,--,--,--,--	  ---
 
 
 	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AA#FFGG,444<<SAA,--55c::,444<<SAA,--55c::	
 
 	x000
tCyy(333I&8R@@@HHMMNN   
 
 
 '$-- 	 #;;
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<<SAA,444<<SAA	 
 
 
 	x000
tCyy(333/B777??DD/0088== 
 
 ,444<<SAA,444<<SAA,444<<SAA,--55c::	
 
 	x000
tCyy(333/B777??DD/B777??DD 
 
 ,444,444,444,444	
 
 WWT]] 	 	x000
tCyy(333 Ij1199#>>??,444<<SAA,''//44,444<<SAA,''//44	
 
 	x000
tCyy(333 Ij\BBBJJ3OOPP,444<<SAA,<888@@EEPPQSTT,444<<SAA,<888@@EEPPQSTT	
 
 WWT]] 	 	x000
tCyy(33333r0   c                    t          t          d                              d          t          g          }t          t          d                              d          t          d                              d          g          }t	          j        |                                |           t          t          t          d                              d          g          }t          t          d                              d          t          d                              d          g          }t	          j        |                                |           d S )Nz2012-11-11 00:00:00+01:00r   )r   r   r   r	   r$   r%   r   r'   )r(   rT   r>   s      r.   test_fillna_dt64tz_with_methodz/TestSeriesFillNA.test_fillna_dt64tz_with_methodL  s&    i ;<<DDSII3OPP566>>sCC566>>sCC
 
 	syy{{C000c9%@AAII#NNOPP566>>sCC566>>sCC
 
 	syy{{C00000r0   c                    t          t          j        t          d          gddg          }|                    t          d                    }t          t          d          ddgd          }t          j        ||           d S )Nz1 daysr   Br9   r   zm8[us])r:   r   )r   r;   r<   r   r    r   r$   r%   rS   s       r.   test_fillna_pytimedeltaz(TestSeriesFillNA.test_fillna_pytimedeltaa  sw    bfi1123*EEEIaLL)))H--c3ZxPPP
vx00000r0   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(   rT   rz   r>   s       r.   test_fillna_periodz#TestSeriesFillNA.test_fillna_periodi  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''''''r0   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 )Nr]   rl   rm   r   20130104)r   r   r;   r<   r    r$   rs   r	   )r(   rv   rT   ry   rG   r,   s         r.   test_fillna_dt64_timestampz+TestSeriesFillNA.test_fillna_dt64_timestampr  s
   *%%*%%*%%,--	
 
 Aoc"" Ij1122*%%*%%*%%,--	
 
 #?8,,
)))C
)))))r0   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	   r;   
datetime64r    r$   r%   )r(   rT   rZ   rG   r,   s        r.   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0r0   c                 (   t          t          j        dt          j        dt          j        gg d          }|                                }|                    dd          }||u sJ |                    d          }t          j        ||           d S )Nr3   r5   zabcdr   T)r   inplacer   )r   r;   r<   r"   r    r$   r%   )r(   xyrG   r,   s        r.   test_fillna_numeric_inplacez,TestSeriesFillNA.test_fillna_numeric_inplace  s    BFCbf57P7P7PQQFFHH400{{{{88!8$$
q(+++++r0   zfill_value, expected_outputr   )r   r   r   r   r   r   )r   r   rB   )r   r   r   r   r   r   r   r9   r   rB   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r;   r<   r   r   r    r$   r%   r(   
fill_valueexpected_outputdatarT   r>   rG   s          r.   test_fillna_categoricalz(TestSeriesFillNA.test_fillna_categorical  s      RVS"&"&1[3*===>>[c3ZHHHIIJ''
vs+++++r0   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                 B   dt           j        dt           j        t           j        g}t          t          |g d                    }t          t          |g d                    }t          |          }|                    |          }t          j        ||           d S )Nr   r   r   r   r   r   s          r.   +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''
J''
vs+++++r0   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 categoryrc   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")r;   r<   r   r   _valuesrf   rg   rh   r    
ValueErrorr   )r(   r   rT   catmsgmsg2s         r.   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   float32rX   c                    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   r4   Tr   )r   r;   r<   r   typer    r$   r%   r   to_numpymaskre   )
r(   r   any_real_numpy_dtyper~   rT   fill_valuesrG   r,   r   rz   s
             r.   test_fillna_float_castingz*TestSeriesFillNA.test_fillna_float_casting  sa    bfc]%000aV+?@@@ 	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-----r0   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   r3   )r   r;   r<   r   r    r$   r%   rS   s       r.    test_fillna_f32_upcast_with_dictz1TestSeriesFillNA.test_fillna_f32_upcast_with_dict  sb    bfc]"*555QF##3*BJ777
vx00000r0   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   rc   r   r   )r   r   )	r   r;   randomdefault_rngintegersrf   rg   rh   r    )r(   rT   r   s      r.   test_fillna_listlike_invalidz-TestSeriesFillNA.test_fillna_listlike_invalid  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 ]L}t          j        t          |          5  |                    d|           d d d            n# 1 swxY w Y   Md 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   r3   r4   rc   r   rP   )r   joinrf   rg   r   r    )r(   rT   r   rQ   s       r.   $test_fillna_method_and_limit_invalidz5TestSeriesFillNA.test_fillna_method_and_limit_invalid   s    ___%%hh  
 
 ' 	+ 	+Ez555 + +

1E
***+ + + + + + + + + + + + + + +	+ 	+s   A,,A0	3A0	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   )r8   r`   r   i  r   tzinfor   r   r_   zdateutil/US/Pacificr   r   r   )r   r   r"   r	   r    r   r   utcr$   r%   r   r   r   r   kindr`   )r(   rT   r,   rG   r=   ri   s         r.   +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0r0   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   rT   r*   rG   r,   s
             r.   (test_fillna_categorical_accept_same_typez9TestSeriesFillNA.test_fillna_categorical_accept_same_typeB  sv     %  Skk  ..CF##}9LMMM
#FH55555r0   )'__name__
__module____qualname__r/   r?   rH   rN   rU   r[   rj   r{   r}   rf   markparametrizer   r   r   r   r   r   r   r   r   r   r;   r<   r   r   r   r   r   floatr   r   r   r   r   r   rA   r0   r.   r   r      s       #1 #1 #1J8 8 8$+ + +01 1 11 1 1	5 	5 	5  :h* h* h*T!1 !1 !1F [	
  [TD%=113 3 21 3* [	
 3 3 3*1 1 1  [TL,#?@@O4 O4 A@O4b1 1 1*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		
 , , , [%&&&(A(A(AB&&&(A(A(AB---:S:S:S   *))			
 , , ,8 8 8> [Wui&CDD[Xe}55. . 65 ED.01 1 1  + + +1 1 1( [A"""C)=)=)=SzJ3$c+?+?+?#sL	
 	6 	6 	6 	6 	6r0   r   c                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestFillnaPadc                    t          t          j        dt          j        dt          j        gg d          }|                                }t          t          j        ddddg|j                  }t          j        ||           |                                }t          ddddt          j        g|j                  }t          j        ||           d S )Nr3   r5   r   )r   r;   r<   r   r:   r$   r%   r'   )r(   rT   r*   r,   s       r.   test_fillna_bugzTestFillnaPad.test_fillna_bugV  s    bfc26379R9R9RSS263S#6	BB
vx0003S#rv6	BB
vx00000r0   c                     t          t          dddt          j                  dg          }|                                }t          j        ||           d S )Ni  r   r   )r   r   r   r   r   r$   r%   )r(   r)   rG   s      r.   ,test_ffill_mixed_dtypes_without_missing_dataz:TestFillnaPad.test_ffill_mixed_dtypes_without_missing_data`  sM    $1X\BBBAFGG
vv.....r0   c                    t          t          j        dt          j        dt          j        gg dt                    }|                    d          }||u s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 )	Nr3   r5   r   r   Tr   r   r   )	r   r;   r<   r   r   r$   r%   isnanr#   )r(   r   rG   r,   s       r.   test_pad_nanzTestFillnaPad.test_pad_nanf  s    VS"&#rv.0I0I0IQV
 
 
 &&{{{{VS#sC(*C*C*C5
 
 
 	quhqrrl333xq	"">>BHX]1-=$>$>>>">>r0   c                    t          j        d          }t          t           j                            d                              d          |          }|d d                             |          }|                    d          }|d d                             |                                          }t           j        |dd <   t          j
        ||           |dd                              |          }|                    d          }|dd                              |                                          }t           j        |d d<   t          j
        ||           d S )	N
   r   r9   r7   rP   r   r;   aranger   r   r   standard_normalreindexr   r<   r$   r%   r'   r(   r:   r   rG   r,   s        r.   test_series_fillna_limitz&TestFillnaPad.test_series_fillna_limitt  s+   	"29((++;;B??uMMM2A2u%%A&&RaR5==''--//
vx000233&&A&&RSS6>>%((..00v!
vx00000r0   c                    t          j        d          }t          t           j                            d                              d          |          }|d d                             |dd          }|d d                             |                                          }t           j        |dd <   t          j
        ||           |dd                              |d	d          }|dd                              |                                          }t           j        |d d
<   t          j
        ||           d S )Nr	  r   r9   padr7   )methodrQ   r
  r  backfillr   r  r  s        r.   test_series_pad_backfill_limitz,TestFillnaPad.test_series_pad_backfill_limit  s   	"29((++;;B??uMMM2A2uU!<<RaR5==''--//
vx000233jBBRSS6>>%((..00v!
vx00000r0   c                    t          t          j                            d                              ddd                    }|                    d          }||u sJ t          j        |                    d          |           d S )Nr   r   r   r   Tr   F)r   r;   r   r   r   r   r$   r%   )r(   rT   rG   s      r.   test_fillna_intzTestFillnaPad.test_fillna_int  sx    RY**1--66tS"EEFF4((}}}}
syyy77=====r0   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       r.   $test_datetime64tz_fillna_round_issuez2TestFillnaPad.test_datetime64tz_fillna_round_issue  s     #xb"b"aUUUV
 
 r2r2q&NNNr2r2q&NNNr2r2q&NNN
 
 	vx00000r0   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 )Nr	  )nanosecondsr7   ns)r8   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   r   r$   r%   )r(   r   rT   arrr,   r*   s         r.   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0r0   N)r   r   r   r  r  r  r  r  r  r  r%  rA   r0   r.   r   r   U  s        1 1 1/ / /? ? ?1 1 1$1 1 1 > > >1 1 1&1 1 1 1 1r0   r   z#data, expected_data, method, kwargsr      r5   g      @r   
limit_areainsider   )r'  rQ   outsider7   r'   c                     t          |           }t          |          } t          ||          di |}t          j        ||           d S )NrA   )r   getattrr$   r%   )r   r   r  kwargsr   r,   rG   s          r.   test_ffill_bfill_limit_arear-    sU    F 	tAm$$HWQ))&))F68,,,,,r0   )r   r   r   numpyr;   rf   pandasr   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr$   pandas.core.arraysr   r   r   r   r   r<   ranger-  rA   r0   r.   <module>r4     s                                                + + + + + +w6 w6 w6 w6 w6 w6 w6 w6to1 o1 o1 o1 o1 o1 o1 o1d ) 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- - -r0   