o
    i{                     @   s   d dl Zd dlZd dlm  mZ d dlZd dlm	Z	m
Z
mZmZmZ d dlmZ ejg dddd Zejg dddd	 ZG d
d dZdS )    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                 C   "   | j }|dv rddini }||fS )a	  Fixture 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kwargs r#   g/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pandas/tests/series/methods/test_interpolate.pynontemporal_method   s   r%   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                 C   r   )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   r#   r#   r$   interp_methods_ind2   s   r&   c                   @   s  e Zd Zdd Zdd Zejdd Zejdd Zejd	d
 Z	ejdd Z
ejdd Zejdi ejdddejdgdd Zdd Zdd Zejdi ejdddejdgdd Zdd Zdd Zejd d! Zejd"d# Zd$d% Zejd&d'd(gd)d* Zd+d, Zejd-d.d/gd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Z ejd<g d=d>d? Z!ejd@e"j#e"j#dAe"j#e"j#e"j#dBe"j#e"j#g	e"j#e"j#dCdCdCdCdDe"j#e"j#g	dEdFdGfe"j#e"j#dAe"j#e"j#e"j#dBe"j#e"j#g	e"j#e"j#dCdCe"j#e"j#dDe"j#e"j#g	dEdFddHfe"j#e"j#dAe"j#e"j#e"j#dBe"j#e"j#g	e"j#e"j#dCe"j#e"j#e"j#dDdDdDg	dEdIdGfe"j#e"j#dAe"j#e"j#e"j#dBe"j#e"j#g	e"j#e"j#dCe"j#e"j#e"j#dDdDe"j#g	dEdIddHfe"j#e"j#e"j#e"j#e"j#e"j#e"j#ge"j#e"j#e"j#e"j#e"j#e"j#e"j#gdEdIddHfe$dJe$dJdEdIddHffdKdL Z%ejd@e"j#e"j#dAe"j#e"j#e"j#dBe"j#e"j#g	e"j#e"j#dCdDdDdDdDe"j#e"j#g	dMdFdGfe"j#e"j#dAe"j#e"j#e"j#dBe"j#e"j#g	e"j#e"j#dCe"j#e"j#dDdDe"j#e"j#g	dMdFddHfe"j#e"j#dAe"j#e"j#e"j#dBe"j#e"j#g	dCdCdCe"j#e"j#e"j#dDe"j#e"j#g	dMdIdGfe"j#e"j#dAe"j#e"j#e"j#dBe"j#e"j#g	e"j#dCdCe"j#e"j#e"j#dDe"j#e"j#g	dMdIddHffdNdO Z&dPdQ Z'dRdS Z(dTdU Z)ejdVdW Z*ejdXdYejdZejdgd[d\ Z+ejd]d^ Z,ejejd_d`dEgdadb Z-dcdd Z.dedf Z/ejejd_ddggdhdi Z0ejejdjd'dkd(dle"j#gdmdn Z1ejdodp Z2ejdqdr Z3ejdsdt Z4ejdudv Z5dwdx Z6dydz Z7d{d| Z8ejd}g d~e9j:ddde9j;d(ddgdd Z<ejdd Z=ejddZg dfdYg dfgdd Z>dd Z?d.S )TestSeriesInterpolateDatac                 C   s   t tjt|td|j}| }tj|dd< |jdd}t	
|| t dd |jD |jdt}| }tj|dd< |jd	d}t	
|| d S )
Ndtype   
   r   r!   c                 S   s   g | ]}|  qS r#   )	toordinal).0dr#   r#   r$   
<listcomp>[   s    z>TestSeriesInterpolateData.test_interpolate.<locals>.<listcomp>r   time)r   nparangelenfloatr   copyNaNinterpolatetmassert_series_equalastype)selfdatetime_serieststs_copylinear_interpord_tsord_ts_copytime_interpr#   r#   r$   test_interpolateQ   s   z*TestSeriesInterpolateData.test_interpolatec                 C   sV   t dddtjg}d}tjt|d |jdd W d    d S 1 s$w   Y  d S )Nr   r      zGtime-weighted interpolation only works on Series.* with a DatetimeIndexmatchr2   r,   )r   r3   r8   pytestraises
ValueErrorr9   )r=   non_tsmsgr#   r#   r$   /test_interpolate_time_raises_for_non_timeseriesd   s
   "zITestSeriesInterpolateData.test_interpolate_time_raises_for_non_timeseriesc                 C   sh   t g d}t g dtg dd}|jtg dt}||jdddd	 }t	|| d S )
