
    d                         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 d dlmZ d dlmZ  G d d          Z G d d          ZdS )	    )datetime	timedeltatimezoneN)
Categorical	DataFrameDatetimeIndexNaTPeriodSeries	Timedelta	Timestamp
date_rangeisna)period_arrayc                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Z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 d&          g d'f e eg d&g d()                    g d'fg          d*             Zd+ Z ej                            d,e!d-d.g          ej                            d/e"j#                  ej                            d0d1d2g          d3                                     Z$d4 Z%d5 Z&d6 Z'd7 Z(d8 Z)ej                            d9g d: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          }|                    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         c/var/www/html/t/fyr/venv311/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      r/   test_fillna_value_or_methodz,TestSeriesFillNA.test_fillna_value_or_methodA   s    8]:S111 	< 	<""7";;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s   AA
Ac                    t          g dt          j        d                    }t          j        ||                    d                     t
          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              ?       @      @      @   indexr5   r   r   )r>   r?   r?   rA   rB   )r>   r?   rA   rA   rB   backfill)r>   r?   g      @rA   rB   r   z'Must specify a fill 'value' or 'method'r3   )r   r&   makeDateIndexr'   r"   npNaNrE   r6   r7   r8   )r)   tsexpr:   s       r/   test_fillnazTestSeriesFillNA.test_fillnaF   s   ---R5Ea5H5HIII
r299G9#<#<===1...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      rC   rD   )r   rH   nanr"   r&   r'   objectr)   s1s2resultr-   s        r/   test_fillna_nonscalarz&TestSeriesFillNA.test_fillna_nonscalarZ   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*****r1   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   r@   )r   listrH   rP   r"   r&   r'   rR   s        r/   test_fillna_alignsz#TestSeriesFillNA.test_fillna_alignsr   sy    IIItE{{++QNDKK002+++tE{{33
vx00000r1   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 )NrX   rD   i  r   )limitr   r   rH   rP   r"   r&   r'   r)   serrU   r-   s       r/   test_fillna_limitz"TestSeriesFillNA.test_fillna_limity   s    RV999---Cq))3/yyyAAA
vx000Cq))3RV,III>>>
vx00000r1   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   rO   float64r   rQ   r_   )r)   valsvalra   rU   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 	5r1   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        ||           |                                }d	|d
<   t	          j        ||           d S )N20130101
US/Easterntz
2013-01-01rQ   r   TFfoor   )r   r   r	   r"   r&   r'   wherer$   )r)   ra   rU   r-   ser2s        r/   test_fillna_consistencyz(TestSeriesFillNA.test_fillna_consistency   sd    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
tX.....r1   c                 j   t          dt          j        g          }|                    dd          }t          ddg          }t	          j        ||           t          dt          j        g          }|                    ddid          }t          ddg          }t	          j        ||           d S )Nr?   r   inferdowncastr   r_   r`   s       r/   test_fillna_downcastz%TestSeriesFillNA.test_fillna_downcast   s     c26]##A001a&>>
vx000 c26]##QFW551a&>>
vx00000r1   c                 (   t          j        d                              t                    }t           j        |d<   t          |          }|                    dd          }t          t          j        d          t           j                  }t          j	        ||           |
                    d          }t          g dt           j                  }t          j	        ||           |                    d          }t          g dt           j                  }t          j	        ||           d|d	<   t          g d
t           j                  }|                    dd          }t          j	        ||           |
                    d          }t          g dt           j                  }t          j	        ||           |                    d          }t          g dt           j                  }t          j	        ||           d S )NrC   r   rt   ru   r   )r   r   r   r   rO   )r   r   r   rO   rO         @r   )r   r   ry   r   rO   )r   r   ry   ry   rO   )r   r   ry   rO   rO   )rH   arangeastyperQ   rP   r   r"   int64r&   r'   r5   r    re   )r)   arrra   resr-   s        r/   -test_fillna_downcast_infer_objects_to_numericz>TestSeriesFillNA.test_fillna_downcast_infer_objects_to_numeric   s    ill!!&))ASkkjjWj--")A,,bh777
sH---iii))///:::
sH---iii))///:::
sH--- A+++2:>>>jjWj--
sH---iii))---RZ@@@
sH---iii))+++2:>>>
sH-----r1   c           	         t          t          d          t          d          t          d          t          d          g          }|                                } ||          }|                    t	          d                    }t          t          d          t          d          t          d          t          dd          g          } ||          }t          j        ||           |                    d          }|                    t                                        d          }t          j        ||           |                    t	          d                    }t          t          d          t          d          t          d          t          dd          g          } ||          }t          j        ||           |                    t          dd                    }t          t          dd          t          d          t          d          t          dd          g          } ||          }t          j        ||           |                    t          j        d	                    }t          t          d          t          d          t          d          t          dd          g          } ||          }t          j        ||           |                    t                    }t          t          t          d          t          d          t          dd          g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 )Nrj   2013010220130103 9:01:01r   )secondsr   i~  )daysr   i ʚ;zm8[ns]r   r   )r   r   diffr"   r   r   r&   assert_equalr{   rQ   rH   timedelta64r	   rP   r5   r    )r)   frame_or_seriesra   tdobjrU   r-   r~   s           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,,
)))))r1   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 )Nrj   r   r   r   )r   r   rH   rP   r5   r&   r'   r    r`   s       r/   test_datetime64_fillnaz'TestSeriesFillNA.test_datetime64_fillnaB  s!   *%%*%%*%%,--	
 
 A *%%*%%*%%,--	
 
 	vx000 *%%*%%,--,--	
 
 	vx00000r1   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   rF   r   )r   r	   r"   r&   r'   )r)   ra   r-   rU   s       r/   test_datetime64_fillna_backfillz0TestSeriesFillNA.test_datetime64_fillna_backfille  st     c3 <=XNNN  
 
 
 
 :..
