
    Mhۅ                         S SK rS SKrS SKJs  Jr  S SKrS SKJ	r	J
r
JrJrJr  S SKJr  \R"                  " / SQS9S 5       r\R"                  " / SQS9S 5       r " S S	5      rg)
    N)Index
MultiIndexSeries
date_rangeisna)linearindexvaluesnearestslinearzero	quadraticcubicbarycentrickrogh
polynomialsplinepiecewise_polynomialfrom_derivativespchipakimacubicspline)paramsc                 8    U R                   nUS;   a  SS0O0 nX4$ )zFixture that returns an (method name, required kwargs) pair.

This fixture does not include method 'time' as a parameterization; that
method requires a Series with a DatetimeIndex, and is generally tested
separately from these non-temporal methods.
r   r   order   paramrequestmethodkwargss      ^/var/www/html/env/lib/python3.13/site-packages/pandas/tests/series/methods/test_interpolate.pynontemporal_methodr%      s(    8 ]]F#'??gq\RF>    )r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                 8    U R                   nUS;   a  SS0O0 nX4$ )zFixture that returns a (method name, required kwargs) pair to
be tested for various Index types.

This fixture does not include methods - 'time', 'index', 'nearest',
'values' as a parameterization
r   r   r   r   r    s      r$   interp_methods_indr(   2   s(    2 ]]F#'??gq\RF>r&   c                      \ rS rSr\R
                  R                  SS9S 5       rS rS r	S r
S rS	 rS
 rS r\R
                  R                  S0 \R                   " SSS.\R$                  " S5      S9/5      S 5       rS rS r\R
                  R                  S0 \R                   " SSS.\R$                  " S5      S9/5      S 5       rS rS rS rS rS r\R
                  R                  SSS/5      S 5       rS r\R
                  R                  S S!S"/5      S# 5       rS$ rS% r S& r!S' r"S( r#\R
                  R                  S)/ S*Q5      S+ 5       r$\R
                  R                  S,\%RL                  \%RL                  S-\%RL                  \%RL                  \%RL                  S.\%RL                  \%RL                  /	\%RL                  \%RL                  S/S/S/S/S0\%RL                  \%RL                  /	S1S2S3.4\%RL                  \%RL                  S-\%RL                  \%RL                  \%RL                  S.\%RL                  \%RL                  /	\%RL                  \%RL                  S/S/\%RL                  \%RL                  S0\%RL                  \%RL                  /	S1S2SS4.4\%RL                  \%RL                  S-\%RL                  \%RL                  \%RL                  S.\%RL                  \%RL                  /	\%RL                  \%RL                  S/\%RL                  \%RL                  \%RL                  S0S0S0/	S1S5S3.4\%RL                  \%RL                  S-\%RL                  \%RL                  \%RL                  S.\%RL                  \%RL                  /	\%RL                  \%RL                  S/\%RL                  \%RL                  \%RL                  S0S0\%RL                  /	S1S5SS4.4\%RL                  \%RL                  \%RL                  \%RL                  \%RL                  \%RL                  \%RL                  /\%RL                  \%RL                  \%RL                  \%RL                  \%RL                  \%RL                  \%RL                  /S1S5SS4.4\'" S65      \'" S65      S1S5SS4.445      S7 5       r(\R
                  R                  S,\%RL                  \%RL                  S-\%RL                  \%RL                  \%RL                  S.\%RL                  \%RL                  /	\%RL                  \%RL                  S/S0S0S0S0\%RL                  \%RL                  /	S8S2S3.4\%RL                  \%RL                  S-\%RL                  \%RL                  \%RL                  S.\%RL                  \%RL                  /	\%RL                  \%RL                  S/\%RL                  \%RL                  S0S0\%RL                  \%RL                  /	S8S2SS4.4\%RL                  \%RL                  S-\%RL                  \%RL                  \%RL                  S.\%RL                  \%RL                  /	S/S/S/\%RL                  \%RL                  \%RL                  S0\%RL                  \%RL                  /	S8S5S3.4\%RL                  \%RL                  S-\%RL                  \%RL                  \%RL                  S.\%RL                  \%RL                  /	\%RL                  S/S/\%RL                  \%RL                  \%RL                  S0\%RL                  \%RL                  /	S8S5SS4.445      S9 5       r)S: r*S; r+S< r,S= r-\R
                  R                  S>S?\R                   " S@\R$                  " S5      S9/5      SA 5       r.SB r/\R
                  R                  SCSDS1/5      SE 5       r0SF r1SG r2\R
                  R                  SCSSH/5      SI 5       r3\R
                  R                  SJSSKSSL\%RL                  /5      SM 5       r4SN r5SO r6SP r7SQ r8SR r9SS r:ST r;\R
                  R                  SU/ SVQ\<Rz                  " SWSXSY9\<R|                  " SSXSZ9/5      S[ 5       r?S\ r@\R
                  R                  S]S@/ S^Q4S?/ S_Q4/5      S` 5       rASa rBSb rCScrDg!)dTestSeriesInterpolateDataP   z)EA.fillna does not handle 'linear' methodreasonc                 (   [        [        SSS95      nUR                  5       n[        R                  US'   UR
                  R                  S5      nUR                  5       nUR
                  R                  S5      n[        R                  " XE5        g )Nz
2012-01-01   )periods   D)
r   r   copypdNaTdt	to_periodinterpolatetmassert_series_equal)selforigserser_perres_perexpected_pers         r$   test_interpolate_period_values8TestSeriesInterpolateData.test_interpolate_period_valuesQ   sq    jq9:iikA &&""3'%%'ww((-
w5r&   c                 8   [        [        R                  " [        U5      [        S9UR
                  5      nUR                  5       n[        R                  USS& UR                  SS9n[        R                  " XB5        [        UR
                   Vs/ s H  oUR                  5       PM     snUR
                  S9R                  [        5      nUR                  5       n[        R                  USS& UR                  SS9n[        R                  " X5        g s  snf )Ndtyper/   
   r   r"   r	   time)r   nparangelenfloatr	   r3   nanr8   r9   r:   	toordinalastype)	r;   datetime_serieststs_copylinear_interpdord_tsord_ts_copytime_interps	            r$   test_interpolate*TestSeriesInterpolateData.test_interpolate]   s    BIIc/2%@/BWBWX'')"++8+<
}1$3$9$9:$9q[[]$9:/BWBW

&- 	 kkmFFAb!--V-<
{3 ;s   Dc                     [        SSS[        R                  /5      nSn[        R                  " [
        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)Nr   r   r1   zGtime-weighted interpolation only works on Series.* with a DatetimeIndexmatchrI   rG   r   rJ   rN   pytestraises
ValueErrorr8   )r;   non_tsmsgs      r$   /test_interpolate_time_raises_for_non_timeseriesITestSeriesInterpolateData.test_interpolate_time_raises_for_non_timeseriesp   sK     Aq"&&)*W]]:S1f- 211s   A
A c                 l   [         R                  " S5        [        / SQ5      n[        / SQ[        / SQ5      S9nUR                  R                  [        / SQ5      5      R                  [        5      nUR                  U5      R                  SS9R                  S	S
 n[        R                  " XB5        g )NscipyrF            	      &@g     &@g      '@g     '@      (@g     (@g      )@g     )@      *@	      ?      ?      ?      ?       @      @      @      @      @rH   rr   rs   rt   rv   rw   rx   r   rG   r      )r_   importorskipr   r   r	   unionrP   rM   reindexr8   locr9   r:   )r;   r=   expected	new_indexresults        r$   test_interpolate_cubicspline6TestSeriesInterpolateData.test_interpolate_cubicsplinex   s    G$%&KIJ

 IIOOE*L$MNUU
	 Y'33=3IMMaPQR
v0r&   c                    [         R                  " S5        [        [        R                  " [        R
                  R                  S5      R                  SS95      5      nUR                  R                  [        / SQ5      5      R                  [        5      nUR                  U5      R                  SS9nUR                  SS	   g )
Nrg   r1   d   )size)g     H@g     H@g     H@g      I@g     @I@g     `I@r   rG   1   3   )r_   r|   r   rJ   sortrandomdefault_rnguniformr	   r}   r   rP   rM   r~   r8   r   )r;   r=   r   interp_ss       r$   test_interpolate_pchip0TestSeriesInterpolateData.test_interpolate_pchip   s    G$RWWRYY2215==3=GHI IIOO:;