Nr+            	      &@g     &@g      '@g     '@      (@g     (@g      )@g     )@      *@	      ?      ?      ?      ?       @      @      @      @      @r1   rY   rZ   r[   r]   r^   r_   r   r,   r      
r   r   r   unionr<   r6   reindexr9   r:   r;   )r=   serexpected	new_indexresultr#   r#   r$   test_interpolate_cubicsplinel   s   
z6TestSeriesInterpolateData.test_interpolate_cubicsplinec                 C   sT   t ttjjdd}|jtg dt	}|
|jdd}|dd  d S )Nd   )size)g     H@g     H@g     H@g      I@g     @I@g     `I@r   r,   1   3   )r   r3   sortrandomuniformr   rd   r   r<   r6   re   r9   )r=   rf   rh   interp_sr#   r#   r$   test_interpolate_pchip|   s   
z0TestSeriesInterpolateData.test_interpolate_pchipc                 C   s   t g d}t g dtg dd}|jtg dt}||jdd}t	|dd	 | t g d
tg dd}|jtg dt}||jddd}t	|dd	 | d S )NrO   rS   rW   r1   ra   r   r,   r   rb   )	rT   rX   rX   rX   rU   rX   rX   rX   rV   )r!   derrc   r=   rf   rg   rh   rr   r#   r#   r$   test_interpolate_akima   s&   

z0TestSeriesInterpolateData.test_interpolate_akimac                 C   h   t g d}t g dtg dd}|jtg dt}||jdd}t	|dd	 | d S )
NrO   rS   rW   r1   ra   r   r,   r   rb   rc   ru   r#   r#   r$   %test_interpolate_piecewise_polynomial      
z?TestSeriesInterpolateData.test_interpolate_piecewise_polynomialc                 C   rw   )
NrO   rS   rW   r1   ra   r   r,   r   rb   rc   ru   r#   r#   r$   !test_interpolate_from_derivatives   ry   z;TestSeriesInterpolateData.test_interpolate_from_derivativesr"   r   r   r!   r   )marksc                 C   sT   t tjtjg}t|jdi || t g td }t|jdi || d S )Nr(   r#   )r   r3   nanr:   r;   r9   object)r=   r"   sr#   r#   r$   test_interpolate_corners   s   
z2TestSeriesInterpolateData.test_interpolate_cornersc                 C   s   t tjttjdd}tjd|d d d< |jj	t
}|jdd}| }t|j}| }t t|| || |j| |j| d}t|| | |jdd}t|| t|| | d S )N   r1   r+   rb   r   r,   r	   )r   r3   r}   ro   rp   randrandnr   r	   r<   r6   r9   r7   r   interpr:   r;   )r=   r   valsri   rg   badgoodother_resultr#   r#   r$   test_interpolate_index_values   s   
"z7TestSeriesInterpolateData.test_interpolate_index_valuesc                 C   s^   t ddtjtjtjdg}d}tjt|d |jdd W d    d S 1 s(w   Y  d S )Nr   rb   rP   zStime-weighted interpolation only works on Series or DataFrames with a DatetimeIndexrG   r2   r,   r   r3   r}   rI   rJ   rK   r9   r=   r   rM   r#   r#   r$   test_interpolate_non_ts   s   "z1TestSeriesInterpolateData.test_interpolate_non_tsc                 C   s>   t ddtjdg}|jdi |}t g d}t|| d S )Nr   r   rb           rX   r\   r`   r#   r   r3   r}   r9   r:   r;   )r=   r"   r   ri   rg   r#   r#   r$   test_nan_interpolate   s   
z.TestSeriesInterpolateData.test_nan_interpolatec                 C   sF   t ddtjdgg dd}| }t g dg dd}t|| d S )Nr   rF      )r   rb   r*   	   r1   )rX   r\   r`         @r   r=   r   ri   rg   r#   r#   r$   test_nan_irregular_index     z2TestSeriesInterpolateData.test_nan_irregular_indexc                 C   sF   t dddtjgtdd}| }t g dtdd}t|| d S )Nr   r   rF   abcdr1   )r   rX   r\   r\   )r   r3   r}   listr9   r:   r;   r   r#   r#   r$   test_nan_str_index  r   z,TestSeriesInterpolateData.test_nan_str_indexc                 C   sJ   t ddtjdgg dd}|jdd}t g dg dd}t|| d S )	Nr   r      )r   rF   rb   r   r1   r   r,   )rX   r         "@g      0@r   )r=   sqri   rg   r#   r#   r$   test_interp_quad  s   z*TestSeriesInterpolateData.test_interp_quadc                 C   sD  t ddtjdtjdg}t g d}|jdd}t|| |jddd	}t|| t g d
}|jdd}t||d |jddd	}t|| t g d
}|jdd}t||d |jddd	}t|| t g d}|jdd}t|| |jddd	}t|| t g d}|jdd}t|| d S )Nr   rb   rQ      )rX   r`   g      @rU   g     2@      9@r   r,   infer)r!   downcast)r   rb   rb   rQ   rQ   r   r
   r6   r   )r   r`   g:/KK@rU   gL82@r   r   )rX   r`   g333333@rU   g3333332@r   r   )r   r3   r}   r9   r:   r;   r<   r=   r   rg   ri   r#   r#   r$   test_interp_scipy_basic  s0   z1TestSeriesInterpolateData.test_interp_scipy_basicc                 C   sN   t ddtjtjtjdg}t ddddtjdg}|jd	d
