
    .i                        d dl m Z mZmZ d dlZd dlZd dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZ d dlmZ d dlmZ  G d d      Z G d d      Zej2                  j5                  d	ej6                  ej6                  d
ej6                  ej6                  ej6                  dej6                  ej6                  g	ej6                  ej6                  dddddej6                  ej6                  g	dddifej6                  ej6                  d
ej6                  ej6                  ej6                  dej6                  ej6                  g	ej6                  ej6                  ddej6                  ej6                  dej6                  ej6                  g	ddddfej6                  ej6                  d
ej6                  ej6                  ej6                  dej6                  ej6                  g	ej6                  ej6                  dej6                  ej6                  ej6                  dddg	dddifej6                  ej6                  d
ej6                  ej6                  ej6                  dej6                  ej6                  g	ej6                  ej6                  dej6                  ej6                  ej6                  ddej6                  g	ddddfej6                  ej6                  ej6                  ej6                  ej6                  ej6                  ej6                  gej6                  ej6                  ej6                  ej6                  ej6                  ej6                  ej6                  gddddf ed       ed      ddddfej6                  ej6                  d
ej6                  ej6                  ej6                  dej6                  ej6                  g	ej6                  ej6                  dddddej6                  ej6                  g	dddifej6                  ej6                  d
ej6                  ej6                  ej6                  dej6                  ej6                  g	ej6                  ej6                  dej6                  ej6                  ddej6                  ej6                  g	ddddfej6                  ej6                  d
ej6                  ej6                  ej6                  dej6                  ej6                  g	dddej6                  ej6                  ej6                  dej6                  ej6                  g	dddifej6                  ej6                  d
ej6                  ej6                  ej6                  dej6                  ej6                  g	ej6                  ddej6                  ej6                  ej6                  dej6                  ej6                  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_arrayc                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                  j                  d
ddg      ej                  j                  dddg      d               Zej                  j                  d
d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j4                  ej4                  gfddd#ddddej4                  gf ed      dej4                  dej4                  ej4                  gf edd"g$      dddej4                  ej4                  gf eddd#      ddddej4                  gf eddgd%d&g$      dej4                  dddgfg      d'        Zej                  j                  dg d(g d)fg d*g d+f eg d*g d,-      g d+fg      d.        Zd/ Zej                  j                  d0e d1d2g      ej                  j                  d
ddg      d3               Z!d4 Z"d5 Z#d6 Z$d7 Z%ej                  j                  d8g d9d:g d;d<d:gfd<d:ej4                  d<gd:g d;d<d:gfg      d=        Z&y)>TestSeriesFillNAc                     t        dddt        j                  gd      }|j                         }|j	                  |j
                  d         }|j                         }|j                  d   |j                  d<   t        j                  ||       t        j                  ||       t        d|i      }|j                         }|j	                  |j
                  d         }t        d|i      }t        j                  ||       t        j                  ||       t        t        j                  dddgd      }|j                         }|j	                  |d         }|j                         }|d   |d<   t        j                  ||       t        j                  ||       t        d|i      }|j                         }|j	                  |d         }t        d|i      }t        j                  ||       t        j                  ||       y )	Nr         M8[ns]dtypevalue   A)r   r	   _valueffillfillnavaluescopyiloctmassert_series_equalr   assert_frame_equalbfill)selfseriesfilledfilled2expecteddfs         e/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/series/methods/test_fillna.pytest_fillna_natz TestSeriesFillNA.test_fillna_nat   s   Aq#**-X>--fmmA&6-7;;=#==+a
vx0
w1V}%))&--"2)3c8_-
fh/
gx0Q1-X>--fQi-0;;=qk
vx0
w1V}%))&)),c8_-
fh/
gx0    c                 ,   t        g dt        dd            }t        j                  ||j	                                t
        j                  |j                  d<   t        g d|j                        }t        j                  |j	                         |       t        g d|j                        }t        j                  |j                         |       t        g d	|j                        }t        j                  |j                  d
      |       y )N)              ?       @      @      @z
