zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
U
®ý°dæ~ã@sÊddlZddlZddlmmZddlZddlm    Z    m
Z
m Z m Z m Z ddlmZejddddddd    d
d d d ddddddgddd„ƒZejdddd    d
d d d ddddddgddd„ƒZGdd„dƒZdS)éN)ÚIndexÚ
MultiIndexÚSeriesÚ
date_rangeÚisnaÚlinearÚindexÚvaluesÚnearestÚslinearÚzeroÚ    quadraticÚcubicZ barycentricÚkroghÚ
polynomialÚsplineÚpiecewise_polynomialÚfrom_derivativesÚpchipÚakimaÚ cubicspline)ÚparamscCs"|j}|dkrddini}||fS)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.
    ©rrÚorderé©Úparam©ÚrequestÚmethodÚkwargs©r!úcd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/series/methods/test_interpolate.pyÚnontemporal_methodsr#cCs"|j}|dkrddini}||fS)zÕFixture 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
    rrrrrr!r!r"Úinterp_methods_ind2sr$c@s$eZdZejjdddd„ƒZdd„Zdd„Ze    j
d    d
„ƒZ e    j
d d „ƒZ e    j
d d„ƒZ e    j
dd„ƒZe    j
dd„ƒZej diejdddœe    j
dg¡dd„ƒZdd„Zdd„Zej diejdddœe    j
dg¡dd„ƒZd d!„Zd"d#„Ze    j
d$d%„ƒZe    j
d&d'„ƒZd(d)„Zej d*d+d,g¡d-d.„ƒZd/d0„Zej d1d2d3g¡d4d5„ƒZd6d7„Zd8d9„Zd:d;„Z d<d=„Z!d>d?„Z"ej d@dAdBdCdDdEdFdGdHg¡dIdJ„ƒZ#ej dKe$j%e$j%dLe$j%e$j%e$j%dMe$j%e$j%g    e$j%e$j%dNdNdNdNdOe$j%e$j%g    dPdQdRœfe$j%e$j%dLe$j%e$j%e$j%dMe$j%e$j%g    e$j%e$j%dNdNe$j%e$j%dOe$j%e$j%g    dPdQddSœfe$j%e$j%dLe$j%e$j%e$j%dMe$j%e$j%g    e$j%e$j%dNe$j%e$j%e$j%dOdOdOg    dPdTdRœfe$j%e$j%dLe$j%e$j%e$j%dMe$j%e$j%g    e$j%e$j%dNe$j%e$j%e$j%dOdOe$j%g    dPdTddSœfe$j%e$j%e$j%e$j%e$j%e$j%e$j%ge$j%e$j%e$j%e$j%e$j%e$j%e$j%gdPdTddSœfe&dUƒe&dUƒdPdTddSœff¡dVdW„ƒZ'ej dKe$j%e$j%dLe$j%e$j%e$j%dMe$j%e$j%g    e$j%e$j%dNdOdOdOdOe$j%e$j%g    dXdQdRœfe$j%e$j%dLe$j%e$j%e$j%dMe$j%e$j%g    e$j%e$j%dNe$j%e$j%dOdOe$j%e$j%g    dXdQddSœfe$j%e$j%dLe$j%e$j%e$j%dMe$j%e$j%g    dNdNdNe$j%e$j%e$j%dOe$j%e$j%g    dXdTdRœfe$j%e$j%dLe$j%e$j%e$j%dMe$j%e$j%g    e$j%dNdNe$j%e$j%e$j%dOe$j%e$j%g    dXdTddSœff¡dYdZ„ƒZ(d[d\„Z)d]d^„Z*d_d`„Z+e    j
dadb„ƒZ,ej dcddejdee    j
dg¡dfdg„ƒZ-e    j
dhdi„ƒZ.e    j
ej djdkdPg¡dldm„ƒƒZ/dndo„Z0dpdq„Z1e    j
ej djddrg¡dsdt„ƒƒZ2e    j
ej dud+dvd,dwe$j%g¡dxdy„ƒƒZ3e    j
dzd{„ƒZ4e    j
d|d}„ƒZ5e    j
d~d„ƒZ6e    j
d€d„ƒZ7d‚dƒ„Z8d„d…„Z9d†d‡„Z:ej dˆd‰dŠd‹dŒge;j<ddŽde;j=d,dŽdg¡d‘d’„ƒZ>e    j
d“d”„ƒZ?ej d•dedd–dLd—d˜gfddd˜d—dLd–dgfg¡d™dš„ƒZ@d2S)›ÚTestSeriesInterpolateDataz)EA.fillna does not handle 'linear' method©ÚreasoncCsRttdddƒ}| ¡}tj|d<|j d¡}| ¡}|j d¡}t     ||¡dS)Nz
2012-01-01é)ÚperiodséÚD)
rrÚcopyÚpdÚNaTÚdtZ    to_periodÚ interpolateÚtmÚassert_series_equal)ÚselfÚorigÚserZser_perZres_perZ expected_perr!r!r"Útest_interpolate_period_valuesQs
  z8TestSeriesInterpolateData.test_interpolate_period_valuescCsšttjt|ƒtd|jƒ}| ¡}tj|dd…<|jdd}t     
||¡tdd„|jDƒ|jd  t¡}| ¡}tj|dd…<|jd    d}t     
||¡dS)
N©Údtyper(é
r©rcSsg|] }| ¡‘qSr!)Ú    toordinal)Ú.0Údr!r!r"Ú
<listcomp>gsz>TestSeriesInterpolateData.test_interpolate.<locals>.<listcomp>©rÚtime) rÚnpÚarangeÚlenÚfloatrr,ÚNaNr0r1r2Úastype)r3Zdatetime_seriesÚtsZts_copyZ linear_interpZord_tsZ ord_ts_copyZ time_interpr!r!r"Útest_interpolate]s  ÿþ z*TestSeriesInterpolateData.test_interpolatec    Cs@tdddtjgƒ}d}tjt|d|jddW5QRXdS)Nrrr*zGtime-weighted interpolation only works on Series.* with a DatetimeIndex©Úmatchr@r:)rrArEÚpytestÚraisesÚ
ValueErrorr0)r3Znon_tsÚmsgr!r!r"Ú/test_interpolate_time_raises_for_non_timeseriespszITestSeriesInterpolateData.test_interpolate_time_raises_for_non_timeseriesc Cstddddgƒ}tddddd    d
d d d g    tdddddddddg    ƒd}|j tddddddgƒ¡ t¡}| |¡jdddd…}t     ||¡dS)Nr9é é é ç&@ç€&@ç'@ç€'@ç(@ç€(@ç)@ç€)@ç*@çð?çô?çø?çü?ç@ç@ç@ç@ç@r?rr:ré©
rrrÚunionrFrDÚreindexr0r1r2)r3r5ÚexpectedÚ    new_indexÚresultr!r!r"Útest_interpolate_cubicsplinexsþÿz6TestSeriesInterpolateData.test_interpolate_cubicsplinec    Cs\tt tjjdd¡ƒ}|j tddddddgƒ¡ t    ¡}| 
|¡j d    d
}|d d …dS) Néd)Úsizeg H@gÀH@gàH@g I@g@I@g`I@rr:é1é3) rrAÚsortÚrandomÚuniformrrgrrFrDrhr0)r3r5rjÚinterp_sr!r!r"Útest_interpolate_pchip‡sÿþz0TestSeriesInterpolateData.test_interpolate_pchipc Cstddddgƒ}tddddd    d
d d d g    tdddddddddg    ƒd}|j tddddddgƒ¡ t¡}| |¡jdd}t     |dd…|¡tddddd    dddd g    tdddddddddg    ƒd}|j tddddddgƒ¡ t¡}| |¡jddd}t     |dd…|¡dS)Nr9rPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdr?rr:rre)rZderrf©r3r5rirjrtr!r!r"Útest_interpolate_akima“s&þÿþÿz0TestSeriesInterpolateData.test_interpolate_akimac Cstddddgƒ}tddddd    d
d d d g    tdddddddddg    ƒd}|j tddddddgƒ¡ t¡}| |¡jdd}t     |dd…|¡dS)Nr9rPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdr?rr:rrerfrvr!r!r"Ú%test_interpolate_piecewise_polynomial­sþÿz?TestSeriesInterpolateData.test_interpolate_piecewise_polynomialc Cstddddgƒ}tddddd    d
d d d g    tdddddddddg    ƒd}|j tddddddgƒ¡ t¡}| |¡jdd}t     |dd…|¡dS)Nr9rPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdr?rr:rrerfrvr!r!r"Ú!test_interpolate_from_derivatives¼sþÿz;TestSeriesInterpolateData.test_interpolate_from_derivativesr rr©rr)ZmarkscCsLttjtjgƒ}t |jf|Ž|¡tgtd ¡}t |jf|Ž|¡dS)Nr7)rrAÚnanr1r2r0Úobject)r3r Úsr!r!r"Útest_interpolate_cornersËs
z2TestSeriesInterpolateData.test_interpolate_cornerscCsÊttjt tj d¡¡d}tj d¡|ddd…<|jj     t
¡}|j dd}|  ¡}t |jƒ}|}tt |||||j|¡|j|d}t |||¡|j dd}t ||¡t |||¡dS)Nér?r9rerr:r    )rrAr{rqrrZrandÚrandnrr    rFrDr0r,rZinterpr1r2)r3r}ÚvalsrkriÚbadZgoodZ other_resultr!r!r"Útest_interpolate_index_valuesÛs 
ÿ  z7TestSeriesInterpolateData.test_interpolate_index_valuesc    CsHtddtjtjtjdgƒ}d}tjt|d|jddW5QRXdS)NrrerPzStime-weighted interpolation only works on Series or DataFrames with a DatetimeIndexrIr@r:©rrAr{rKrLrMr0©r3r}rNr!r!r"Útest_interpolate_non_tsòs
ÿz1TestSeriesInterpolateData.test_interpolate_non_tscCs>tddtjdgƒ}|jf|Ž}tddddgƒ}t ||¡dS)Nrrreçr\r`rd©rrAr{r0r1r2)r3r r}rkrir!r!r"Útest_nan_interpolateûs
 z.TestSeriesInterpolateData.test_nan_interpolatecCsRtddtjdgddddgd}| ¡}tdd    d
d gddddgd}t ||¡dS) Nrr*érer(é    r?r\r`rdç@rˆ©r3r}rkrir!r!r"Útest_nan_irregular_index
sz2TestSeriesInterpolateData.test_nan_irregular_indexcCsJtdddtjgtdƒd}| ¡}tddddgtdƒd}t ||¡dS)    Nrrr*Zabcdr?r‡r\r`)rrAr{Úlistr0r1r2rr!r!r"Útest_nan_str_indexsz,TestSeriesInterpolateData.test_nan_str_indexcCsVtddtjdgddddgd}|jdd}td    d
d d gddddgd}t ||¡dS) NrrŠér*rer?r r:r\rŒç"@g0@rˆ)r3Úsqrkrir!r!r"Útest_interp_quads z*TestSeriesInterpolateData.test_interp_quadcCsltddtjdtjdgƒ}tddddd    d
gƒ}|jd d }t ||¡|jd d d}t ||¡tddddddgƒ}|jdd }t || d¡¡|jdd d}t ||¡tddddddgƒ}|jdd }t || d¡¡|jdd d}t ||¡tdddddd
gƒ}|jdd }t ||¡|jdd d}t ||¡tdddddd
gƒ}|jdd }t ||¡dS)NrrerQér\rdg@rWg€2@g9@r r:Zinfer)rZdowncastr
rDr g÷:©/KK@gL8ô2@r g333333@g3333332@r)rrAr{r0r1r2rF©r3r}rirkr!r!r"Útest_interp_scipy_basics0           z1TestSeriesInterpolateData.test_interp_scipy_basiccCsNtddtjtjtjdgƒ}tddddtjdgƒ}|jd    d
d }t ||¡dS) NrrerPr\rdç@ç@rSrr*©rÚlimitrˆr–r!r!r"Útest_interp_limitBsz+TestSeriesInterpolateData.test_interp_limitr›éÿÿÿÿrc    CsNtddtjdgƒ}|\}}tjtdd|jf||dœ|—ŽW5QRXdS)Nrr*rŠzLimit must be greater than 0rI©r›rr„)r3r#r›r}rr r!r!r"Ú*test_interpolate_invalid_nonpositive_limitIszDTestSeriesInterpolateData.test_interpolate_invalid_nonpositive_limitc    CsRtddtjdgƒ}|\}}d}tjtdd|jf||dœ|—ŽW5QRXdS)Nrr*rŠr`zLimit must be an integerrIržr„)r3r#r}rr r›r!r!r"Ú$test_interpolate_invalid_float_limitQs
z>TestSeriesInterpolateData.test_interpolate_invalid_float_limitÚinvalid_methodNZnonexistent_methodc    Csvtddtjdtjdgƒ}d|›d}tjt|d|j|dW5QRXtjt|d|j|d    d
W5QRXdS) NrrerQr•zmethod must be one of.* Got 'z    ' insteadrIr:rršr„)r3r¡r}rNr!r!r"Útest_interp_invalid_methodYs  z4TestSeriesInterpolateData.test_interp_invalid_methodc    CsHtddtjdtjdgƒ}d}tjt|d|jdddW5QRXdS)    NrrerQr•z&Cannot pass both fill_value and methodrIÚpad)Z
fill_valuerr„)r3r5rNr!r!r"Ú$test_interp_invalid_method_and_valuefsz>TestSeriesInterpolateData.test_interp_invalid_method_and_valuecCsltddtjtjtjdgƒ}tddddtjdgƒ}|jd    d
d d }t ||¡|jd    d
d d }t ||¡dS)NrrerPr\rdr˜r™rSrr*Úforward©rr›Úlimit_directionÚFORWARDrˆr–r!r!r"Útest_interp_limit_forwardns  z3TestSeriesInterpolateData.test_interp_limit_forwardc    CsÀttjddtjtjtjdtjgƒ}tddddddddgƒ}|jddd    }t ||¡ttjdddddddgƒ}|jdd
d    }t ||¡tdddddddtjgƒ}|jdd d    }t ||¡dS) Nr\rdrSr˜r™r’rÚboth©rr§r¥Úbackwardrˆr–r!r!r"Útest_interp_unlimitedzs"  z/TestSeriesInterpolateData.test_interp_unlimitedc    Csttddtjtjtjdgƒ}d}tjt|d|jdddd    W5QRXtjt|d|jddd
W5QRXdS) NrrerPzVInvalid limit_direction: expecting one of \['forward', 'backward', 'both'\], got 'abc'rIrr*Úabcr¦r«r„r…r!r!r"Útest_interp_limit_bad_direction‰sÿz9TestSeriesInterpolateData.test_interp_limit_bad_directionc
Csttjtjdtjtjtjdtjtjg    ƒ}ttjtjdddddtjtjg    ƒ}|jdd    d
}t ||¡ttjtjddtjtjdtjtjg    ƒ}|jdd    d d }t ||¡ttjtjddtjddtjtjg    ƒ}|jdd    d d d}t ||¡ttjtjdtjtjtjdddg    ƒ}|jddd
}t ||¡ttjtjdtjtjtjddtjg    ƒ}|jddd d }t ||¡ttjddtjtjtjddtjg    ƒ}|jddd d d}t ||¡tdddtjtjtjdtjtjg    ƒ}|jdddd}t ||¡d}tjt|d|jddd
W5QRXdS)NreérdrŒr˜ç@r™rÚinside©rÚ
limit_arear©rr´r›rª)rr´r§r›Úoutsider¬)rr´r§zEInvalid limit_area: expecting one of \['inside', 'outside'\], got abcrIr®)    rrAr{r0r1r2rKrLrM)r3r}rirkrNr!r!r"Útest_interp_limit_area˜sV("  ÿ $ÿ $  ÿ $ÿ $ÿ 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    CsLtdddgƒ}d|›d|›d}tjt|d|j||dW5QRXdS)    Nrr*rez`limit_direction` must be 'z' for method `ú`rIr«)rrKrLrMr0)r3rr§rir}rNr!r!r"Ú"test_interp_limit_direction_raisesÇsz<TestSeriesInterpolateData.test_interp_limit_direction_raiseszdata, expected_data, kwargsrer°rdr™r£r²r³rµr¶r(cCs,t|ƒ}t|ƒ}|jf|Ž}t ||¡dS©N©rr0r1r2©r3ÚdataZ expected_datar r}rirkr!r!r"Útest_interp_limit_area_with_padÜs& z9TestSeriesInterpolateData.test_interp_limit_area_with_padrºcCs,t|ƒ}t|ƒ}|jf|Ž}t ||¡dSr½r¾r¿r!r!r"Ú$test_interp_limit_area_with_backfills z>TestSeriesInterpolateData.test_interp_limit_area_with_backfillc Cs"tddtjtjtjdgƒ}tddtjdddgƒ}|jd    d
d d }t ||¡tddd tjddgƒ}|jd    ddd }t ||¡tddtjtjtjddtjtjdtjg ƒ}tdddd dddddddg ƒ}|jd    d
dd }t ||¡tdddtjdddddddg ƒ}|jd    ddd }t ||¡dS)NrrerPr\rdr™r’rSrr*r¬r¦r˜rªr°r‹rQrŒr±g$@rWrˆr–r!r!r"Útest_interp_limit_direction(s   * ÿz5TestSeriesInterpolateData.test_interp_limit_directioncCs€ttjtjdddtjgƒ}tdddddtjgƒ}|jddd    d
}t ||¡tddddddgƒ}|jddd d
}t ||¡dS) Nr(r°r‹r˜r™r’rr*r¬r¦rªrˆr–r!r!r"Útest_interp_limit_to_endsAs z3TestSeriesInterpolateData.test_interp_limit_to_endscCsÀttjtjddtjtjgƒ}ttjtjdddtjgƒ}|jdddd}t ||¡ttjdddtjtjgƒ}|jddd    d}t ||¡ttjddddtjgƒ}|jddd
d}t ||¡dS) Nr(r°r˜r™rrr¥r¦r¬rªrˆr–r!r!r"Útest_interp_limit_before_endsMs  z7TestSeriesInterpolateData.test_interp_limit_before_endscCs@tdddgƒ}|jddd}t ||¡| ¡}t ||¡dS)Nrr*rerrzr¾)r3r}rkr!r!r"Útest_interp_all_good]s
 z.TestSeriesInterpolateData.test_interp_all_goodÚ check_scipyFTc    Cs~t dddg¡}tddtjg|d}| ¡}d|jd<| ¡}t     ||¡d}|rzt