d}t|| d S )Nr   rb   rP   rX   r`         @      @rT   r   rF   r!   limitr   r   r#   r#   r$   test_interp_limit9  s   z+TestSeriesInterpolateData.test_interp_limitr   r   c                 C   sd   t ddtjdg}|\}}tjtdd |jd||d| W d    d S 1 s+w   Y  d S )Nr   rF   r   zLimit must be greater than 0rG   r   r!   r#   r   )r=   r%   r   r   r!   r"   r#   r#   r$   *test_interpolate_invalid_nonpositive_limit@  s
   "zDTestSeriesInterpolateData.test_interpolate_invalid_nonpositive_limitc                 C   sh   t ddtjdg}|\}}d}tjtdd |jd||d| W d    d S 1 s-w   Y  d S )	Nr   rF   r   r\   zLimit must be an integerrG   r   r#   r   )r=   r%   r   r!   r"   r   r#   r#   r$   $test_interpolate_invalid_float_limitH  s   "z>TestSeriesInterpolateData.test_interpolate_invalid_float_limitinvalid_methodNnonexistent_methodc                 C   s   t ddtjdtjdg}d| d}tjt|d |j|d W d    n1 s*w   Y  tjt|d |j|d	d
 W d    d S 1 sIw   Y  d S )Nr   rb   rQ   r   zmethod must be one of.* Got 'z	' insteadrG   r,   r   r   r   )r=   r   r   rM   r#   r#   r$   test_interp_invalid_methodP  s   "z4TestSeriesInterpolateData.test_interp_invalid_methodc                 C   s^   t ddtjdtjdg}d}tjt|d |jddd W d    d S 1 s(w   Y  d S )	Nr   rb   rQ   r   z&Cannot pass both fill_value and methodrG   pad)
fill_valuer!   r   )r=   rf   rM   r#   r#   r$   $test_interp_invalid_method_and_value]  s
   "z>TestSeriesInterpolateData.test_interp_invalid_method_and_valuec                 C   sl   t ddtjtjtjdg}t ddddtjdg}|jd	d
dd}t|| |jd	d
dd}t|| d S )Nr   rb   rP   rX   r`   r   r   rT   r   rF   forwardr!   r   limit_directionFORWARDr   r   r#   r#   r$   test_interp_limit_forwarde  s   z3TestSeriesInterpolateData.test_interp_limit_forwardc              	   C   s   t tjddtjtjtjdtjg}t g d}|jddd}t|| t tjdddd	d
ddg}|jddd}t|| t ddddd	d
dtjg}|jddd}t|| d S )NrX   r`   rT   )rX   rX   r`   r   r   r   rT   rT   r   bothr!   r   r   r   r   r   backwardr   r   r#   r#   r$   test_interp_unlimitedq  s   "z/TestSeriesInterpolateData.test_interp_unlimitedc                 C   s   t ddtjtjtjdg}d}tjt|d |jdddd	 W d    n1 s)w   Y  tjt|d |jddd
 W d    d S 1 sHw   Y  d S )Nr   rb   rP   zVInvalid limit_direction: expecting one of \['forward', 'backward', 'both'\], got 'abc'rG   r   rF   abcr   r   r   r   r#   r#   r$   test_interp_limit_bad_direction  s   "z9TestSeriesInterpolateData.test_interp_limit_bad_directionc              
   C   s2  t tjtjdtjtjtjdtjtjg	}t tjtjdddddtjtjg	}|jdd	d
}t|| t tjtjddtjtjdtjtjg	}|jdd	dd}t|| t tjtjddtjddtjtjg	}|jdd	ddd}t|| t tjtjdtjtjtjdddg	}|jddd
}t|| t tjtjdtjtjtjddtjg	}|jdddd}t|| t tjddtjtjtjddtjg	}|jddddd}t|| t dddtjtjtjdtjtjg	}|jdddd}t|| d}tjt|d |jddd
 W d    d S 1 sw   Y  d S )Nrb      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 abcrG   r   )	r   r3   r}   r9   r:   r;   rI   rJ   rK   )r=   r   rg   ri   rM   r#   r#   r$   test_interp_limit_area  sH   (" $$ $$$z0TestSeriesInterpolateData.test_interp_limit_areaz!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                 C   s`   t g d}d| d| d}tjt|d |j||d W d    d S 1 s)w   Y  d S )Nr   rF   rb   z`limit_direction` must be 'z' for method ``rG   r   )r   rI   rJ   rK   r9   )r=   r!   r   rg   r   rM   r#   r#   r$   "test_interp_limit_direction_raises  s
   "z<TestSeriesInterpolateData.test_interp_limit_direction_raiseszdata, expected_data, kwargsrb   r   r`   r   r   r   r   r   r   r*   c                 C   0   t |}t |}|jdi |}t|| d S Nr#   r   r9   r:   r;   r=   dataexpected_datar"   r   rg   ri   r#   r#   r$   test_interp_limit_area_with_pad  s   &z9TestSeriesInterpolateData.test_interp_limit_area_with_padr   c                 C   r   r   r   r   r#   r#   r$   $test_interp_limit_area_with_backfill  s   z>TestSeriesInterpolateData.test_interp_limit_area_with_backfillc                 C   s  t ddtjtjtjdg}t ddtjdddg}|jd	d