vx00000r1   rm   rk   z
Asia/Tokyoc           	         t          t          d          t          t          d          t          g          }t          g d          }|                    t          d                    }t          t          d          t          d          t          d          t          d          g          }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          }t	          j        ||           t	          j        t          |          |           t          dt          dt          g|          }t          |          }|j	        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          }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          }t	          j        ||           t	          j        t          |          |           d S )N2011-01-01 10:002011-01-03 10:00)FTFT2011-01-02 10:00rl   AAAr   z2011-01-04 10:00r   r   zdatetime64[ns, ])r   r   r   r   rj   rn   
US/Pacific)r   r   r	   r"   r&   r'   r   rQ   r   r   to_pydatetime
tz_convert)r)   rm   ra   null_locrU   r-   idxs          r/   test_datetime64_tz_fillnaz*TestSeriesFillNA.test_datetime64_tz_fillnau  s    ,--,--	
 
 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 /6H#NSUVVVSkky3b3333333
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	
 
 	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	
 
 	x000
tCyy(33333r1   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)   ra   rK   s      r/   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?????r1   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   BrD   r   )r   rH   rP   r   r"   r   r&   r'   r`   s       r/   test_fillna_pytimedeltaz(TestSeriesFillNA.test_fillna_pytimedeltaT  su    bfi1123*EEEIaLL)))H--c3Z@@@
vx00000r1   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)   ra   r~   rK   s       r/   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''''''r1   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 )Nrj   r   r   r   20130104)r   r   rH   rP   r"   r&   r   r	   )r)   r   ra   r   rU   r-   s         r/   test_fillna_dt64_timestampz+TestSeriesFillNA.test_fillna_dt64_timestampe  s
   *%%*%%*%%,--	
 
 Aoc"" Ij1122*%%*%%*%%,--	
 
 #?8,,
)))C
)))))r1   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-05ms)r   r   r	   rH   
datetime64r"   r&   r'   )r)   ra   rg   rU   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0r1   c                 $   t          t          j        dt          j        dt          j        gg d          }|                                }|                    dd          }|J |                    d          }t          j        ||           d S )Nr?   rA   zabcdr   T)r   inplacer   )r   rH   rP   r$   r"   r&   r'   )r)   xyreturn_valuer-   s        r/   test_fillna_numeric_inplacez,TestSeriesFillNA.test_fillna_numeric_inplace  s    BFCbf57P7P7PQQFFHHxxax66###88!8$$
q(+++++r1   zfill_value, expected_outputr   )r   r   r   r   r   r   )r   r   rO   )r   r   r   r   r   r   r   rD   r   rO   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rH   rP   r   r   r"   r&   r'   r)   
fill_valueexpected_outputdatara   rK   rU   s          r/   test_fillna_categoricalz(TestSeriesFillNA.test_fillna_categorical  s      RVS"&"&1[3*===>>[c3ZHHHIIJ''
vs+++++r1   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          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''
vs+++++r1   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 categoryr3   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")rH   rP   r   r   _valuesr6   r7   	TypeErrorr"   r8   r   )r)   r   ra   catr:   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   float32re   	fill_typescalarTFc                    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   r@   T)r   )r   rH   rP   r   typer"   r&   r'   r   to_numpymaskrp   )
r)   r   r   r   ra   fill_valuesrU   r-   r   r~   s
             r/   test_fillna_float_castingz*TestSeriesFillNA.test_fillna_float_casting  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-----r1   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   rH   rP   r   r"   r&   r'   r`   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0r1   c                     	 |                     d           d S # t          $ r}dt          |          v sJ Y d }~d S d }~ww xY w)Nffilr   )r"   r8   str)r)   r9   insts      r/   test_fillna_invalid_methodz+TestSeriesFillNA.test_fillna_invalid_method  sl    	'""&"11111 	' 	' 	'SYY&&&&&&&&&&	's    