2020-01-01   )periodsindexr   )r2   r3   r3   r5   r6   )r2   r3   r5   r5   r6   )r2   r3   g      @r5   r6   r   )r   r   r$   r%   r   npnanr#   r:   r'   r    )r(   tsexps      r.   test_fillnazTestSeriesFillNA.test_fillnaA   s    %Za-P
 	r288:.VV
.bhh?
rxxz3/.bhh?
rxxz3/.bhh?
ryyqy137r0   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   r3    r   r   )r   r      r7   r9   )r   r;   r<   r    r$   r%   objectr(   s1s2resultr,   s        r.   test_fillna_nonscalarz&TestSeriesFillNA.test_fillna_nonscalarS   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*r0   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   r4   )r   listr;   r<   r    r$   r%   rD   s        r.   test_fillna_alignsz#TestSeriesFillNA.test_fillna_alignsk   sY    ItE{+QNDK02+tE{3
vx0r0   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 )NrJ   r9   i  r   limitr   r   r;   r<   r    r$   r%   r(   serrG   r,   s       r.   test_fillna_limitz"TestSeriesFillNA.test_fillna_limitr   s    RVV9-Cq)3/yA
vx0Cq)3RVV,I>
vx0r0   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   rB   float64r   rC   rR   )r(   valsvalrT   rG   r,   s         r.   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		5r0   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        y # 1 sw Y   y xY w)N20130101
US/Easterntz
2013-01-01rC   r   TFfoozInvalid valuematchr   )r   r   r	   r    r$   r%   wherer"   pytestraises	TypeError)r(   rT   rG   r,   ser2s        r.   test_fillna_consistencyz(TestSeriesFillNA.test_fillna_consistency   s#    i
+S12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]]9O< 	DG	 	 	s   EE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 )Nr]   2013010220130103 9:01:01M8[]r   r   )secondsr   i~  )daysrp   zm8[i ʚ;r   )r   r   diffr"   r    r   r   r$   assert_equalastyperC   r;   timedelta64r	   r<   r   r'   )	r(   frame_or_seriesunitrT   tdobjrG   r,   ress	            r.   test_timedelta_fillnaz&TestSeriesFillNA.test_timedelta_fillna   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,
)r0   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 )Nr]   rl   rm   r   )r   r   r;   r<   r   r$   r%   r'   rS   s       r.   test_datetime64_fillnaz'TestSeriesFillNA.test_datetime64_fillna  s    *%*%*%,-	
 A *%*%*%,-	
 	vx0 *%*%,-,-	
 	vx0r0   scalarFTr`   NUTCc                    t        ddd|      }t        d|      j                  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)r8   rw   r`   2016-02-03 04:05:06.789r_   msr8   rw   zM8[ms]zM8[ms, UTC]r   r   r   r   )	r   r   as_unitr   r	   r"   r    r$   r%   )r(   r`   r~   dtiitemvec	exp_dtyper,   rT   ri   rz   res2s               r.   2test_datetime64_fillna_mismatched_reso_no_roundingzCTestSeriesFillNA.test_datetime64_fillna_mismatched_reso_no_rounding1  s     qsrB2r:BB4Hqt4 "
H	4QQ0	BSkAxxzjj{{6#;'""31""42r0   c                    t        d      j                  d      }t        ddd      |z
  }t        d      j                  d      |z
  }t        |dd      }t	        ||d   |d	   gd
      }t	        |      }t
        |d<   |j                         }|j                  |      }	|j                  t	        |            }