dd}t|| t dddtjddg}|jd	ddd}t|| t ddtjtjtjddtjtjdtjg}t g d}|jd	d
dd}t|| t dddtjdddddddg}|jd	ddd}t|| d S )Nr   rb   rP   rX   r`   r   r   rT   r   rF   r   r   r   r   r   r   rQ   )rX   r`   r   r   r   r   r         $@rT   rU   rU   r   r   r   rU   r   r   r#   r#   r$   test_interp_limit_direction  s    *z5TestSeriesInterpolateData.test_interp_limit_directionc                 C   sx   t tjtjdddtjg}t dddddtjg}|jddd	d
}t|| t g d}|jdddd
}t|| d S )Nr*   r   r   r   r   r   r   rF   r   r   )r   r   r   r   r   r   r   r   r   r#   r#   r$   test_interp_limit_to_ends8  s   z3TestSeriesInterpolateData.test_interp_limit_to_endsc                 C   s   t tjtjddtjtjg}t tjtjdddtjg}|jdddd}t|| t tjdddtjtjg}|jddd	d}t|| t tjddddtjg}|jddd
d}t|| d S )Nr*   r   r   r   r   r   r   r   r   r   r   r   r#   r#   r$   test_interp_limit_before_endsD  s   z7TestSeriesInterpolateData.test_interp_limit_before_endsc                 C   s>   t g d}|jddd}t|| | }t|| d S )Nr   r   r   r{   r   )r=   r   ri   r#   r#   r$   test_interp_all_goodT  s
   z.TestSeriesInterpolateData.test_interp_all_goodcheck_scipyFTc                 C   s   t g d}tddtjg|d}| }d|jd< | }t	|| d}|rIt
