【发布时间】:2015-12-14 02:35:31
【问题描述】:
我知道了。数据框:
Value ts year JD check group_id
0 NaN 950832000 2000 49 NaN 19987
1 NaN 952214400 2000 65 NaN 19987
2 NaN 953596800 2000 81 NaN 19987
3 0.402539365 954979200 2000 97 NaN 19987
4 0.54021746 956361600 2000 113 NaN 19987
5 0.6156816 957744000 2000 129 NaN 19987
6 0.69301238 959126400 2000 145 NaN 19987
7 0.745426085 960508800 2000 161 NaN 19987
8 0.77601947 961891200 2000 177 NaN 19987
9 0.75455118 963273600 2000 193 NaN 19987
10 0.71251396 964656000 2000 209 1 19987
11 0.67047674 966038400 2000 225 NaN 19987
12 0.68953113 967420800 2000 241 NaN 19987
13 0.63757508 968803200 2000 257 NaN 19987
14 0.56996103 970185600 2000 273 NaN 19987
15 0.5095817 971568000 2000 289 NaN 19987
16 0.41956058 972950400 2000 305 1 19987
17 0.32953946 974332800 2000 321 NaN 19987
18 0.33679403444444 975715200 2000 337 1 19987
19 0.34404860888889 977097600 2000 353 1 19987
这里,JD 是指一年中的某一天(1 月 1 日是第 1 天)。我想创建一个新的数据框,其中“值”列中的所有元素在一年中的所有日子里都是线性插值的。
我正在这样做:
from scipy.interpolate import interp1d
interp1d(df['Value'], df.index, kind='linear')
但这只会填充现有的 NaN 值。如何填写完全缺失的值,例如第 1 行是一年中的第 49 天,但缺少一年中的第 50 天。
【问题讨论】: