zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
­ý°dZ;ã@sXddlZddlZddlmmZddlmZm    Z    m
Z
m Z ddl m ZGdd„dƒZdS)éN)Ú    DataFrameÚNaTÚSeriesÚ
date_rangec
@sDeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
e j dd„ƒZ e j dd„ƒZdd„Zej dejddddejddddejddd dg¡d!d"„ƒZd#d$„Zej d%d&ejd'e j d(g¡d)d*„ƒZd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zej dd7d8g¡d9d:„ƒZej d;d<d=d>g¡d?d@„ƒZdAS)BÚTestDataFrameInterpolatec Cs¬ttdddƒ}| ¡}t|d<||ƒ ¡}||ƒ}t ||¡|j d¡}||ƒ ¡}||j d¡ƒ}t ||¡||d}    ||    ƒ ¡}
|||dƒ} t |
| ¡dS)Nz
2012-01-01é)Úperiodséz
US/Pacificr)    rrÚcopyrÚ interpolateÚtmÚ assert_equalÚdtZ tz_localize) ÚselfÚframe_or_seriesÚorigZserÚresÚexpectedZser_tzZres_tzZ expected_tzZser_tdZres_tdZ expected_td©rúbd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/frame/methods/test_interpolate.pyÚ$test_interpolate_datetimelike_valuess       z=TestDataFrameInterpolate.test_interpolate_datetimelike_valuescCsŒ|r&|tkr&tjjdd}|j |¡|dtjdgƒ}|j}|j    dd|dddgƒ}t
  ||¡t  ||j¡stt ‚| ¡ddksˆt ‚dS)Nz'.values-based in-place check is invalid)Úreasonér    T©Úinplacegø?)rÚpytestÚmarkZxfailÚnodeZ
add_markerÚnpÚnanÚvaluesr r r Ú shares_memoryÚAssertionErrorZsqueeze)rrÚusing_array_managerÚrequestrÚobjrrrrrÚtest_interpolate_inplace&s    z1TestDataFrameInterpolate.test_interpolate_inplacecCs>tddtjdgdddtjgddddgtdƒdœƒ}td    d
d d gd    d d d gddddgtdƒdœƒ}| ¡}t ||¡|dj}|dj}|rºt     ||dj¡s¢t
‚t     ||dj¡sæt
‚n,t     ||dj¡rÐt
‚t     ||dj¡ræt
‚|jdd}|dksþt
‚t ||¡t     |dj|¡s"t
‚t     |dj|¡s:t
‚dS)Nrr    éé    érÚabcd©ÚAÚBÚCÚDçð?ç@ç@ç@ç"@r.r/Tr) rrrÚlistr r Úassert_frame_equalZ_valuesr r!r")rÚusing_copy_on_writeÚdfrÚresultZcvaluesZdvaluesrrrrÚtest_interp_basic7s8  
üÿ
 
 
üÿ 
 
   z*TestDataFrameInterpolate.test_interp_basiccCsntddtjdgdddtjgddddgtdƒdœƒ}| d    ¡ ¡}| d    ¡}d|jd