&- 	 ;;y)55W5ERr&   c                    [         R                  " S5        [        / SQ5      n[        / SQ[        / SQ5      S9nUR                  R                  [        / SQ5      5      R                  [        5      nUR                  U5      R                  SS9n[        R                  " UR                  S	S
 U5        [        / SQ[        / SQ5      S9nUR                  R                  [        / SQ5      5      R                  [        5      nUR                  U5      R                  SS	S9n[        R                  " UR                  S	S
 U5        g )Nrg   rh   rl   rp   rH   rz   r   rG   r   r{   )	rm   rq   rq   rq   rn   rq   rq   rq   ro   )r"   derr_   r|   r   r   r	   r}   rP   rM   r~   r8   r9   r:   r   r;   r=   r   r   r   s        r$   test_interpolate_akima0TestSeriesInterpolateData.test_interpolate_akima   s   G$%& KIJ
 IIOOE*L$MNUU
	 ;;y)55W5E
x||Aa0(; <IJ
 IIOOE*L$MNUU
	 ;;y)55W!5L
x||Aa0(;r&   c                 n   [         R                  " S5        [        / SQ5      n[        / SQ[        / SQ5      S9nUR                  R                  [        / SQ5      5      R                  [        5      nUR                  U5      R                  SS9n[        R                  " UR                  S	S
 U5        g )Nrg   rh   rl   rp   rH   rz   r   rG   r   r{   r   r   s        r$   %test_interpolate_piecewise_polynomial?TestSeriesInterpolateData.test_interpolate_piecewise_polynomial   s    G$%&KIJ

 IIOOE*L$MNUU
	 ;;y)55=S5T
x||Aa0(;r&   c                 n   [         R                  " S5        [        / SQ5      n[        / SQ[        / SQ5      S9nUR                  R                  [        / SQ5      5      R                  [        5      nUR                  U5      R                  SS9n[        R                  " UR                  S	S
 U5        g )Nrg   rh   rl   rp   rH   rz   r   rG   r   r{   r   r   s        r$   !test_interpolate_from_derivatives;TestSeriesInterpolateData.test_interpolate_from_derivatives   s    G$%&KIJ

 IIOOE*L$MNUU
	 ;;y)55=O5P
x||Aa0(;r&   r#   r   r   r"   r   rg   )marksc                 *   [        [        R                  [        R                  /5      n[        R                  " UR
                  " S0 UD6U5        [        / [        S9R                  5       n[        R                  " UR
                  " S0 UD6U5        g )NrD    )r   rJ   rN   r9   r:   r8   object)r;   r#   ss      r$   test_interpolate_corners2TestSeriesInterpolateData.test_interpolate_corners   sh     BFFBFF#$
q}}6v6:2V$002
q}}6v6:r&   c                    [        [        R                  [        R                  " [        R                  R                  S5      R	                  S5      5      S9n[        R                  R                  S5      R                  S5      UR                  S S S2'   UR                  R                  R                  [        5      nUR                  SS9nUR                  5       n[        UR                  5      nU) n[        [        R                  " X%   X&   UR                  U   5      UR                  U   S9n[         R"                  " X5   U5        UR                  SS9n[         R"                  " Xs5        [         R"                  " Xu   U5        g )	Nr1      rH   rF   r{   r	   rG   r
   )r   rJ   rN   r   r   r   standard_normalr   r	   r
   rP   rM   r8   r3   r   interpr9   r:   )r;   r   valsr   r   badgoodother_results           r$   test_interpolate_index_values7TestSeriesInterpolateData.test_interpolate_index_values   s   266)>)>q)A)H)H)L!MNYY**1-==bAcc