|rt        j                  |	|       y t        j                  |
|       y )Nz
1970-01-01r   r   r   r   r   r   r   r   zm8[ms]r   r   )
r   r   r   r   r   r	   r"   r    r$   r%   )r(   r~   r=   tdir   r   r,   rT   ri   rz   r   s              r.   3test_timedelta64_fillna_mismatched_reso_no_roundingzDTestSeriesFillNA.test_timedelta64_fillna_mismatched_reso_no_roundingN  s     |$,,S1qs;b@23;;DABFdAD94QQ0ASkAxxzjj{{6#;'""31""42r0   c                     t        t        t        dgd      }t        g dd      }|j                         }t        j                  ||       y )N2013-08-05 15:30:00.000001r   r   )r   r   r   )r   r	   r'   r$   r%   )r(   rT   r,   rG   s       r.   test_datetime64_fillna_backfillz0TestSeriesFillNA.test_datetime64_fillna_backfillj  sI     c3 <=XN
 
 
vx0r0   r^   z
Asia/Tokyoc           	         t        t        d      t        t        d      t        gd| d      }t        g d      }|j                  t        d      j	                  d            }t        t        d      t        d      t        d      t        d      gd| d      }t        j                  ||       t        j                  t        |      |       |j                  t        d|	      j	                  d            }t        t        d      j	                  d      t        d|	      j	                  d      t        d      j	                  d      t        d|	      j	                  d      g      }t        j                  ||       t        j                  t        |      |       |j                  d
      }t        t        d      j	                  d      d