jt|d |jddd W d    d S 1 sBw   Y  d S d S )	N))r   a)r   b)rF   cr   rF   r1   z?Only `method=linear` interpolation is supported on MultiIndexesrG   r   r{   )r   from_tuplesr   r3   r}   r7   locr9   r:   r;   rI   rJ   rK   )r=   r   idxr   rg   ri   rM   r#   r#   r$   test_interp_multiIndex^  s   
"z0TestSeriesInterpolateData.test_interp_multiIndexc                 C   s\   t dtjdgg dd}d}tjt|d |jdd W d    d S 1 s'w   Y  d S )	Nr   rb   )r   rF   r   r1   z8krogh interpolation requires that the index be monotonicrG   r   r,   r   r   r#   r#   r$   test_interp_nonmono_raiseo  s
   "z3TestSeriesInterpolateData.test_interp_nonmono_raiser!   r
   c                 C   sT   t dtjdgtdd|dd}|j|d}t g dtdd|dd}t|| d S )Nr   rb   1/1/2000periodstzr1   r,   )rX   rX   r`   )r   r3   r}   r   r9   r:   r;   )r=   r!   tz_naive_fixturedfri   rg   r#   r#   r$   test_interp_datetime64v  s   z0TestSeriesInterpolateData.test_interp_datetime64c                 C   sP   t dddd}t|}tj|d< |jdd}t|}|d |d< t|| d S )	Nz
2015-04-05rb   z
US/Centralr   r   r   r,   r   )r   r   pdNaTr9   r:   r;   )r=   dtirf   ri   rg   r#   r#   r$   #test_interp_pad_datetime64tz_values  s   
z=TestSeriesInterpolateData.test_interp_pad_datetime64tz_valuesc                 C   s,   t g d}|jdd}|}t|| d S )NrX   r\   r`   r   )r   r   r   r#   r#   r$   test_interp_limit_no_nans  s   z3TestSeriesInterpolateData.test_interp_limit_no_nansr   c                 C   sV   t ddtjdg}d}tjt|d |j|d W d    d S 1 s$w   Y  d S )Nr   r   rb   z6You must specify the order of the spline or polynomialrG   r,   r   )r=   r!   r   rM   r#   r#   r$   test_no_order  s
   "z'TestSeriesInterpolateData.test_no_orderr   g      r   c                 C   sX   t ddtjdg}d}tjt|d |jd|d W d    d S 1 s%w   Y  d S )Nr   r   rb   z.order needs to be specified and greater than 0rG   r   r{   r   )r=   r   r   rM   r#   r#   r$   %test_interpolate_spline_invalid_order  s
   "z?TestSeriesInterpolateData.test_interpolate_spline_invalid_orderc                 C   sD   t ddtjddtjdg}|jddd}t g d}t|| d S )	Nr   rF   r   r*   r   r   r{   rX   r\   r`   r   r   r   r   r   r   r#   r#   r$   test_spline  s   z%TestSeriesInterpolateData.test_splinec                 C   sn   t ddddtjdtjg}|jdddd}t g d}t|| |jddd	d}t g d
}t|| d S )Nr   rF   rb   r      r   )r!   r   ext)rX   r\   r`   r   r   r   r   r   r   r   )r=   r   result3	expected3result1	expected1r#   r#   r$   test_spline_extrapolate  s   z1TestSeriesInterpolateData.test_spline_extrapolatec                 C   sH   t ddtjddtjdg}|jdddd	d
 |jdddd
 ks"J d S )Nr   rF   r   gffffff@r   r   rb   r   )r!   r   r   r*   r{   )r   r3   r}   r9   )r=   r   r#   r#   r$   test_spline_smooth  s   z,TestSeriesInterpolateData.test_spline_smoothc                 C   sT   t tdd }tj|tjddd< |jddd}|jddd}t|| d S )	Nr+   rF   r   r   rb   r   r   r{   )	r   r3   r4   r}   rp   randintr9   r:   r;   )r=   r   r   r   r#   r#   r$   test_spline_interpolation  s
   z3TestSeriesInterpolateData.test_spline_interpolationc                 C   s   t dtjdgtg dd}|jdd}t g dtg dd}t|| t dtjdgtg dd}|jdd}t g d	tg dd}t|| d S )
Nr   rb   r   r1   r2   r,   r   )r   rF   r   )rX   g(%?r`   )r   r3   r}   r   to_timedeltar9   r:   r;   )r=   r   ri   rg   r#   r#   r$   test_interp_timedelta64  s   z1TestSeriesInterpolateData.test_interp_timedelta64c                 C   sZ   t dddd}ttjt||d}tj|d d d< |jdd}| }t	|| d S )	Nr   z	1/20/2000D)freqr1   rF   r	   r,   )
r   r   r3   rp   r   r5   r}   r9   r:   r;   )r=   rngr?   ri   expr#   r#   r$   %test_series_interpolate_method_values  s   z?TestSeriesInterpolateData.test_series_interpolate_method_valuesc                 C   s   t dddd}tg d|}||tjdd  }||jdd	}t ddd
d}tg d|}||tjdd  }||jdd	}t	|j
|j
 d S )Nz1/1/2012r   12D)r   r   )r   rQ      $   r   )daysr2   r,   12H)hours)r   r   appendr   
