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

'$- 	 Skyyk$r"Q7777
tCy(3I&89:,4,-,4,-	
 	x0
tCy(3I&8R@A 
 '$- 	 #;
x0
tCy(3I&8R@NNPQ 
 '$- 	 #;
x0
tCy(3E",4,4	 
 	x0
tCy(3/B7/0
 ,4,4,4,-	
 	x0
tCy(3/B7/B7
 ,4,4,4,4	
 "WWT] 	 	x0
tCy(3 Ij12,4,',4,'	
 	x0
tCy(3 Ij\BC,4,<8CCBG,4,<8CCBG	
 "WWT] 	 	x0
tCy(3r2   c                    t        t        d      t        g      }t        t        d      t        d      g      }t        j                  |j                  d      |       t        t        t        d      g      }t        t        d      t        d      g      }t        j                  |j                  d      |       y )Nz2012-11-11 00:00:00+01:00r   r   r!   )r   r   r	   r'   r(   r#   )r*   rc   rN   s      r0   test_fillna_dt64tz_with_methodz/TestSeriesFillNA.test_fillna_dt64tz_with_method  s     i ;<cBC5656
 	szzz7=c9%@ABC5656
 	szzz93?r2   c                     t        t        j                  t        d      gddg      }|j	                  t        d            }t        t        d      ddg      }t        j                  ||       y )Nz1 daysr    BrH   r   )r   rK   rL   r   r#   r   r'   r(   rb   s       r0   test_fillna_pytimedeltaz(TestSeriesFillNA.test_fillna_pytimedelta  sW    bffi123*EIaL))H-c3Z@
vx0r2   c                    t        t        dd      t        dd      g      }|j                  t        dd            }t        t        dd      t        dd      g      }t        j                  ||       |j
                  dk(  sJ y )Nz2011-01Mfreqr	   z2012-01z	Period[M])r   r
   r#   r'   r(   r   )r*   rc   r   rN   s       r0   test_fillna_periodz#TestSeriesFillNA.test_fillna_period  ss    fYS16%c3JKLjj	45fYS16)#3NOP
sC(yyK'''r2   c                    t        t        d      t        d      t        d      t        d      g      }t        j                  |d<    ||      }|j	                  t        d            }t        t        d      t        d      t        d      t        d      g      } ||      }t        j                  ||       |j	                  t              }|}t        j                  ||       y )Nrl   r   r   r   20130104)r   r   rK   rL   r#   r'   r   r	   )r*   r   rc   r   rW   r.   s         r0   test_fillna_dt64_timestampz+TestSeriesFillNA.test_fillna_dt64_timestamp  s    *%*%*%,-	
 Ac" Ij12*%*%*%,-	
 #8,
)C
)r2   c                    t        t        d      t        t        d      g      }t        j                  dd      }|j                  |      }t        t        d      t        d      t        d      g      }t        j                  ||       y )Nz
2010-01-01
2000-01-01z
1975-04-05r   )r   r   r	   rK   
datetime64r#   r'   r(   )r*   rc   ri   rW   r.   s        r0   test_fillna_dt64_non_naoz)TestSeriesFillNA.test_fillna_dt64_non_nao  so    i-sIl4KLMmmL$/C|$i&=y?VW
 	vx0r2   c                    t        t        j                  dt        j                  dt        j                  gg d      }|j                         }|j	                  dd      }|J |j	                  d      }t        j                  ||       y )Nr@   rB   zabcdr   T)r   inplacer   )r   rK   rL   r%   r#   r'   r(   )r*   xyreturn_valuer.   s        r0   test_fillna_numeric_inplacez,TestSeriesFillNA.test_fillna_numeric_inplace  so    BFFCbff57PQFFHxxax6###88!8$
q(+r2   zfill_value, expected_outputr   )r   r   r   r   r   r   )r   r   rR   )r   r   r   r   r   r   r   rH   r   rR   c                    dt         j                  dt         j                  t         j                  g}t        t        |ddg            }t        t        |ddg            }|j	                  |      }t        j                  ||       y )Nr   r   
categoriesrK   rL   r   r   r#   r'   r(   r*   
fill_valueexpected_outputdatarc   rN   rW   s          r0   test_fillna_categoricalz(TestSeriesFillNA.test_fillna_categorical  sh      RVVS"&&"&&1[3*=>[c3ZHIJ'
vs+r2   r   r   r   r   e)r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   c                    dt         j                  dt         j                  t         j                  g}t        t        |g d            }t        t        |g d            }|j	                  |      }t        j                  ||       y )Nr   r   r   r   r   r   s          r0   +test_fillna_categorical_with_new_categoriesz<TestSeriesFillNA.test_fillna_categorical_with_new_categories  sb    " RVVS"&&"&&1[2KLM[=VWXJ'
vs+r2   c                 
   dt         j                  dt         j                  t         j                  g}t        t        |ddg            }|j                  }d}t        j                  t        |      5  |j                  d       d d d        d}t        j                  t        |      5  |j                  t        d             d d d        t        j                  t        |      5  |j                  ddd       d d d        d	}t        j                  t        |      5  |j                  ddg       d d d        d
}t        j                  t        |      5  |j                  d       d d d        d}t        j                  t        |      5  |j                  t        dgdgd             d d d        y # 1 sw Y   8xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   r   z3Cannot setitem on a Categorical with a new categoryr4   r   z!Length of 'value' does not match.r   C"value" parameter must be a scalar or dict, but you passed a "list"D"value" parameter must be a scalar or dict, but you passed a "tuple")r   r   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame")rK   rL   r   r   _valuesr7   r8   	TypeErrorr#   r9   r   )r*   r   rc   catr;   msg2s         r0   test_fillna_categorical_raisesz/TestSeriesFillNA.test_fillna_categorical_raises)  s   RVVS"&&"&&1[3*=>kkC]]9C0 	JJsO	 3]]:T2 	$JJvc{#	$ ]]9C0 	)JJ33'(	) T]]9C0 	#JJSz"	# U]]9C0 	#JJz"	#6 	 ]]9C0 	8JJycUu!567	8 	8-	 		$ 	$	) 	)	# 	#	# 	#	8 	8sH   3F;*G(G"G!G- G9;GGG!G*-G69Hr   float32rg   	fill_typec                    t        t        j                  dg|      }t        ddg|      }|r|j                  j	                  d      }|j                  |      }t        ddg|      }t        j                  ||       t        t        j                  dg|      }|j                         j                         }|||<   t        j                  ||       t        t        j                  dg|      }|j                  ||d       t        j                  ||       t        t        j                  dg|      }|j                  | |      }	t        j                  |	|       y )N333333?r   r   rA   T)r   )r   rK   rL   r   typer#   r'   r(   r   to_numpymaskrr   )
r*   r   r   r   rc   fill_valuesrW   r.   r   r   s
             r0   test_fillna_float_castingz*TestSeriesFillNA.test_fillna_float_castingH  s   
 bffc]%0aV95%++003KK(3*E2
vx0bffc]%0xxz""$D	
sH-bffc]%0{D1
sH-bffc]%0ii{+
sH-r2   c                     t        t        j                  dgt        j                        }|j	                  ddi      }t        ddgt        j                        }t        j                  ||       y )Nr   r   r   r   r@   )r   rK   rL   r   r#   r'   r(   rb   s       r0    test_fillna_f32_upcast_with_dictz1TestSeriesFillNA.test_fillna_f32_upcast_with_dictc  sP    bffc]"**5QF#3*BJJ7
vx0r2   c                 t    	 |j                  d       y # t        $ r}dt        |      v sJ Y d }~y d }~ww xY w)Nffilr   )r#   r9   str)r*   r:   insts      r0   test_fillna_invalid_methodz+TestSeriesFillNA.test_fillna_invalid_methodm  s:    	'""&"1 	'SY&&&	's    	727c                    t        t        j                  j                  d      j	                  ddd            }d}t        j                  t        |      5  |j                  ddg       d d d        d}t        j                  t        |      5  |j                  d	       d d d        y # 1 sw Y   AxY w# 1 sw Y   y xY w)
Nr   d   2   r   r4   r   r   )r   r   )	r   rK   randomdefault_rngintegersr7   r8   r   r#   )r*   rc   r;   s      r0   test_fillna_listlike_invalidz-TestSeriesFillNA.test_fillna_listlike_invalids  s    RYY**1-66tS"EFS]]9C0 	JJ1v	 U]]9C0 	JJv	 			 		 	s   B+B7+B47C c                     t        g d      }dj                  g d      }dD ]A  }dD ]:  }t        j                  t        |      5  |j                  d||       d d d        < C y # 1 sw Y   IxY w)	N)r   r   r   N|)z*Cannot specify both 'value' and 'method'\.zLimit must be greater than 0zLimit must be an integer)r   r@   rA   )rJ   r!   r   r6   Nr4   r   )r`   r   )r   joinr7   r8   r9   r#   )r*   rc   r;   r`   r   s        r0   $test_fillna_method_and_limit_invalidz5TestSeriesFillNA.test_fillna_method_and_limit_invalid}  sy    _%hh
 ' 	>EE >]]:S9 >JJqfJ=> >>	>> >s   A((A1c                 T   t        t        ddd            }|j                         }t        |d<   |j	                  t        dddt        j                              }t        j                  ||       t        d	d
      }t        |j                  j                  d            }|j                  j                  dk(  sJ |j	                  |      }t        |d   |j                  |j                  j                        |d   g|j                        }t        j                  ||       y )N2020r   r   )rG   ro   r   i  r   tzinfor   r   rn   zdateutil/US/Pacificr   r   r   )r   r   r%   r	   r#   r   r   utcr'   r(   r   r   r   r   kindro   )r*   rc   r.   rW   rM   ru   s         r0   +test_fillna_datetime64_with_timezone_tzinfoz<TestSeriesFillNA.test_fillna_datetime64_with_timezone_tzinfo  s     Ze<=88:AHT1aEF
vx0 |5ckk,,-BCDzz#%%%R!WbmmDJJMM2DG<**
 	vx0r2   z7input, input_fillna, expected_data, expected_categories)r    r   Nr    r   )r    r   r   r    r    c                     t        |      }t        |      j                  |      }|j                  |      }|j                  |      }t        ||      }	t        j                  ||	       y )Nr   )r   r   r#   r'   assert_categorical_equal)
r*   inputinput_fillnaexpected_dataexpected_categoriesr   rc   r,   rW   r.   s
             r0   (test_fillna_categorical_accept_same_typez9TestSeriesFillNA.test_fillna_categorical_accept_same_type  sZ     % Sk  .CF#}9LM
##FH5r2   )/__name__
__module____qualname__r1   r<   rO   rX   r^   rd   rj   rv   r|   r   r   r   r7   markparametrizeparamxfailr   r   r   r   r   r   r   r   r   r   rK   rL   r   r   r   r   r   floatr'   ALL_REAL_NUMPY_DTYPESr   r   r   r  r  r  r  rQ   r2   r0   r   r      s   #1J<
,+011	5/<1"..`h*T!1F [[FLLkk''C ( 	
 [[TD%=13 23* [[FLLkk''C ( 	
33(1  [[TL,#?@L4 AL4\@*1(*:	1, [[%+,%'@AXS#rvvrvv67S#sBFF;<C[3RVVRVV<=Cs#c3RVVRVV%DE$%S#sBFF'CDS#Jq!f-RVVS#s/KL		
,, [[%-.0IJ-.0IJ1>W
 *	
,,8> [[Wui&CD[[["*B*BC[[Xe}5. 6 D E.01'>1( [[A"C)=SzJ3$c+?#sL	
	6	6r2   r   z>ignore:Series.fillna with 'method' is deprecated:FutureWarningc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zej                  j                  dddg      d        Zy)TestFillnaPadc                    t        t        j                  dt        j                  dt        j                  gg d      }|j                  d      }t        t        j                  ddddg|j                        }t        j                  ||       |j                  d      }t        ddddt        j                  g|j                        }t        j                  ||       y )Nr@   rB   r   r6   r   r!   )r   rK   rL   r#   rI   r'   r(   )r*   rc   r,   r.   s       r0   test_fillna_bugzTestFillnaPad.test_fillna_bug  s    bffc266379RS7+2663S#6		B
vx07+3S#rvv6		B
vx0r2   c                     t        g dt        dd            }t        j                  |j                  d<   t        j                  |j                         |j                  d             y )	Nr>   rD   rE   rF   rH   r   r6   r   )	r   r   rK   rL   r&   r'   r(   r6   r#   r*   rM   s     r0   
test_ffillzTestFillnaPad.test_ffill  L    %Za-P
 VV

rxxz299G9+DEr2   c                     t        t        dddt        j                        dg      }|j	                         }t        j                  ||       y )Ni  r   r  )r   r   pytzr  r6   r'   r(   )r*   r+   rW   s      r0   ,test_ffill_mixed_dtypes_without_missing_dataz:TestFillnaPad.test_ffill_mixed_dtypes_without_missing_data  s;    $1TXX>BC
vv.r2   c                     t        g dt        dd            }t        j                  |j                  d<   t        j                  |j                         |j                  d             y )	Nr>   rD   rE   rF   rH   r   r!   r   )	r   r   rK   rL   r&   r'   r(   r!   r#   r%  s     r0   
test_bfillzTestFillnaPad.test_bfill  r'  r2   c                    t        t        j                  dt        j                  dt        j                  gg dt              }|j	                  dd      }|J t        t        j                  ddddgg dt              }t        j                  |dd  |dd         t        j                  |j                  d	         s'J t        j                  |j                  d	                y )
Nr@   rB   r   r   r   Tr   r   r   r   )	r   rK   rL   r  r#   r'   r(   isnanr&   )r*   r   r   r.   s       r0   test_pad_nanzTestFillnaPad.test_pad_nan  s    VVS"&&#rvv.0IQV
 xxudx;###VVS#sC(*C5
 	quhqrl3xxq	">BHHX]]1-=$>>"r2   c                 p   t        j                  d      }t        t         j                  j	                  d      j                  d      |      }|d d j                  |      }|j                  dd      }|d d j                  |      j                  d      }t         j                  |dd  t        j                  ||       |d	d  j                  |      }|j                  d
d      }|d	d  j                  |      j                  d      }t         j                  |d d t        j                  ||       y )N
   r   rH   r   rE   r   r`   r   r!   rJ   r   rK   r   r   r   r  standard_normalreindexr#   rL   r'   r(   r*   rI   r   rW   r.   s        r0   test_series_fillna_limitz&TestFillnaPad.test_series_fillna_limit  s   		"299((+;;B?uM2Au%e15Ra5=='..e.<
vx023&gQ7RS6>>%(//z/Bvv!
vx0r2   c                 0   t        j                  d      }t        t         j                  j	                  d      j                  d      |      }|d d j                  |dd      }|d d j                  |      j                  d      }t         j                  |dd  t        j                  ||       |d	d  j                  |d
d      }|d	d  j                  |      j                  d
      }t         j                  |d d t        j                  ||       y )Nr2  r   rH   r   rE   r3  r   r4  r5  rJ   r   r6  r9  s        r0   test_series_pad_backfill_limitz,TestFillnaPad.test_series_pad_backfill_limit  s    		"299((+;;B?uM2AuU!<Ra5=='..e.<
vx023jBRS6>>%(//z/Bvv!
vx0r2   c                     t        t        j                  j                  d      j	                  ddd            }|j                  dd      }|J t        j                  |j                  dd      |       y )	Nr   r   r   r   r6   Tr.  F)r   rK   r   r  r  r#   r'   r(   )r*   rc   r   s      r0   test_fillna_intzTestFillnaPad.test_fillna_int  se    RYY**1-66tS"EFzz$z?###
szz%zH#Nr2   c                    t        t        t        t        dddddddt        j                        g      }|j                         }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                  ||       y )Ni              i r  )r   r	   r   r)  r  r!   r'   r(   )r*   r   r,   r.   s       r0   $test_datetime64tz_fillna_round_issuez2TestFillnaPad.test_datetime64tz_fillna_round_issue  s     #xb"b"aQR
 r2r2q&Jr2r2q&Jr2r2q&J
 	vx0r2   c           	      |   t        t        j                  t        d      z
  dd      }t	        |j                  d            }t        |d<   t        t        d      t        d      t        d      t        d	      t        d
      gd      }t	        |      }|j                         }t        j                  ||       y )Nr2  )nanosecondsrE   ns)rG   r   r   z2262-04-11 23:47:16.854775797z2262-04-11 23:47:16.854775798z2262-04-11 23:47:16.854775800z2262-04-11 23:47:16.854775801r   )r   r   maxr   r   	to_periodr	   r   r6   r'   r(   )r*   r   rc   r   r.   r,   s         r0   test_fillna_parrzTestFillnaPad.test_fillna_parr  s    MMI"55qt
 S]]4()A9:9:9:9:9: 	
 #;
vx0r2   funcr   rJ   c                     t        g d      }t        j                  t              5   t	        ||              d d d        y # 1 sw Y   y xY w)N)r   r   r   )r   r'   rs   rt   getattr)r*   rK  rc   s      r0   test_pad_backfill_deprecatedz*TestFillnaPad.test_pad_backfill_deprecated5  s@     Y''6 	!GC 	! 	! 	!s   AAN)r  r  r  r#  r&  r*  r,  r0  r:  r<  r>  rD  rJ  r7   r  r  rN  rQ   r2   r0   r!  r!    sa    1F/F?1$1 O1&1. [[VeZ%89! :!r2   r!  z#data, expected_data, method, kwargsr      rB   g      @r6   
limit_areainsider   )rP  r`   outsiderE   r!   c                     t        |       }t        |      } t        ||      di |}t        j                  ||       y )NrQ   )r   rM  r'   r(   )r   r  r   kwargsr   r.   rW   s          r0   test_ffill_bfill_limit_arearU  =  s>    F 	tAm$HWQ)&)F68,r2   ) r   r   r   numpyrK   r7   r)  pandasr   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr'   pandas.core.arraysr   r  filterwarningsr   r!  r  rL   rangerU  rQ   r2   r0   <module>r]     s           + PQ6 Q6Q6h DD! D!D!N ) VVRVVQ266266JVVRVVS#sCbffbffE8$		
 VVRVVQ266266JVVRVVS#rvvrvvsBFFBFFK#a0		
 VVRVVQ266266JVVRVVS"&&"&&"&&#sCH9%		
 VVRVVQ266266JVVRVVS"&&"&&"&&#sBFFK$q1		
 VVRVVRVVRVVRVVRVVRVVDVVRVVRVVRVVRVVRVVRVVD$q1		
 !H!H$q1		
 VVRVVQ266266JVVRVVS#sCbffbffE8$		
 VVRVVQ266266JVVRVVS"&&"&&#sBFFBFFK#a0		
 VVRVVQ266266J#sBFFBFFBFFCH9%		
 VVRVVQ266266JVVS#rvvrvvrvvsBFFBFFK$q1		
o=@B-C@B-r2   