t        d      j	                  d      d
gt              }t        j                  ||       t        j                  t        |      |       |j                  t        d|	      j	                  d      t        d      j	                  d      d      }t        t        d      j	                  d      t        d|	      j	                  d      t        d      j	                  d      t        d      j	                  d      g      }t        j                  ||       t        j                  t        |      |       |j                  t        d      j	                  d      t        d      j	                  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      j	                  d            }t        t        d|	      j	                  d      t        d      j	                  d      t        d|	      j	                  d      t        d      j	                  d      g      }t        j                  ||       t        j                  t        |      |       |j                  t        d|	      j	                  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|	      j	                  d      d
t        d|	      j	                  d      d
gt              }t        j                  ||       t        j                  t        |      |       |j                  t        d|	      j	                  d      t        d      j	                  d      d      }t        t        d|	      j	                  d      t        d|	      j	                  d      t        d|	      j	                  d      t        d      j	                  d      g      }t        j                  ||       t        j                  t        |      |       |j                  t        d|	      j	                  d      t        d|	      j	                  d      d      }t        t        d|	      t        d|	      t        d|	      t        d|	      g      j                  j	                  |      }t        j                  ||       t        j                  t        |      |       |j                  t        d      j	                  d            }t        t        d|	      j	                  d      t        d      j	                  d      t        d|	      j	                  d      t        d      j	                  d      g      }t        j                  ||       t        j                  t        |      |       |j                  t        dd	      j	                  d            }t        t        d|	      j	                  d      t        dd	      j	                  d      j                  |      t        d|	      j	                  d      t        dd	      j	                  d      j                  |      g      j                  j	                  |      }t        j                  ||       t        j                  t        |      |       y )N2011-01-01 10:002011-01-03 10:00rn   ro   r   )FTFT2011-01-02 10:00r   r_   AAAz2011-01-04 10:00r   r   zdatetime64[z, )r   r   r   r   r]   ra   
US/Pacific)r   r   r	   r    r   r$   r%   r   rC   r   r   to_pydatetimedt
tz_convert)r(   r`   rw   rT   null_locrG   r,   idxs           r.   test_datetime64_tz_fillnaz*TestSeriesFillNA.test_datetime64_tz_fillnaz  s    ,-,-	 vQ-
 45I&89AA#FG,-,-,-,-	 vQ-
 	x0
tCy(3I&8R@HHMN,-55c:,4<<SA,-55c:,4<<SA	
 	x0
tCy(3E",-55c:,-55c:	 
 	x0
tCy(3/B7??D/088=
 ,-55c:,4<<SA,-55c:,-55c:	
 	x0
tCy(3/088=/088=
 ,-,-,-,-	 vQ-
 	x0
tCy(3 &8#>2

'$- 	 Skyyk$r"Q7777
tCy(3I&89AA#FG,4<<SA,-55c:,4<<SA,-55c:	
 	x0
tCy(3I&8R@HHMN 
 '$- 	 #;
x0
tCy(3I&8R@NNPQ 
 '$- 	 #;
x0
tCy(3E",4<<SA,4<<SA	 
 	x0
tCy(3/B7??D/088=
 ,4<<SA,4<<SA,4<<SA,-55c:	
 	x0
tCy(3/B7??D/B7??D
 ,4,4,4,4	
 "WWT] 	 	x0
tCy(3 Ij199#>?,4<<SA,'//4,4<<SA,'//4	
 	x0
tCy(3 Ij\BJJ3OP,4<<SA,<8@@EPPQST,4<<SA,<8@@EPPQST	
 "WWT] 	 	x0
tCy(3r0   c                 ,   t        t        d      j                  d      t        g      }t        t        d      j                  d      t        d      j                  d      g      }t	        j
                  |j                         |       t        t        t        d      j                  d      g      }t        t        d      j                  d      t        d      j                  d      g      }t	        j
                  |j                         |       y )Nz2012-11-11 00:00:00+01:00r   )r   r   r   r	   r$   r%   r   r'   )r(   rT   r>   s      r.   test_fillna_dt64tz_with_methodz/TestSeriesFillNA.test_fillna_dt64tz_with_methodL  s     i ;<DDSI3OP56>>sC56>>sC
 	syy{C0c9%@AII#NOP56>>sC56>>sC
 	syy{C0r0   c                     t        t        j                  t        d      gddg      }|j	                  t        d            }t        t        d      ddgd      }t        j                  ||       y )Nz1 daysr   Br9   r   zm8[us])r:   r   )r   r;   r<   r   r    r   r$   r%   rS   s       r.   test_fillna_pytimedeltaz(TestSeriesFillNA.test_fillna_pytimedeltaa  sY    bffi123*EIaL))H-c3ZxP
vx0r0   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(   rT   rz   r>   s       r.   test_fillna_periodz#TestSeriesFillNA.test_fillna_periodi  ss    fYS16%c3JKLjj	45fYS16)#3NOP
sC(yyK'''r0   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 )Nr]   rl   rm   r   20130104)r   r   r;   r<   r    r$   rs   r	   )r(   rv   rT   ry   rG   r,   s         r.   test_fillna_dt64_timestampz+TestSeriesFillNA.test_fillna_dt64_timestampr  s    *%*%*%,-	
 Ac" Ij12*%*%*%,-	
 #8,
)C
)r0   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	   r;   
datetime64r    r$   r%   )r(   rT   rZ   rG   r,   s        r.   test_fillna_dt64_non_naoz)TestSeriesFillNA.test_fillna_dt64_non_nao  so    i-sIl4KLMmmL$/C|$i&=y?VW
 	vx0r0   c                     t        t        j                  dt        j                  dt        j                  gg d      }|j                         }|j	                  dd      }||u sJ |j	                  d      }t        j                  ||       y )Nr3   r5   zabcdr   T)r   inplacer   )r   r;   r<   r"   r    r$   r%   )r(   xyrG   r,   s        r.   test_fillna_numeric_inplacez,TestSeriesFillNA.test_fillna_numeric_inplace  so    BFFCbff57PQFFH40{{88!8$
q(+r0   zfill_value, expected_outputr   )r   r   r   r   r   r   )r   r   rB   )r   r   r   r   r   r   r   r9   r   rB   c                    dt         j                  dt         j                  t         j                  g}t        t        |ddg            }t        t        |ddg            }|j	                  |      }t        j                  ||       y )Nr   r   
categoriesr;   r<   r   r   r    r$   r%   r(   
fill_valueexpected_outputdatarT   r>   rG   s          r.   test_fillna_categoricalz(TestSeriesFillNA.test_fillna_categorical  sh      RVVS"&&"&&1[3*=>[c3ZHIJ'
vs+r0   r   r   r   r   e)r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   c                 *   dt         j                  dt         j                  t         j                  g}t        t        |g d            }t        t        |g d            }t        |      }|j	                  |      }t        j                  ||       y )Nr   r   r   r   r   r   s          r.   +test_fillna_categorical_with_new_categoriesz<TestSeriesFillNA.test_fillna_categorical_with_new_categories  sl     RVVS"&&"&&1[2KLM[=VWXJ'
J'
vs+r0   c                 
   dt         j                  dt         j                  t         j                  g}t        t        |ddg            }|j                  }d}t        j                  t        |      5  |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 categoryrc   r   z!Length of 'value' does not match.r   C"value" parameter must be a scalar or dict, but you passed a "list"D"value" parameter must be a scalar or dict, but you passed a "tuple")r   r   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame")r;   r<   r   r   _valuesrf   rg   rh   r    
ValueErrorr   )r(   r   rT   catmsgmsg2s         r.   test_fillna_categorical_raisesz/TestSeriesFillNA.test_fillna_categorical_raises  s   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   float32rX   c                    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   r4   Tr   )r   r;   r<   r   typer    r$   r%   r   to_numpymaskre   )
r(   r   any_real_numpy_dtyper~   rT   fill_valuesrG   r,   r   rz   s
             r.   test_fillna_float_castingz*TestSeriesFillNA.test_fillna_float_casting  s    bffc]%0aV+?@%++003KK(3*E2
vx0bffc]%0xxz""$D	
sH-bffc]%0{D1
sH-bffc]%0ii{+
sH-r0   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   r3   )r   r;   r<   r   r    r$   r%   rS   s       r.    test_fillna_f32_upcast_with_dictz1TestSeriesFillNA.test_fillna_f32_upcast_with_dict  sP    bffc]"**5QF#3*BJJ7
vx0r0   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   rc   r   r   )r   r   )	r   r;   randomdefault_rngintegersrf   rg   rh   r    )r(   rT   r   s      r.   test_fillna_listlike_invalidz-TestSeriesFillNA.test_fillna_listlike_invalid  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 ]9  }t        j                  t        |      5  |j                  d|       d d d        ; y # 1 sw Y   Fx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   r3   r4   rc   r   rP   )r   joinrf   rg   r   r    )r(   rT   r   rQ   s       r.   $test_fillna_method_and_limit_invalidz5TestSeriesFillNA.test_fillna_method_and_limit_invalid   sh    _%hh
 ' 	+Ez5 +

1E
*+ +	++ +s   A  A)	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   )r8   r`   r   i  r   tzinfor   r   r_   zdateutil/US/Pacificr   r   r   )r   r   r"   r	   r    r   r   utcr$   r%   r   r   r   r   kindr`   )r(   rT   r,   rG   r=   ri   s         r.   +test_fillna_datetime64_with_timezone_tzinfoz<TestSeriesFillNA.test_fillna_datetime64_with_timezone_tzinfo.  s     Ze<=88:AHT1aEF
vx0 |5ckk,,-BCDzz#%%%R!WbmmDJJMM2DG<**
 	vx0r0   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   rT   r*   rG   r,   s
             r.   (test_fillna_categorical_accept_same_typez9TestSeriesFillNA.test_fillna_categorical_accept_same_typeB  sZ     % Sk  .CF#}9LM
##FH5r0   )'__name__
__module____qualname__r/   r?   rH   rN   rU   r[   rj   r{   r}   rf   markparametrizer   r   r   r   r   r   r   r   r   r   r;   r<   r   r   r   r   r   floatr   r   r   r   r   r   rA   r0   r.   r   r      s$   #1J8$+011	5:h*T!1F [[	
 [[TD%=13 23* [[	
33*1  [[TL,#?@O4 AO4b1*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		
,, [[%&(AB&(AB-:S *			
,,8> [[Wui&CD[[Xe}5. 6 E.01+1( [[A"C)=SzJ3$c+?#sL	
	6	6r0   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
TestFillnaPadc                    t        t        j                  dt        j                  dt        j                  gg d      }|j                         }t        t        j                  ddddg|j                        }t        j                  ||       |j                         }t        ddddt        j                  g|j                        }t        j                  ||       y )Nr3   r5   r   )r   r;   r<   r   r:   r$   r%   r'   )r(   rT   r*   r,   s       r.   test_fillna_bugzTestFillnaPad.test_fillna_bugV  s    bffc266379RS2663S#6		B
vx03S#rvv6		B
vx0r0   c                     t        t        dddt        j                        dg      }|j	                         }t        j                  ||       y )Ni  r   r   )r   r   r   r   r   r$   r%   )r(   r)   rG   s      r.   ,test_ffill_mixed_dtypes_without_missing_dataz:TestFillnaPad.test_ffill_mixed_dtypes_without_missing_data`  s;    $1X\\BAFG
vv.r0   c                    t        t        j                  dt        j                  dt        j                  gg dt              }|j	                  d      }||u sJ t        t        j                  ddddgg dt              }t        j                  |dd  |dd         t        j                  |j                  d         s'J t        j                  |j                  d                y )	Nr3   r5   r   r   Tr   r   r   )	r   r;   r<   r   r   r$   r%   isnanr#   )r(   r   rG   r,   s       r.   test_pad_nanzTestFillnaPad.test_pad_nanf  s    VVS"&&#rvv.0IQV
 &{{VVS#sC(*C5
 	quhqrl3xxq	">BHHX]]1-=$>>"r0   c                 d   t        j                  d      }t        t         j                  j	                  d      j                  d      |      }|d d j                  |      }|j                  d      }|d d j                  |      j                         }t         j                  |dd  t        j                  ||       |dd  j                  |      }|j                  d      }|dd  j                  |      j                         }t         j                  |d d t        j                  ||       y )	N
   r   r9   r7   rP   r   r;   aranger   r   r   standard_normalreindexr   r<   r$   r%   r'   r(   r:   r   rG   r,   s        r.   test_series_fillna_limitz&TestFillnaPad.test_series_fillna_limitt  s    		"299((+;;B?uM2Au%A&Ra5=='--/
vx023&A&RS6>>%(..0vv!
vx0r0   c                 (   t        j                  d      }t        t         j                  j	                  d      j                  d      |      }|d d j                  |dd      }|d d j                  |      j                         }t         j                  |dd  t        j                  ||       |dd  j                  |d	d      }|dd  j                  |      j                         }t         j                  |d d
 t        j                  ||       y )Nr	  r   r9   padr7   )methodrQ   r
  r  backfillr   r  r  s        r.   test_series_pad_backfill_limitz,TestFillnaPad.test_series_pad_backfill_limit  s    		"299((+;;B?uM2AuU!<Ra5=='--/
vx023jBRS6>>%(..0vv!
vx0r0   c                     t        t        j                  j                  d      j	                  ddd            }|j                  d      }||u sJ t        j                  |j                  d      |       y )Nr   r   r   r   Tr   F)r   r;   r   r   r   r   r$   r%   )r(   rT   rG   s      r.   test_fillna_intzTestFillnaPad.test_fillna_int  sa    RYY**1-66tS"EF4(}}
syyy7=r0   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       r.   $test_datetime64tz_fillna_round_issuez2TestFillnaPad.test_datetime64tz_fillna_round_issue  s     #xb"b"aUV
 r2r2q&Nr2r2q&Nr2r2q&N
 	vx0r0   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 )Nr	  )nanosecondsr7   ns)r8   r   r   z2262-04-11 23:47:16.854775797z2262-04-11 23:47:16.854775798z2262-04-11 23:47:16.854775800z2262-04-11 23:47:16.854775801r   )r   r   maxr   r   	to_periodr	   r   r   r$   r%   )r(   r   rT   arrr,   r*   s         r.   test_fillna_parrzTestFillnaPad.test_fillna_parr  s    MMI"55qt
 S]]4()A9:9:9:9:9: 	
 #;
vx0r0   N)r   r   r   r  r  r  r  r  r  r  r%  rA   r0   r.   r   r   U  s*    1/?1$1 >1&1r0   r   z#data, expected_data, method, kwargsr      r5   g      @r   
limit_areainsider   )r'  rQ   outsider7   r'   c                     t        |       }t        |      } t        ||      di |}t        j                  ||       y )NrA   )r   getattrr$   r%   )r   r   r  kwargsr   r,   rG   s          r.   test_ffill_bfill_limit_arear-    s>    F 	tAm$HWQ)&)F68,r0   )r   r   r   numpyr;   rf   pandasr   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr$   pandas.core.arraysr   r   r   r   r   r<   ranger-  rA   r0   r.   <module>r4     s          +w6 w6to1 o1d ) 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-r0   