<d|jd <t ||¡dS) Nrr    r'r(r)rr*r+r.©r)r,)rr-)    rrrr5Ú    set_indexr Úlocr r6©rr8r9rrrrÚ&test_interp_basic_with_non_range_index]s  
üÿ    
 
 
z?TestDataFrameInterpolate.test_interp_basic_with_non_range_indexcCs.tƒ}| ¡}||k    st‚|}t ||¡dS)N)rr r"r r6r>rrrÚtest_interp_emptyms
 z*TestDataFrameInterpolate.test_interp_emptyc    Cs`tddtjdgdddtjgddddgtdƒdœƒ}d    }tjt|d
|jd d W5QRXdS) Nrr    r'r(r)rr*r+a method must be one of \['linear', 'time', 'index', 'values', 'nearest', 'zero', 'slinear', 'quadratic', 'cubic', 'barycentric', 'krogh', 'spline', 'polynomial', 'from_derivatives', 'piecewise_polynomial', 'pchip', 'akima', 'cubicspline'\]. Got 'not_a_method' instead.©ÚmatchZ not_a_method©Úmethod)rrrr5rÚraisesÚ
ValueErrorr ©rr8ÚmsgrrrÚtest_interp_bad_methodus  
üÿ    ÿz/TestDataFrameInterpolate.test_interp_bad_methodcCs’tddtjdgdddtjgdddd    gtd
ƒd œƒ}|d  ¡}tddd dgd d}t ||¡|d jdd}tddddgd d}t ||¡dS)Nr0r1r3rr'r(r    r)rr*r+r,r2)ÚnameÚinfer©Údowncast)rrrr5r rr Zassert_series_equalr>rrrÚtest_interp_comboˆs  
üÿ      z*TestDataFrameInterpolate.test_interp_comboc    CsZtddtjdgtjdddgdœƒ}| d¡}d}tjt|d|jd    d
W5QRXdS) Nrr    r'r)©r,r-r,zkInterpolation with NaNs in the index has not been implemented. Try filling those NaNs before interpolating.rAr rC)rrrr<rrEÚNotImplementedErrorr rGrrrÚtest_interp_nan_idxšs "
ÿz,TestDataFrameInterpolate.test_interp_nan_idxc    CsVtddtjddtjdgddddddd    gd
œƒ}| d ¡}| ¡}|jd dd }d|jd<d|jd<t ||¡|jdd}d|jd<d|jd<t ||¡|jdd}d|jd<d|jd<tj||dd|jdd}d|jd<d|jd<t ||¡|jdd}d|jd<d|jd<t ||¡|jdd}d|jd<d|jd<tj||dddS) Nrr    r'rér)éé é©r,r.r.Ú
polynomial©rDÚorderg¥ÝÇUUU@r;gáu:±@)rTr,ZcubicrCgv‚ä:†@g„b+hZ@ZnearestF)Z check_dtypeZ    quadraticgå^¢r’@g!ëg¹…@ZslineargXè ;±@Zzeror1)    rrrr<r
r r=r r6©rr8rr9rrrÚtest_interp_various¤s:(ÿ
 
 
 
 
 
 
 
 
 
 
 
 
z,TestDataFrameInterpolate.test_interp_variousc    Csàtddtjddtjdgddddddd    gd
œƒ}|jd d }| ¡}d|jd <d|jd<t ||¡|jd dd}t || tj    ¡¡|jdd }| ¡}|d|d<t ||¡|jdd }d|jd <d|jd<t ||¡dS)Nrr    r'rrRr)rSrTrUrVZ barycentricrC)r    r,é)rr,rK)rDrMZkroghr,Zpchipç@)
rrrr r
r=r r6ÚastypeÚint64)rr8r9rZ    expectedkrrrÚtest_interp_alt_scipyËs$(ÿ 
 
 
 
z.TestDataFrameInterpolate.test_interp_alt_scipyc    CsÔtddtjdgdddtjgtjdddgdtjddgddddgdœƒ}|jdd    }| ¡}d|jd
<d|jd <d|jd <|d tj¡|d<t     ||¡|jdd d}t     ||¡|jdd    }| ¡}t     ||¡dS)Nrr    r'r)rr\rR)rrr    r)r'©Úaxis)r)r)rr    )rr)r ©rbrDr)
rrrr r
r=r^Úfloat64r r6r>rrrÚtest_interp_rowwiseäs(    
ûÿ     
 
 
   z,TestDataFrameInterpolate.test_interp_rowwisezaxis_name, axis_numberÚrowsrZrows_0)ÚidÚindexZindex_0ÚcolumnsrZ    columns_1cCs\dtjdgdtjdgdddgdœ}t|tjd    }|j|d
d }|j|d
d }t ||¡dS) Nrr\rrRr    rrS)rrr    ©ZdtypeÚlinearrc)rrrrdr r r6)rÚ    axis_nameÚ axis_numberÚdatar8r9rrrrÚtest_interp_axis_namesýs
 
"z/TestDataFrameInterpolate.test_interp_axis_namesc CsHtdddtjddtjtjdg    ddd    dd    dddd
g    d œƒ}|jdd dS) Nrçà?r0r'rSé@rr    r)éÿÿÿÿ)rrra)rrrr )rr8rrrÚtest_rowwise_alts þÿz)TestDataFrameInterpolate.test_rowwise_altÚ check_scipyFT)ZmarkscCsrttjtjdddgtjddtjdgdœƒ}| ¡}| ¡}d|jd    <t ||¡|rn|jd
d d }t ||¡dS) NrpgÐ?réýÿÿÿg ÀéüÿÿÿrOgÀ)r)r-rWrrX)rrrr r
r=r r6)rrtr8r9rrrrÚtest_interp_leading_nanss$ÿ
 z1TestDataFrameInterpolate.test_interp_leading_nansc    Csxtddtjdgddddgtjddd    gtjtjd
d
gddd dgd œƒ}d }tjt|d| d¡j|dW5QRXdS)Nrr    r'ÚaÚbÚcÚdrrRr(r))r,r-r.r/ÚEúvCannot interpolate with all object-dtype columns in the DataFrame. Try setting at least one column to a numeric dtype.rAÚobjectra)rrrrrEÚ    TypeErrorr^r )rrbr8rHrrrÚtest_interp_raise_on_only_mixed(s 
 
ûÿ
ÿz8TestDataFrameInterpolate.test_interp_raise_on_only_mixedc    CsHtdddgdddgdœdd    }d
}tjt|d | ¡W5QRXdS) Nrr    r)r'rr\rOr~rjr}rA)rrrErr rGrrrÚ%test_interp_raise_on_all_object_dtype:s
ÿz>TestDataFrameInterpolate.test_interp_raise_on_all_object_dtypecCsÂtdddtjdgiƒ}tdddddgiƒ}| ¡}| ¡}|djdd}|dksVt‚|rht ||¡n t ||¡| ¡}|djddd    }|dksšt‚|r¬t ||¡nt || d
¡¡dS) Nrxr0r1r3r2TrrK)rrMr_)    rrrr
r r"r r6r^)rr7r8rZ expected_cowr9Ú return_valuerrrÚtest_interp_inplaceEs   z,TestDataFrameInterpolate.test_interp_inplacecCsftddddgtjdddgddddgdœƒ}|jdd    d
d }|jdd    d d }|dksVt‚t ||¡dS) Nr0r1r2r3r)r    )rxryrzrkrF)rDrbrT)rrrr r"r r6)rr9rr‚rrrÚtest_interp_inplace_rowYs$ÿ z0TestDataFrameInterpolate.test_interp_inplace_rowc    CsÔtddtjdgddddgddtjdgddddgd    œƒ}ttjddddgd
d tjddddgd d tjddddgd
d tjddddgd
d d    œƒ}|jdd }t ||¡|ddgjdd }t ||ddg¡dS)Nrr    r'r)r0r1r3r2r+rdrjr_rLr-r/)rrrÚarrayr r r6rZrrrÚtest_interp_ignore_all_goodcs$ 
 
üÿüÿ      z4TestDataFrameInterpolate.test_interp_ignore_all_goodcCstd}td|d}tj ||¡}tj||dk<t|||d}|jddd}|jddd    d
}|dksdt‚t     ||¡dS) Nrz
2014-01-01)Ústartrrp)rhrirnrÚtimercT)rbrDr)
rrÚrandomZrandrrr r"r r6)rrÚidxrnrr9r‚rrrÚtest_interp_time_inplace_axis}s  z6TestDataFrameInterpolate.test_interp_time_inplace_axis)rhr)rircCslt ddd¡}t |¡}tt |d¡t d¡|dj|dd}|jd    |d
}|jd    |d
}t     ||¡dS) Nrédiè)é
rr)rnrhrig®Gázð?)rirk©rDrb)
rZlinspaceÚsinrZtileZarangeZreindexr r r6)rrlrmÚxÚyr8r9rrrrÚtest_interp_string_axisŠs
 
ÿþz0TestDataFrameInterpolate.test_interp_string_axisrDZffillZbfillÚpadc    Cs~|r|dkrt |¡tddddtjdgdddtjdd    gddd
tjtjd gd œƒ}|j||d }|j||d}t ||¡dS)N)rrir0r1r2r3g@r]g @g$@r4g>@)r,r-r.rcrŽ)    ÚtdZ&mark_array_manager_not_yet_implementedrrrZfillnar r r6)rr$rbrDr#r8rr9rrrÚtest_interp_fillna_methods–s 
ýÿz3TestDataFrameInterpolate.test_interp_fillna_methodsN)Ú__name__Ú
__module__Ú __qualname__rr&r:r?r@rIrNrQr”Zskip_if_no_scipyr[r`rerrZ parametrizeÚparamrorsrwr€rrƒr„r†r‹r’r•rrrrrsJ&
 
&
ýþ
    
ÿ
 
 
r)ÚnumpyrrZpandas.util._test_decoratorsÚutilZ_test_decoratorsr”ZpandasrrrrZpandas._testingZ_testingr rrrrrÚ<module>s