DateOffsetsort_valuesre   r9   r:   assert_numpy_array_equalr	   )r=   r   r?   rh   r  ri   r#   r#   r$    test_series_interpolate_intraday  s   z:TestSeriesInterpolateData.test_series_interpolate_intradayind)r   r   r   r/   z
2019-01-01r   startr   )r  endc           	      C   s   t jddtjdg|d}|\}}|dkrtd |dkr8|d jdi |}tg dd|d	}t	|| d S d
| d}tj
t|d |d jdd|i| W d    d S 1 s]w   Y  d S )Nr   r   rb   r1   r   scipyr   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.rG   r!   r#   )r   	DataFramer3   r}   rI   importorskipr9   r   r:   r;   rJ   rK   )	r=   r&   r  r   r!   r"   ri   rg   expected_errorr#   r#   r$   test_interp_non_timedelta_index  s   

"z9TestSeriesInterpolateData.test_interp_non_timedelta_indexc           	      C   s   t jddd}t jddtjdg|d}|\}}|dv r)|jtjj	| dd	 |d j
dd
|i|}tg dd|d}t|| dS )z
        Tests for non numerical index types  - object, period, timedelta
        Note that all methods except time, index, nearest and values
        are tested here.
        r   r   r  r   rb   r1   >   r   r   z2 interpolation is not supported for TimedeltaIndex)reasonr!   r   r  Nr#   )r   timedelta_ranger  r3   r}   node
add_markerrI   markxfailr9   r   r:   r;   )	r=   r    r&   r  r   r!   r"   ri   rg   r#   r#   r$    test_interpolate_timedelta_index  s   z:TestSeriesInterpolateData.test_interpolate_timedelta_indexzascending, expected_values)r   rF   rb   r   r+   r+   r   rb   rF   r   c                 C   sN   t ddtjddgg dd}|j|djdd	}t ||td
}t|| d S )Nr+   r   rF   r   r!  )r   r   )	ascendingr   r,   )r   r   r)   )r   r3   r}   
sort_indexr9   r6   r:   r;   )r=   r"  expected_valuesr?   ri   rg   r#   r#   r$   test_interpolate_unsorted_index$  s   z9TestSeriesInterpolateData.test_interpolate_unsorted_indexc                 C   sf   t g d}d}tjt|d |dd}W d    n1 s w   Y  t g d}t|| d S )Nr   zwIn a future version of pandas all arguments of Series.interpolate except for the argument 'method' will be keyword-onlyrG   r   r   )r   r:   assert_produces_warningFutureWarningr9   r;   )r=   rf   rM   ri   rg   r#   r#   r$   %test_interpolate_pos_args_deprecation/  s   z?TestSeriesInterpolateData.test_interpolate_pos_args_deprecation)@__name__
__module____qualname__rE   rN   tdskip_if_no_scipyrj   rs   rv   rx   rz   rI   r  parametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r3   r}   ranger   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   period_rangeinterval_ranger  r   r%  r(  r#   r#   r#   r$   r'   P   s4   





		
	

$

/
"" 
"" 



#"" 
"" 


	









r'   )numpyr3   rI   pandas.util._test_decoratorsutil_test_decoratorsr,  pandasr   r   r   r   r   r   pandas._testing_testingr:   fixturer%   r&   r'   r#   r#   r#   r$   <module>   s    

