
    A>iy                         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      k/var/www/html/land-tabula/venv/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"\R
                  R                  S(\#RH                  \#RH                  S)\#RH                  \#RH                  \#RH                  S*\#RH                  \#RH                  /	S+S,S-.4\#RH                  \#RH                  S)\#RH                  \#RH                  \#RH                  S*\#RH                  \#RH                  /	S+S,SS..4\#RH                  \#RH                  S)\#RH                  \#RH                  \#RH                  S*\#RH                  \#RH                  /	S+S/S-.4\#RH                  \#RH                  S)\#RH                  \#RH                  \#RH                  S*\#RH                  \#RH                  /	S+S/SS..4\#RH                  \#RH                  \#RH                  \#RH                  \#RH                  \#RH                  \#RH                  /S+S/SS..4\%" S05      S+S/SS..445      S1 5       r&\R
                  R                  S(\#RH                  \#RH                  S)\#RH                  \#RH                  \#RH                  S*\#RH                  \#RH                  /	S2S,S-.4\#RH                  \#RH                  S)\#RH                  \#RH                  \#RH                  S*\#RH                  \#RH                  /	S2S,SS..4\#RH                  \#RH                  S)\#RH                  \#RH                  \#RH                  S*\#RH                  \#RH                  /	S2S/S-.4\#RH                  \#RH                  S)\#RH                  \#RH                  \#RH                  S*\#RH                  \#RH                  /	S2S/SS..445      S3 5       r'S4 r(S5 r)S6 r*S7 r+\R
                  R                  S8S9\R                   " S:\R$                  " S5      S9/5      S; 5       r,S< r-\R
                  R                  S=S>S+/5      S? 5       r.S@ r/SA r0\R
                  R                  S=SSB/5      SC 5       r1\R
                  R                  SDSSESSF\#RH                  /5      SG 5       r2SH r3SI r4SJ r5SK r6SL r7SM r8SN r9\R
                  R                  SO/ SPQ\:Rv                  " SQSRSS9\:Rx                  " SSRST9/5      SU 5       r=SV r>\R
                  R                  SWS:/ SXQ4S9/ SYQ4/5      SZ 5       r?S[ r@S\ rAS]rBg!)^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                 ^   [        [        R                  " [        U5      [        S9UR
                  5      nUR                  5       n[        R                  USS& [        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	   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'')
 vv!vv!++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matchrL   rI   r   rM   rQ   pytestraises
ValueErrorr8   )r;   non_tsmsgs      r$   /test_interpolate_time_raises_for_non_timeseriesITestSeriesInterpolateData.test_interpolate_time_raises_for_non_timeseriesu   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rK            	      &@g     &@g      '@g     '@      (@g     (@g      )@g     )@      *@	      ?      ?      ?      ?       @      @      @      @      @rJ   ru   rv   rw   ry   rz   r{   r   rI   r      )rb   importorskipr   r   r	   unionrS   rP   reindexr8   locr9   r:   )r;   r=   expected	new_indexresults        r$   test_interpolate_cubicspline6TestSeriesInterpolateData.test_interpolate_cubicspline}   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 )
Nrj   r1   d   )size)g     H@g     H@g     H@g      I@g     @I@g     `I@r   rI   1   3   )rb   r   r   rM   sortrandomdefault_rnguniformr	   r   r   rS   rP   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 )Nrj   rk   ro   rs   rJ   r}   r   rI   r   r~   )	rp   rt   rt   rt   rq   rt   rt   rt   rr   )r"   derrb   r   r   r   r	   r   rS   rP   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 )Nrj   rk   ro   rs   rJ   r}   r   rI   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 )Nrj   rk   ro   rs   rJ   r}   r   rI   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   rj   )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   rM   rQ   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5      nU) n[        [        R                  " X$   X%   UR                  U   5      UR                  U   S9n[        R                   " X4   U5        UR                  SS9n[        R                   " Xs5        [        R                   " Xt   U5        g )	Nr1      rJ   rK   r~   r	   rI   r
   )r   rM   rQ   r   r   r   standard_normalr   r	   r
   rS   rP   r8   r   interpr9   r:   )r;   r   valsr   badgoodr   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.1g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~   rl   zStime-weighted interpolation only works on Series or DataFrames with a DatetimeIndexr_   rL   rI   ra   r;   r   rf   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~           rt   rx   r|   r   r   rM   rQ   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   rF   )r   r~   r/   rH   rJ   )rt   rx   r|         @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   abcdrJ   )r   rt   rx   rx   )r   rM   rQ   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 )
Nrj   r   rF      )r   r1   r~   rF   rJ   r   rI   )rt   r         "@g      0@rb   r   r   rM   rQ   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        UR                  SS9n[        R                  " X25        [        / S	Q5      nUR                  S
S9n[        R                  " X2R                  S5      5        UR                  S
S9n[        R                  " X25        [        / S	Q5      nUR                  SS9n[        R                  " X2R                  S5      5        UR                  SS9n[        R                  " X25        [        / SQ5      nUR                  SS9n[        R                  " X25        UR                  SS9n[        R                  " X25        [        / SQ5      nUR                  SS9n[        R                  " X25        g )Nrj   r   r~   rm      )rt   r|   g      @rq   g     2@      9@r   rI   )r   r~   r~   rm   rm   r   r   rP   r   )r   r|   g:/KK@rq   gL82@r   r   )rt   r|   g333333@rq   g3333332@r   r   )	rb   r   r   rM   rQ   r8   r9   r:   rS   r;   r   r   r   s       r$   test_interp_scipy_basic1TestSeriesInterpolateData.test_interp_scipy_basic!  s   G$Aq"&&"bffb12;<i0
v0i0
v012i0
vw'?@i0
v012f-
vw'?@f-
v0 CDk2
v0k2
v0;<g.
v0r&   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~   rl   rt   r|         @      @rp   r   r1   r"   limitr   r   s       r$   test_interp_limit+TestSeriesInterpolateData.test_interp_limitE  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   rF   zLimit must be greater than 0r_   r   r"   r   ra   )r;   r%   r   r   r"   r#   s         r$   *test_interpolate_invalid_nonpositive_limitDTestSeriesInterpolateData.test_interpolate_invalid_nonpositive_limitL  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   rF   rx   zLimit must be an integerr_   r   r   ra   )r;   r%   r   r"   r#   r   s         r$   $test_interpolate_invalid_float_limit>TestSeriesInterpolateData.test_interpolate_invalid_float_limitT  sU    Aq"&&!$%+]]:-GHMM??? IHHs   A
A)invalid_methodNnonexistent_methodc                 v   [        SS[        R                  S[        R                  S/5      nS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~   rm   r   z2Can not interpolate with method=nonexistent_methodz%'method' should be a string, not Noner_   rI   r   r   ra   )r;   r   r   rf   s       r$   test_interp_invalid_method4TestSeriesInterpolateData.test_interp_invalid_method\  s    Aq"&&"bffb12B!9C]]:S1MMM0 2
 ]]:S1MMrM: 21 21
 21s   B?B*
B'*
B8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~   rl   rt   r|   r   r   rp   r   r1   forwardr"   r   limit_directionFORWARDr   r   s       r$   test_interp_limit_forward3TestSeriesInterpolateData.test_interp_limit_forwardk  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 )Nrt   r|   rp   )rt   rt   r|   r   r   r   rp   rp   r   bothr"   r   r   r   r   r   backwardr   r   s       r$   test_interp_unlimited/TestSeriesInterpolateData.test_interp_unlimitedw  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~   rl   zVInvalid limit_direction: expecting one of \['forward', 'backward', 'both'\], got 'abc'r_   r   r1   abcr   r   ra   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~      r|   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   rM   rQ   r8   r9   r:   rb   rc   rd   )r;   r   r   r   rf   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data, kwargsr~   r   padr   r   r   r   r/   c                     [        U5      nSn[        R                  " [        US9   UR                  " S0 UD6  S S S 5        g ! , (       d  f       g = f)N#Can not interpolate with method=padr_   r   r   rb   rc   rd   r8   r;   datar#   r   rf   s        r$   test_interp_limit_area_with_pad9TestSeriesInterpolateData.test_interp_limit_area_with_pad  s<    @ 4L3]]:S1MM#F# 211   A
Abfillc                     [        U5      nSn[        R                  " [        US9   UR                  " S0 UD6  S S S 5        g ! , (       d  f       g = f)Nz%Can not interpolate with method=bfillr_   r   r  r  s        r$   $test_interp_limit_area_with_backfill>TestSeriesInterpolateData.test_interp_limit_area_with_backfill  s;    . 4L5]]:S1MM#F# 211r
  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~   rl   rt   r|   r   r   rp   r   r1   r   r   r   r   r   rH   rm   )rt   r|   r   r   r   r   r         $@rp   rq   rq   r   r   r  rq   r   r   s       r$   test_interp_limit_direction5TestSeriesInterpolateData.test_interp_limit_direction  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   rH   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_ends  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 )Nrj   r   r1   r~   r   r   r   )rb   r   r   r8   r9   r:   )r;   r   r   s      r$   test_interp_all_good.TestSeriesInterpolateData.test_interp_all_good;  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   rJ   z?Only `method=linear` interpolation is supported on MultiIndexesr_   r   r   )r   from_tuplesr   rM   rQ   r3   r   r8   r9   r:   rb   rc   rd   )r;   r  idxr   r   r   rf   s          r$   test_interp_multiIndex0TestSeriesInterpolateData.test_interp_multiIndexE  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)
Nrj   r   r~   )r   r1   r   rJ   z8krogh interpolation requires that the index be monotonicr_   r   rI   rb   r   r   rM   rQ   rc   rd   r8   r   s      r$   test_interp_nonmono_raise3TestSeriesInterpolateData.test_interp_nonmono_raiseV  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;  UR                  US9n[        / S	Q[        SSUS9S9n[        R                  " XE5        g S
n[         R                  " [        US9   UR                  US9  S S S 5        g ! , (       d  f       g = f)Nrj   r   r~   1/1/2000r0   tzrJ   r   rI   )rt   rt   r|   r  r_   )rb   r   r   rM   rQ   r   r8   r9   r:   rc   rd   )r;   r"   tz_naive_fixturedfr   r   rf   s          r$   test_interp_datetime640TestSeriesInterpolateData.test_interp_datetime64]  s    G$N*ZGW"X
 Y^^6^2F Q;KLH ""647Cz5f- 655s   B00
B>c                     [        SSSS9n[        U5      n[        R                  US'   Sn[        R
                  " [        US9   UR                  SS	9  S S S 5        g ! , (       d  f       g = f)
Nz
2015-04-05r~   z
US/Centralr-  r   r  r_   r  rI   )r   r   r4   r5   rb   rc   rd   r8   )r;   dtir=   rf   s       r$   #test_interp_pad_datetime64tz_values=TestSeriesInterpolateData.test_interp_pad_datetime64tz_valuesp  sS    q\BSkA3]]:S1OO5O) 211s   A
A,c                 l    [        / SQ5      nUR                  SS9nUn[        R                  " X#5        g )Nrt   rx   r|   r   )r   )r   r8   r9   r:   r   s       r$   test_interp_limit_no_nans3TestSeriesInterpolateData.test_interp_limit_no_nansz  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)Nrj   r   r   r~   z6You must specify the order of the spline or polynomialr_   rI   r'  )r;   r"   r   rf   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)	Nrj   r   r   r~   z.order needs to be specified and greater than 0r_   r   r   r'  )r;   r   r   rf   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 )
Nrj   r   r1   rF   r/   r   r   r   rt   rx   r|   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 )Nrj   r   r1   r~   rF   rG   r   )r"   r   ext)rt   rx   r|   r   r   r   r   r   rB  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 )Nrj   r   r1   rF   gffffff@r   r   r~   r   )r"   r   r   r/   r   )rb   r   r   rM   rQ   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 )Nrj   rK   r1   rP   rD   r   rH   r~   r   r   r   )rb   r   r   rM   rN   rQ   r   r   integersr8   r9   r:   )r;   r   rI  rJ  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  rJ   rL   rI   r8  )r   r1   rF   )rt   g(%?r|   )r   rM   rQ   r4   to_timedeltar8   r9   r:   )r;   r0  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   rJ   r
   rI   )r   r   rM   r   r   r   rO   rQ   r8   r9   r:   )r;   rngrU   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/2012rF   12D)r0   rY  )r   rm      $   r   )daysrL   rI   12h)hours)r   r   appendr4   
DateOffsetsort_valuesr   r8   r9   assert_numpy_array_equalr
   )r;   r	   rU   r   r[  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  r   r!  rX   z
2019-01-01rF   startr0   )rm  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~   rJ   r   rj   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   	DataFramerM   rQ   rb   r   r8   r   r9   r:   rc   rd   )	r;   r(   rk  r0  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.
rj   r   rF   rl  r   r~   rJ   >   r   r   z2 interpolation is not supported for TimedeltaIndexr,   r"   r   rp  Nr   )rb   r   r4   timedelta_rangerr  rM   rQ   applymarkermarkxfailr8   r   r9   r:   )	r;   r!   r(   rk  r0  r"   r#   r   r   s	            r$    test_interpolate_timedelta_index:TestSeriesInterpolateData.test_interpolate_timedelta_index  s     	G$  q!4\\1a+37+&&!!$X%WX " 
 A"";&;F;.QcB
v0r&   zascending, expected_values)r   r1   r~   rH   rK   rK   rH   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 )NrK   rH   r1   r   r}  )r  r	   )	ascendingr	   rI   )r  r	   rE   )r   rM   rQ   
sort_indexr8   rP   r9   r:   )r;   r  expected_valuesrU   r   r   s         r$   test_interpolate_unsorted_index9TestSeriesInterpolateData.test_interpolate_unsorted_index  sX     "aA.6FG3??w?OUS
v0r&   c                     [        / 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)N)r  Nr   rD   z&Can not interpolate with method=asfreqr_   asfreqrI   )r   r   rb   rc   rd   r8   )r;   r=   rf   s      r$   test_interpolate_asfreq_raises8TestSeriesInterpolateData.test_interpolate_asfreq_raises  s<    %V46]]:S1OO8O, 211s   A
A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 )Nrj   r   r   r~   r   )r"   
fill_valuer   )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   )C__name__
__module____qualname____firstlineno__rb   ry  rz  rA   r\   rg   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   rM   rQ   ranger  r  r  r  r  r  r$  r(  r1  r5  r9  r<  r?  rC  rK  rN  rR  rV  r\  ri  r4   period_rangeinterval_rangert  r{  r  r  r  __static_attributes__r   r&   r$   r*   r*   P   s   [[IJ	6 K	640.1
<4<< [[LL'!4BMM'<R	
;;<,) [[LL'!4BMM'<R	
11111"1H1 [[Wr1g.@ /@@ [[-6J/KL; M;
11B-=^ [[ BFFBFFBFFArvvrvvN 9
 BFFBFFBFFArvvrvvN 1E
 BFFBFFBFFArvvrvvN 	:
 BFFBFFBFFArvvrvvN 	AF
 H 	AF
 a 	AF+	
:$;:$ [[ BFFBFFBFFArvvrvvN"(;
 BFFBFFBFFArvvrvvN"(QG
 BFFBFFBFFArvvrvvN")<
 BFFBFFBFFArvvrvvN")aH	
*$+*$12
11 * [[v||Dg8NOP<<* [[X	5'9:. ;.$*1 [[Xh'?@) A) [[Wr4C&@A8 B81	3
31	,? [[ OO,:A1-	
;;,1. [[$
 	!E+;#<=1	1-1r&   r*   )numpyrM   rb   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      ) )    *	+*	 $	%$	X1 X1r&   