ww~~$$U+g.6688??#tIIdiQXXd^<AGGCL
 	v{H5 }}H}5
|4
|0(;r&   c                    [        SS[        R                  [        R                  [        R                  S/5      nSn[        R                  " [
        US9   UR                  SS9  S S S 5        g ! , (       d  f       g = f)Nr   r{   ri   zStime-weighted interpolation only works on Series or DataFrames with a DatetimeIndexr\   rI   rG   r^   r;   r   rc   s      r$   test_interpolate_non_ts1TestSeriesInterpolateData.test_interpolate_non_ts   sY    Aq"&&"&&"&&"56# 	 ]]:S1MMM( 211s   A00
A>c                     [        SS[        R                  S/5      nUR                  " S0 UD6n[        / SQ5      n[        R
                  " X45        g )Nr   r   r{           rq   ru   ry   r   r   rJ   rN   r8   r9   r:   )r;   r#   r   r   r   s        r$   test_nan_interpolate.TestSeriesInterpolateData.test_nan_interpolate   sE     Aq"&&!$%((./
v0r&   c                     [        SS[        R                  S// SQS9nUR                  5       n[        / SQ/ SQS9n[        R
                  " X#5        g )Nr   r1      )r   r{   r/   	   rH   )rq   ru   ry         @r   r;   r   r   r   s       r$   test_nan_irregular_index2TestSeriesInterpolateData.test_nan_irregular_index
  sA    Aq"&&!$L9.lC
v0r&   c                     [        SSS[        R                  /[        S5      S9nUR	                  5       n[        / SQ[        S5      S9n[
        R                  " X#5        g )Nr   r   r1   abcdrH   )r   rq   ru   ru   )r   rJ   rN   listr8   r9   r:   r   s       r$   test_nan_str_index,TestSeriesInterpolateData.test_nan_str_index  sI    Aq!RVV$DL9.d6lC
v0r&   c                     [         R                  " S5        [        SS[        R                  S// SQS9nUR                  SS9n[        / S	Q/ SQS9n[        R                  " X#5        g )
Nrg   r   r      )r   r1   r{   r   rH   r   rG   )rq   r         "@g      0@r_   r|   r   rJ   rN   r8   r9   r:   )r;   sqr   r   s       r$   test_interp_quad*TestSeriesInterpolateData.test_interp_quad  sT    G$Q2662&l;{3/|D
v0r&   c                    [         R                  " S5        [        SS[        R                  S[        R                  S/5      n[        / SQ5      nUR                  SS9n[        R                  " X25        S	n[        R                  " [        US
9   UR                  SSS9nS S S 5        [        R                  " X25        [        / SQ5      nUR                  SS9n[        R                  " X2R                  S5      5        [        R                  " [        US
9   UR                  SSS9nS S S 5        [        R                  " X25        [        / SQ5      nUR                  SS9n[        R                  " X2R                  S5      5        [        R                  " [        US
9   UR                  SSS9nS S S 5        [        R                  " X25        [        / SQ5      nUR                  SS9n[        R                  " X25        [        R                  " [        US
9   UR                  SSS9nS S S 5        [        R                  " X25        [        / SQ5      nUR                  SS9n[        R                  " X25        g ! , (       d  f       GN= f! , (       d  f       GNm= f! , (       d  f       N= f! , (       d  f       N= f)Nrg   r   r{   rj      )rq   ry   g      @rn   g     2@      9@r   rG   z:The 'downcast' keyword in Series.interpolate is deprecatedr\   infer)r"   downcast)r   r{   r{   rj   rj   r   r   rM   r   )r   ry   g:/KK@rn   gL82@r   r   )rq   ry   g333333@rn   g3333332@r   r   )r_   r|   r   rJ   rN   r8   r9   r:   assert_produces_warningFutureWarningrP   r;   r   r   r   rc   s        r$   test_interp_scipy_basic1TestSeriesInterpolateData.test_interp_scipy_basic  s   G$Aq"&&"bffb12;<i0
v0J''SA]])g]FF B
v0/0i0
vw'?@''SA]])g]FF B
v0/0f-
vw'?@''SA]]&7]CF B
v0 CDk2
v0''SA]]+]HF B
v0;<g.
v0? BA BA BA BAs0   I?J#J#J4?
J
J #
J14
Kc                    [        SS[        R                  [        R                  [        R                  S/5      n[        SSSS[        R                  S/5      nUR                  S	S
S9n[        R
                  " X25        g )Nr   r{   ri   rq   ry         @      @rm   r   r1   r"   limitr   r;   r   r   r   s       r$   test_interp_limit+TestSeriesInterpolateData.test_interp_limitG  s`    Aq"&&"&&"&&"563S#rvvt<=ha8
v0r&   r   r   c                     [        SS[        R                  S/5      nUu  pE[        R                  " [
        SS9   UR                  " SX$S.UD6  S S S 5        g ! , (       d  f       g = f)Nr   r1   r   zLimit must be greater than 0r\   r   r"   r   r^   )r;   r%   r   r   r"   r#   s         r$   *test_interpolate_invalid_nonpositive_limitDTestSeriesInterpolateData.test_interpolate_invalid_nonpositive_limitN  sR     Aq"&&!$%+]]:-KLMM??? MLLs   A
A'c                     [        SS[        R                  S/5      nUu  p4Sn[        R                  " [
        SS9   UR                  " SXSS.UD6  S S S 5        g ! , (       d  f       g = f)	Nr   r1   r   ru   zLimit must be an integerr\   r   r   r^   )r;   r%   r   r"   r#   r   s         r$   $test_interpolate_invalid_float_limit>TestSeriesInterpolateData.test_interpolate_invalid_float_limitV  sU    Aq"&&!$%+]]:-GHMM??? IHHs   A
A)invalid_methodNnonexistent_methodc                 ~   [        SS[        R                  S[        R                  S/5      nSU S3nUc  Sn[        R                  " [
        US9   UR                  US	9  S S S 5        [        R                  " [
        US9   UR                  US
S9  S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr   r{   rj   r   zmethod must be one of.* Got 'z	' insteadz%'method' should be a string, not Noner\   rG   r   r   r^   )r;   r   r   rc   s       r$   test_interp_invalid_method4TestSeriesInterpolateData.test_interp_invalid_method^  s    Aq"&&"bffb12-n-=YG!9C]]:S1MMM0 2
 ]]:S1MMrM: 21 21
 21s   BB.
B+.
B<c                 R   [        SS[        R                  S[        R                  S/5      nSnSn[        R                  " [
        US9   [        R                  " [        US9   UR                  SSS	9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)
Nr   r{   rj   r   z:'fill_value' is not a valid keyword for Series.interpolate"Series.interpolate with method=padr\   pad)
fill_valuer"   )
r   rJ   rN   r_   r`   ra   r9   r   r   r8   )r;   r=   rc   msg2s       r$   $test_interp_invalid_method_and_value>TestSeriesInterpolateData.test_interp_invalid_method_and_valuem  sw    aBFFB34J3]]:S1++MF1U; G 21FF 21s$   B%B6B
B	B
B&c                 T   [        SS[        R                  [        R                  [        R                  S/5      n[        SSSS[        R                  S/5      nUR                  S	S
SS9n[        R
                  " X25        UR                  S	S
SS9n[        R
                  " X25        g )Nr   r{   ri   rq   ry   r   r   rm   r   r1   forwardr"   r   limit_directionFORWARDr   r   s       r$   test_interp_limit_forward3TestSeriesInterpolateData.test_interp_limit_forwardw  s    Aq"&&"&&"&&"56 3S#rvvt<=haS
v0haS
v0r&   c           
      8   [        [        R                  SS[        R                  [        R                  [        R                  S[        R                  /5      n[        / SQ5      nUR                  SSS9n[        R
                  " X25        [        [        R                  SSSS	S
SS/5      nUR                  SSS9n[        R
                  " X25        [        SSSSS	S
S[        R                  /5      nUR                  SSS9n[        R
                  " X25        g )Nrq   ry   rm   )rq   rq   ry   r   r   r   rm   rm   r   bothr"   r   r   r   r   r   backwardr   r   s       r$   test_interp_unlimited/TestSeriesInterpolateData.test_interp_unlimited  s    BFFCbffbffbffdBFFKLDEhG
v02663S#sD$GHh	J
v03S#sCrvvFGh
K
v0r&   c                    [        SS[        R                  [        R                  [        R                  S/5      nSn[        R                  " [
        US9   UR                  SSSS	9  S S S 5        [        R                  " [
        US9   UR                  SSS
9  S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr   r{   ri   zVInvalid limit_direction: expecting one of \['forward', 'backward', 'both'\], got 'abc'r\   r   r1   abcr   r   r^   r   s      r$   test_interp_limit_bad_direction9TestSeriesInterpolateData.test_interp_limit_bad_direction  s    Aq"&&"&&"&&"56/ 	 ]]:S1MMEMJ 2 ]]:S1MM5MA 21	 21 21s   B$
B5$
B25
Cc                    [        [        R                  [        R                  S[        R                  [        R                  [        R                  S[        R                  [        R                  /	5      n[        [        R                  [        R                  SSSSS[        R                  [        R                  /	5      nUR                  SS	S
9n[        R
                  " X25        [        [        R                  [        R                  SS[        R                  [        R                  S[        R                  [        R                  /	5      nUR                  SS	SS9n[        R
                  " X25        [        [        R                  [        R                  SS[        R                  SS[        R                  [        R                  /	5      nUR                  SS	SSS9n[        R
                  " X25        [        [        R                  [        R                  S[        R                  [        R                  [        R                  SSS/	5      nUR                  SSS
9n[        R
                  " X25        [        [        R                  [        R                  S[        R                  [        R                  [        R                  SS[        R                  /	5      nUR                  SSSS9n[        R
                  " X25        [        [        R                  SS[        R                  [        R                  [        R                  SS[        R                  /	5      nUR                  SSSSS9n[        R
                  " X25        [        SSS[        R                  [        R                  [        R                  S[        R                  [        R                  /	5      nUR                  SSSS9n[        R
                  " X25        Sn[        R                  " [        US9   UR                  SSS
9  S S S 5        g ! , (       d  f       g = f)Nr{      ry   r   r         @r   r   insider"   
limit_arear   r"   r  r   r   )r"   r  r   r   outsider   )r"   r  r   zEInvalid limit_area: expecting one of \['inside', 'outside'\], got abcr\   r   )	r   rJ   rN   r8   r9   r:   r_   r`   ra   r   s        r$   test_interp_limit_area0TestSeriesInterpolateData.test_interp_limit_area  s   BFFBFFArvvrvvrvvq"&&"&&QR2662663S#sBFFBFFSTh8D
v0VVRVVS#rvvrvvsBFFBFFK
 h81M
v02662663RVVS#rvvrvvVW&PQ  
 	v02662663SRUVWh9E
v0VVRVVS"&&"&&"&&#sBFFK
 h9AN
v02663RVVRVVRVVS#rvvVW	6QR  
 	v03S"&&"&&"&&#rvvrvvVW	:  
 	v0 W]]:S1MMeM< 211s   'Q
Qz!method, limit_direction, expected))r   r   r   )ffillr   r   )backfillr   r   )bfillr   r   )r   r   r   )r  r   r   )r  r   r   )r  r   r   c                    [        / SQ5      nSU SU S3nSn[        R                  " [        US9   [        R
                  " [        US9   UR                  XS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r1   r{   z`limit_direction` must be 'z' for method ``zSeries.interpolate with method=r\   r   )r   r_   r`   ra   r9   r   r   r8   )r;   r"   r   r   r   rc   r   s          r$   "test_interp_limit_direction_raises<TestSeriesInterpolateData.test_interp_limit_direction_raises  sq     9+H:^F81M0]]:S1++MFVM G 21FF 21s#   A>A-A>-
A;	7A>>
Bzdata, expected_data, kwargsr{   r  ry   r   r   r  r  r	  r
  r/   c                     [        U5      n[        U5      nSn[        R                  " [        US9   UR                  " S0 UD6nS S S 5        [        R
                  " WU5        g ! , (       d  f       N&= f)Nr   r\   r   r   r9   r   r   r8   r:   r;   dataexpected_datar#   r   r   rc   r   s           r$   test_interp_limit_area_with_pad9TestSeriesInterpolateData.test_interp_limit_area_with_pad  s^    L 4L-(2''SA]],V,F B
vx0 BA   A%%
A3r  c                     [        U5      n[        U5      nSn[        R                  " [        US9   UR                  " S0 UD6nS S S 5        [        R
                  " WU5        g ! , (       d  f       N&= f)Nz$Series.interpolate with method=bfillr\   r   r  r  s           r$   $test_interp_limit_area_with_backfill>TestSeriesInterpolateData.test_interp_limit_area_with_backfill  s]    8 4L-(4''SA]],V,F B
vx0 BAr  c                 d   [        SS[        R                  [        R                  [        R                  S/5      n[        SS[        R                  SSS/5      nUR                  S	S
SS9n[        R
                  " X25        [        SSS[        R                  SS/5      nUR                  S	SSS9n[        R
                  " X25        [        SS[        R                  [        R                  [        R                  SS[        R                  [        R                  S[        R                  /5      n[        / SQ5      nUR                  S	S
SS9n[        R
                  " X25        [        SSS[        R                  SSSSSSS/5      nUR                  S	SSS9n[        R
                  " X25        g )Nr   r{   ri   rq   ry   r   r   rm   r   r1   r   r   r   r   r  r   rj   )rq   ry   r   r   r  r   r         $@rm   rn   rn   r   r  r!  rn   r   r   s       r$   test_interp_limit_direction5TestSeriesInterpolateData.test_interp_limit_direction7  sS   Aq"&&"&&"&&"563RVVS#t<=haT
v03S"&&#t<=haP
v0 Aq"&&"&&"&&!QBFFSTUVhaP
v0#sBFFCc4tTJ
 haP
v0r&   c                 n   [        [        R                  [        R                  SSS[        R                  /5      n[        SSSSS[        R                  /5      nUR                  SSS	S
9n[        R
                  " X25        [        / SQ5      nUR                  SSSS
9n[        R
                  " X25        g )Nr/   r  r   r   r   r   r   r1   r   r   )r   r   r   r   r   r   r   r   r   s       r$   test_interp_limit_to_ends3TestSeriesInterpolateData.test_interp_limit_to_endsP  s    BFFBFFAq!RVV453S#sBFF;<haT
v089haP
v0r&   c                    [        [        R                  [        R                  SS[        R                  [        R                  /5      n[        [        R                  [        R                  SSS[        R                  /5      nUR                  SSSS9n[        R
                  " X25        [        [        R                  SSS[        R                  [        R                  /5      nUR                  SSS	S9n[        R
                  " X25        [        [        R                  SSSS[        R                  /5      nUR                  SSS
S9n[        R
                  " X25        g )Nr/   r  r   r   r   r   r   r   r   r   r   r   s       r$   test_interp_limit_before_ends7TestSeriesInterpolateData.test_interp_limit_before_ends\  s    BFFBFFAq"&&"&&9:2662663S"&&ABhaS
v02663S"&&"&&ABhaT
v02663S#rvv>?haP
v0r&   c                     [         R                  " S5        [        / SQ5      nUR                  SSS9n[        R
                  " X!5        UR                  5       n[        R
                  " X!5        g )Nrg   r  r   r   r   )r_   r|   r   r8   r9   r:   )r;   r   r   s      r$   test_interp_all_good.TestSeriesInterpolateData.test_interp_all_goodl  sU    G$9l!<
v) 
v)r&   check_scipyFTc                    [         R                  " / SQ5      n[        SS[        R                  /US9nUR                  5       nSUR                  S'   UR                  5       n[        R                  " XT5        SnU(       a3  [        R                  " [        US9   UR                  SSS9  S S S 5        g g ! , (       d  f       g = f)	N))r   a)r   b)r1   cr   r1   rH   z?Only `method=linear` interpolation is supported on MultiIndexesr\   r   r   )r   from_tuplesr   rJ   rN   r3   r   r8   r9   r:   r_   r`   ra   )r;   r-  idxr   r   r   rc   s          r$   test_interp_multiIndex0TestSeriesInterpolateData.test_interp_multiIndexv  s     $$%CDAq"&&>-668Q
v0Oz5\; 65 55s   B66
Cc                     [         R                  " S5        [        S[        R                  S// SQS9nSn[         R
                  " [        US9   UR                  SS	9  S S S 5        g ! , (       d  f       g = f)
Nrg   r   r{   )r   r1   r   rH   z8krogh interpolation requires that the index be monotonicr\   r   rG   r_   r|   r   rJ   rN   r`   ra   r8   r   s      r$   test_interp_nonmono_raise3TestSeriesInterpolateData.test_interp_nonmono_raise  sS    G$Arvvq>3H]]:S1MMM) 211   A((
A6r"   r   c           	         [         R                  " S5        [        S[        R                  S/[        SSUS9S9nUS:X  a  S O[        nSn[        R                  " XES	9   UR                  US
9nS S S 5        Ub'  UR                  5       n[        R                  " WU5        [        / SQ[        SSUS9S9n[        R                  " WU5        g ! , (       d  f       Ne= f)Nrg   r   r{   1/1/2000r0   tzrH   r   0Series.interpolate with method=pad is deprecatedr\   rG   )rq   rq   ry   )r_   r|   r   rJ   rN   r   r   r9   r   r8   r  r:   )	r;   r"   tz_naive_fixturedfwarnrc   r   altr   s	            r$   test_interp_datetime640TestSeriesInterpolateData.test_interp_datetime64  s    G$N*ZGW"X
 *t@''8^^6^2F 9((*C""63/Z7GH
 	vx0 98s   C
Cc                 ~   [        SSSS9n[        U5      n[        R                  US'   Sn[        R
                  " [        US9   UR                  SS	9nS S S 5        UR                  5       n[        R                  " WU5        [        U5      nUS
   US'   [        R                  " XF5        g ! , (       d  f       N_= f)Nz
2015-04-05r{   z
US/Centralr=  r   r?  r\   r   rG   r   )
r   r   r4   r5   r9   r   r   r8   r  r:   )r;   dtir=   rc   r   rC  r   s          r$   #test_interp_pad_datetime64tz_values=TestSeriesInterpolateData.test_interp_pad_datetime64tz_values  s    q\BSkA@''SA__E_2F B iik
vs+#;qk
v0 BAs   B..
B<c                 l    [        / SQ5      nUR                  SS9nUn[        R                  " X#5        g )Nrq   ru   ry   r   )r   )r   r8   r9   r:   r   s       r$   test_interp_limit_no_nans3TestSeriesInterpolateData.test_interp_limit_no_nans  s/    ?#Q'
v0r&   r   c                     [         R                  " S5        [        SS[        R                  S/5      nSn[         R
                  " [        US9   UR                  US9  S S S 5        g ! , (       d  f       g = f)Nrg   r   r   r{   z6You must specify the order of the spline or polynomialr\   rG   r7  )r;   r"   r   rc   s       r$   test_no_order'TestSeriesInterpolateData.test_no_order  sV     	G$Aq"&&!$%F]]:S1MMM( 211r:  r   g      r   c                     [         R                  " S5        [        SS[        R                  S/5      nSn[         R
                  " [        US9   UR                  SUS9  S S S 5        g ! , (       d  f       g = f)	Nrg   r   r   r{   z.order needs to be specified and greater than 0r\   r   r   r7  )r;   r   r   rc   s       r$   %test_interpolate_spline_invalid_order?TestSeriesInterpolateData.test_interpolate_spline_invalid_order  sV    G$Aq"&&!$%>]]:S1MMM7 211s   A))
A7c           	          [         R                  " S5        [        SS[        R                  SS[        R                  S/5      nUR                  SSS9n[        / S	Q5      n[        R                  " X#5        g )
Nrg   r   r1   r   r/   r  r   r   rq   ru   ry   r   r   r  r   r   r   s       r$   test_spline%TestSeriesInterpolateData.test_spline  s\    G$Aq"&&!Q23ha8=>
v0r&   c           	      \   [         R                  " S5        [        SSSS[        R                  S[        R                  /5      nUR                  SSSS9n[        / S	Q5      n[        R                  " X#5        UR                  SSS
S9n[        / SQ5      n[        R                  " XE5        g )Nrg   r   r1   r{   r      r   )r"   r   ext)rq   ru   ry   r   r   r  r  r   rU  r   )r;   r   result3	expected3result1	expected1s         r$   test_spline_extrapolate1TestSeriesInterpolateData.test_spline_extrapolate  s    G$Aq!Q26623--xqa-@>?	
w2--xqa-@>?	
w2r&   c           	          [         R                  " S5        [        SS[        R                  SS[        R                  S/5      nUR                  SSS	S
9S   UR                  SSS9S   :w  d   eg )Nrg   r   r1   r   gffffff@r  r   r{   r   )r"   r   r   r/   r   )r_   r|   r   rJ   rN   r8   )r;   r   s     r$   test_spline_smooth,TestSeriesInterpolateData.test_spline_smooth  sl    G$Aq"&&!S"&&!45MMaM8;}}HA}6q9:	
:r&   c                 `   [         R                  " S5        [        [        R                  " S5      S-  SS9n[        R
                  U[        R                  R                  S5      R                  SSS5      '   UR                  S	S
S9nUR                  S	S
S9n[        R                  " X#5        g )Nrg   rF   r1   rM   rD   r   r   r{   r   r   r   )r_   r|   r   rJ   rK   rN   r   r   integersr8   r9   r:   )r;   r   r]  r^  s       r$   test_spline_interpolation3TestSeriesInterpolateData.test_spline_interpolation  s    G$299R=A%W58:"))


"
+
+Aq!
45--xq-9MMM;	
w2r&   c                    [        S[        R                  S/[        R                  " / SQ5      S9nUR                  SS9n[        / SQ[        R                  " / SQ5      S9n[        R                  " X#5        [        S[        R                  S/[        R                  " / SQ5      S9nUR                  SS9n[        / S	Q[        R                  " / SQ5      S9n[        R                  " X#5        g )
Nr   r{   r  rH   rI   rG   rK  )r   r1   r   )rq   g(%?ry   )r   rJ   rN   r4   to_timedeltar8   r9   r:   )r;   rA  r   r   s       r$   test_interp_timedelta641TestSeriesInterpolateData.test_interp_timedelta64  s    QN"//)*DEv./1KL
v0 QN"//)*DEv..booi6PQ
v0r&   c                 .   [        SSSS9n[        [        R                  R	                  S5      R                  [        U5      5      US9n[        R                  US S S2'   UR                  SS9nUR                  5       n[        R                  " X45        g )	Nr<  z	1/20/2000r2   )freqr1   rH   r
   rG   )r   r   rJ   r   r   r   rL   rN   r8   r9   r:   )r;   rngrR   r   exps        r$   %test_series_interpolate_method_values?TestSeriesInterpolateData.test_series_interpolate_method_values  su    [s;BII))!,<<SXFcR&&3Q3x0nn
v+r&   c                    [        SSSS9n[        / SQU5      nUR                  U[        R                  " SS9-   5      R                  5       nUR                  U5      R                  SS	9n[        SSS
S9n[        / SQU5      nUR                  U[        R                  " SS9-   5      R                  5       nUR                  U5      R                  SS	9n[        R                  " UR                  UR                  5        g )Nz1/1/2012r   12D)r0   rm  )r   rj      $   r   )daysrI   rG   12h)hours)r   r   appendr4   
DateOffsetsort_valuesr~   r8   r9   assert_numpy_array_equalr
   )r;   r	   rR   r   ro  r   s         r$    test_series_interpolate_intraday:TestSeriesInterpolateData.test_series_interpolate_intraday  s    :qu=OU+LLA)>!>?KKM	jj#//v/>:qu=OU+LLQ)?!?@LLN	I&22&2A
##FMM3::>r&   ind)r/  r0  r1  rU   z
2019-01-01r   startr0   )r  endc                    [         R                  " SS[        R                  S/US9nUu  pEUS:X  a  [        R
                  " S5        US:X  a9  US   R                  " S0 UD6n[        / SQSUS	9n[        R                  " Xg5        g S
U S3n[        R                  " [        US9   US   R                  " SSU0UD6  S S S 5        g ! , (       d  f       g = f)Nr   r   r{   rH   r   rg   r   r   namer	   z9Index column must be numeric or datetime type when using z_ method other than linear. Try setting a numeric or datetime index column before interpolating.r\   r"   r   )r4   	DataFramerJ   rN   r_   r|   r8   r   r9   r:   r`   ra   )	r;   r(   r  rA  r"   r#   r   r   expected_errors	            r$   test_interp_non_timedelta_index9TestSeriesInterpolateData.test_interp_non_timedelta_index  s     \\1a+37+W(XU&&00F2#FH""64 !!!  z@1!!::6: A@@s   &C
Cc                    [         R                  " S5        [        R                  " SSS9n[        R                  " SS[
        R                  S/US9nUu  pVUS;   a/  UR                  [         R                  R                  U S	3S
95        US   R                  " SSU0UD6n[        / SQSUS9n[        R                  " Xx5        g)z
Tests for non numerical index types  - object, period, timedelta
Note that all methods except time, index, nearest and values
are tested here.
rg   r   r   r  r   r{   rH   >   r   r   z2 interpolation is not supported for TimedeltaIndexr,   r"   r   r  Nr   )r_   r|   r4   timedelta_ranger  rJ   rN   applymarkermarkxfailr8   r   r9   r:   )	r;   r!   r(   r  rA  r"   r#   r   r   s	            r$    test_interpolate_timedelta_index:TestSeriesInterpolateData.test_interpolate_timedelta_index4  s     	G$  q!4\\1a+37+&&!!$X%WX " 
 A"";&;F;.QcB
v0r&   zascending, expected_values)r   r1   r{   r   rF   rF   r   r{   r1   r   c                     [        SS[        R                  SS// SQS9nUR                  US9R	                  SS	9n[        X"[
        S
9n[        R                  " XE5        g )NrF   r   r1   r   r  )r  r	   )	ascendingr	   rG   )r  r	   rE   )r   rJ   rN   
sort_indexr8   rM   r9   r:   )r;   r  expected_valuesrR   r   r   s         r$   test_interpolate_unsorted_index9TestSeriesInterpolateData.test_interpolate_unsorted_indexK  sX     "aA.6FG3??w?OUS
v0r&   c                    [        / SQ[        S9nSnSn[        R                  " [        US9   [
        R                  " [        US9   UR                  SS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N)r/  Nr0  rD   z$Series.interpolate with object dtypezInvalid fill methodr\   asfreqrG   )	r   r   r_   r`   ra   r9   r   r   r8   )r;   r=   r   rc   s       r$   test_interpolate_asfreq_raises8TestSeriesInterpolateData.test_interpolate_asfreq_raisesV  sc    %V45#]]:S1++MFx0 G 21FF 21s#   A:A)A:)
A7	3A::
Bc                 0   [         R                  " S5        [        [        R                  SS[        R                  S[        R                  /5      nUR                  SSS9n[        [        R                  SSSSS/5      n[        R                  " X#5        g )Nrg   r   r   r{   r   )r"   r   r   )r;   r=   r   r   s       r$   test_interpolate_fill_value5TestSeriesInterpolateData.test_interpolate_fill_value^  sn    G$bffaBFFArvv67	a@2661aAq12
v0r&   r   )E__name__
__module____qualname____firstlineno__r_   r  r  rA   rY   rd   r   r   r   r   r   parametrizer   td
skip_if_nor   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  rJ   rN   ranger  r  r"  r%  r(  r+  r4  r8  rD  rH  rL  rO  rR  rV  r_  rb  rf  rj  rp  r}  r4   period_rangeinterval_ranger  r  r  r  r  __static_attributes__r   r&   r$   r*   r*   P   s   [[IJ	6 K	64&.1
<4<< [[LL'!4BMM'<R	
;;<.) [[LL'!4BMM'<R	
11111(1T1 [[Wr1g.@ /@@ [[-6J/KL; M;<
11B-=^ [[+		
NN [[% BFFBFFBFFArvvrvvNc3S"&&"&&I 9 BFFBFFBFFArvvrvvNc2662663O 1E BFFBFFBFFArvvrvvNbffbffbffc3L 	: BFFBFFBFFArvvrvvNbffbffbffc3O 	AF HH 	AF aa 	AF5	
"F1G"F1 [[% BFFBFFBFFArvvrvvNc3S"&&"&&I"(; BFFBFFBFFArvvrvvNbffbffc3O"(QG BFFBFFBFFArvvrvvNc3RVVRVVL")< BFFBFFBFFArvvrvvNc2662662663O")aH!	
2132112
11 * [[v||Dg8NOP<<* [[X	5'9:1 ;1(1"1 [[Xh'?@) A) [[Wr4C&@A8 B81	3
31	,? [[ OO,:A1-	
;;,1. [[$
 	!E+;#<=1	111r&   r*   )numpyrJ   r_   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr4   r   r   r   r   r   pandas._testing_testingr9   fixturer%   r(   r*   r   r&   r$   <module>r     ss      ) )    *	+*	 $	%$	T1 T1r&   