A=Ac                    t          t          j                            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 )
Nd   2   r   r3   r   r   r   )r   r   )r   rH   randomrandintr6   r7   r   r"   )r)   ra   r:   s      r/   test_fillna_listlike_invalidz-TestSeriesFillNA.test_fillna_listlike_invalid  s;   RY&&tS"5566S]9C000 	 	JJ1v	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 U]9C000 	 	JJv	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A00A47A4B;;B?B?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?   r@   )rF   r    r   r5   Nr3   r   )r^   r   )r   joinr6   r7   r8   r"   )r)   ra   r:   r^   r   s        r/   $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   UTC)periodsrm   r   i  r   tzinfor   r   rl   zdateutil/US/Pacificr   r   r   )r   r   r$   r	   r"   r   r   utcr&   r'   r   r   r   r   kindrm   )r)   ra   r-   rU   rJ   rq   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0r1   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   ra   r+   rU   r-   s
             r/   (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5r1   N)+__name__
__module____qualname__r0   r;   rL   rV   r\   rb   rh   rr   rw   r   r   r   r   r6   markparametrizer   r   r   r   r   r   r   rH   rP   r   r   r   r   r   floatr&   ALL_REAL_NUMPY_DTYPESr   r   r   r   r   r   r   rN   r1   r/   r   r      s       #1 #1 #1J< < <
  (+ + +01 1 11 1 1	5 	5 	5/ / /:1 1 1". ". ".Hc* c* c*J!1 !1 !1F1 1 1  [TL,#?@@G4 G4 A@G4R@ @ @*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 	6r1   r   c                       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?   rA   r   r5   r   r    )r   rH   rP   r"   rE   r&   r'   )r)   ra   r+   r-   s       r/   test_fillna_bugzTestFillnaPad.test_fillna_bugR  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0r1   c                     t          g dt          j        d                    }t          j        |d<   t          j        |                                |                    d                     d S )Nr=   rC   rD   r   r5   r   )r   r&   rG   rH   rI   r'   r5   r"   r)   rJ   s     r/   
test_ffillzTestFillnaPad.test_ffill\  `    ---R5Ea5H5HIII1
rxxzz299G9+D+DEEEEEr1   c                     t          t          dddt          j                  dg          }|                                }t          j        ||           d S )Ni  r   r   )r   r   pytzr   r5   r&   r'   )r)   r*   rU   s      r/   ,test_ffill_mixed_dtypes_without_missing_dataz:TestFillnaPad.test_ffill_mixed_dtypes_without_missing_dataa  sM    $1TX>>>BCC
vv.....r1   c                     t          g dt          j        d                    }t          j        |d<   t          j        |                                |                    d                     d S )Nr=   rC   rD   r   r    r   )r   r&   rG   rH   rI   r'   r    r"   r
  s     r/   
test_bfillzTestFillnaPad.test_bfillg  r  r1   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        |d	                   s"J t          j        |d	                               d S )
Nr?   rA   r   r   r   Tr   r   r   r   )r   rH   rP   r  r"   r&   r'   isnan)r)   r   r   r-   s       r/   test_pad_nanzTestFillnaPad.test_pad_nanl  s    VS"&#rv.0I0I0IQV
 
 
 xxudx;;###VS#sC(*C*C*C5
 
 
 	quhqrrl333x!~~44rx4444444r1   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                              |                              d          }t           j        |d d<   t          j	        ||           d S )N
   rD   r   r   rC   r   r^   r   r    rF   r   
rH   rz   r   r   randnreindexr"   rP   r&   r'   r)   rE   srU   r-   s        r/   test_series_fillna_limitz&TestFillnaPad.test_series_fillna_limitz  s)   	"29??2&&e444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0r1   c                 f   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                              |                              d
          }t           j        |d d<   t          j	        ||           d S )Nr  rD   r   r   rC   r  r   r  r  rF   r   r  r  s        r/   test_series_pad_backfill_limitz,TestFillnaPad.test_series_pad_backfill_limit  s   	"29??2&&e4442A2uU!<<RaR5==''..e.<<
vx000233jBBRSS6>>%((//z/BBv!
vx00000r1   c                     t          t          j                            ddd                    }|                    dd          }|J t          j        |                    dd          |           d S )Nr   r   r   r5   Tr  F)r   rH   r   r   r"   r&   r'   )r)   ra   r   s      r/   test_fillna_intzTestFillnaPad.test_fillna_int  sm    RY&&tS"5566zz$z??###
szz%zHH#NNNNNr1   c                    t          t          t          t          dddddddt          j                  g          }|                    d	          }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   r+   r-   s       r/   $test_datetime64tz_fillna_round_issuez2TestFillnaPad.test_datetime64tz_fillna_round_issue  s     #xb"b"aQQQR
 
 G,,r2r2q&JJJr2r2q&JJJr2r2q&JJJ
 
 	vx00000r1   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	          |          }|                    d          }t          j
        ||           d S )Nr  )nanosecondsrC   ns)r   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   )r   r   maxr   r   	to_periodr	   r   r"   r&   r'   )r)   dtira   r}   r-   r+   s         r/   test_fillna_parrzTestFillnaPad.test_fillna_parr  s    MI"5555qt
 
 
 S]]4(())A9::9::9::9::9:: 	
 	
 	
 #;;5))
vx00000r1   funcr   rF   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&   assert_produces_warningFutureWarninggetattr)r)   r2  ra   s      r/   test_pad_backfill_deprecatedz*TestFillnaPad.test_pad_backfill_deprecated  s     YYY'66 	! 	!GC   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   AAAN)r   r   r   r  r  r  r  r  r   r"  r$  r*  r1  r6   r  r  r7  rN   r1   r/   r  r  Q  s        1 1 1F F F
/ / /F F F
5 5 51 1 1$1 1 1 O O O1 1 1&1 1 1. [VeZ%899! ! :9! ! !r1   r  )r   r   r   numpyrH   r6   r  pandasr   r   r   r	   r
   r   r   r   r   r   pandas._testing_testingr&   pandas.core.arraysr   r   r  rN   r1   r/   <module>r=     sb                                               + + + + + +s6 s6 s6 s6 s6 s6 s6 s6l@! @! @! @! @! @! @! @! @! @!r1   