j t |d|jd    dd
W5QRXdS) N)rÚa)rÚb)r*Úcrr*r?z?Only `method=linear` interpolation is supported on MultiIndexesrIrrz) rÚ from_tuplesrrAr{r,Úlocr0r1r2rKrLrM)r3rÇÚidxr}rirkrNr!r!r"Útest_interp_multiIndexgs
 z0TestSeriesInterpolateData.test_interp_multiIndexc    CsHtdtjdgdddgd}d}tjt|d|jdd    W5QRXdS)
Nrrerr*r?z8krogh interpolation requires that the index be monotonicrIrr:r„r…r!r!r"Útest_interp_nonmono_raisexsz3TestSeriesInterpolateData.test_interp_nonmono_raiserr
cCsVtdtjdgtdd|dd}|j|d}tdddgtdd|dd}t ||¡dS)    Nrreú1/1/2000©r)Útzr?r:r\rd)rrAr{rr0r1r2)r3rZtz_naive_fixtureÚdfrkrir!r!r"Útest_interp_datetime64s
ÿ  þz0TestSeriesInterpolateData.test_interp_datetime64cCsPtdddd}t|ƒ}tj|d<|jdd}t|ƒ}|d|d<t ||¡dS)    Nz
2015-04-05rez
US/CentralrÑrr£r:r)rrr-r.r0r1r2)r3Zdtir5rkrir!r!r"Ú#test_interp_pad_datetime64tz_valuesŒs
  z=TestSeriesInterpolateData.test_interp_pad_datetime64tz_valuescCs.tdddgƒ}|jdd}|}t ||¡dS)Nr\r`rdr)r›r¾rr!r!r"Útest_interp_limit_no_nans—s z3TestSeriesInterpolateData.test_interp_limit_no_nansrc    Cs@tddtjdgƒ}d}tjt|d|j|dW5QRXdS)Nrrrez6You must specify the order of the spline or polynomialrIr:r„)r3rr}rNr!r!r"Ú test_no_orderžsz'TestSeriesInterpolateData.test_no_orderrgð¿r‡c    CsBtddtjdgƒ}d}tjt|d|jd|dW5QRXdS)Nrrrez.order needs to be specified and greater than 0rIrrzr„)r3rr}rNr!r!r"Ú%test_interpolate_spline_invalid_order§sz?TestSeriesInterpolateData.test_interpolate_spline_invalid_ordercCsNtddtjddtjdgƒ}|jddd}tdd    d
d d d dgƒ}t ||¡dS)Nrr*rŠr(r°rrzr\r`rdrŒr˜r±r™rˆrr!r!r"Ú test_spline¯sz%TestSeriesInterpolateData.test_splinecCs‚tddddtjdtjgƒ}|jdddd}tdd    d
d d d d gƒ}t ||¡|jdddd}tdd    d
d d d dgƒ}t ||¡dS)Nrr*rerŠér)rrÚextr\r`rdrŒr˜r±rr™rˆ)r3r}Zresult3Z    expected3Úresult1Ú    expected1r!r!r"Útest_spline_extrapolate¶s z1TestSeriesInterpolateData.test_spline_extrapolatecCsHtddtjddtjdgƒ}|jdddd    d
|jddd d
ksDt‚dS) Nrr*rŠgffffff@r°rrer)rrr}r(rz)rrAr{r0ÚAssertionError)r3r}r!r!r"Útest_spline_smoothÁs
ÿÿz,TestSeriesInterpolateData.test_spline_smoothcCsXtt d¡ddd}tj|tj ddd¡<|jdd    d
}|jdd    d
}t ||¡dS) Nr9r*rDr7rr‹rerrrz)    rrArBr{rrÚrandintr0r1r2)r3r}rÜrÝr!r!r"Útest_spline_interpolationÉs
z3TestSeriesInterpolateData.test_spline_interpolationcCs°tdtjdgt dddg¡d}|jdd}tddd    gt dddg¡d}t ||¡tdtjdgt ddd
g¡d}|jdd}tdd d    gt ddd
g¡d}t ||¡dS) Nrrer*r?r@r:r\r`rdrŠg®(%«ªú?)rrAr{r-Z to_timedeltar0r1r2)r3rÓrkrir!r!r"Útest_interp_timedelta64Òs     z1TestSeriesInterpolateData.test_interp_timedelta64cCsZtdddd}ttj t|ƒ¡|d}tj|ddd…<|jdd}| ¡}t     ||¡dS)    NrÐz    1/20/2000r+)Úfreqr?r*r    r:)
rrrArrr€rCr{r0r1r2)r3ÚrngrGrkÚexpr!r!r"Ú%test_series_interpolate_method_valuesßs  z?TestSeriesInterpolateData.test_series_interpolate_method_valuescCs¬tdddd}tddddg|ƒ}| |tjd    d
¡ ¡}| |¡jd d }tddd d}tddddg|ƒ}| |tjd    d¡ ¡}| |¡jd d }t     |j
|j
¡dS)Nz1/1/2012rŠZ12D)r)rärrQéé$r)Údaysr@r:Z12H)Úhours) rrÚappendr-Z
DateOffsetZ sort_valuesrhr0r1Zassert_numpy_array_equalr    )r3rrGrjrærkr!r!r"Ú test_series_interpolate_intradayêsz:TestSeriesInterpolateData.test_series_interpolate_intradayÚindrÈrÉrÊr=z
2019-01-01rŠ©Ústartr))rðÚendc        Cs°tjddtjdg|d}|\}}|dkr2t d¡|dkrn|djf|Ž}tdd    d
d gd|d }t     ||¡n>d |›d}tj
t |d|djfd|i|—ŽW5QRXdS)Nrrrer?rZscipyrr‡r\r`rd©Únamerz9Index column must be numeric or datetime type when using z_ method other than linear. Try setting a numeric or datetime index column before interpolating.rIr) r-Ú    DataFramerAr{rKZ importorskipr0rr1r2rLrM)    r3r$rîrÓrr rkriZexpected_errorr!r!r"Útest_interp_non_timedelta_indexùs
 
 
ÿz9TestSeriesInterpolateData.test_interp_non_timedelta_indexc    Cstjddd}tjddtjdg|d}|\}}|dkrR|j tjj    |›dd    ¡|dj
fd
|i|—Ž}t d d d dgd|d}t   ||¡dS)z°
        Tests for non numerical index types  - object, period, timedelta
        Note that all methods except time, index, nearest and values
        are tested here.
        rrŠrïrrer?>r rz2 interpolation is not supported for TimedeltaIndexr&rr‡r\r`rdròN)r-Ztimedelta_rangerôrAr{ÚnodeZ
add_markerrKÚmarkÚxfailr0rr1r2)    r3rr$rîrÓrr rkrir!r!r"Ú test_interpolate_timedelta_indexsÿÿz:TestSeriesInterpolateData.test_interpolate_timedelta_indexzascending, expected_valuesr*r‹r9cCsTtddtjddgdddddgd}|j|djdd    }t||td
}t ||¡dS) Nr9r‹r*rre)rÀr)Ú    ascendingrr:)rÀrr8)rrAr{Z
sort_indexr0rDr1r2)r3rúZexpected_valuesrGrkrir!r!r"Útest_interpolate_unsorted_index.s"z9TestSeriesInterpolateData.test_interpolate_unsorted_index)AÚ__name__Ú
__module__Ú __qualname__rKr÷rør6rHrOÚtdZskip_if_no_scipyrlrurwrxryZ parametrizerr~rƒr†r‰rŽrr”r—rœrŸr r¢r¤r©r­r¯r·r¼rAr{ÚrangerÁrÂrÃrÄrÅrÆrÎrÏrÔrÕrÖr×rØrÙrÞràrârãrçrír-Z period_rangeZinterval_rangerõrùrûr!r!r!r"r%PsJ 
 
 
 
 
 
ÿþþ    
    ÿþþ    
 
 
$
 
 /øþ
"ý" 
ý"ý" 
ý
ý
ýæþ#
"ý" 
ý"ý" 
ýðþ
 
    ÿ
 
 
 
 
 
 
 
  ýþ
 
"þr%)ÚnumpyrArKZpandas.util._test_decoratorsÚutilZ_test_decoratorsrÿZpandasr-rrrrrZpandas._testingZ_testingr1Zfixturer#r$r%r!r!r!r"Ú<module>sZ ïÿ
òÿ