随着时间的推移,我有一组数据点,但是有一些数据缺失且数据不是定期的。为了定期获得完整的数据集,我做了以下几点:
import pandas as pd
import numpy as np
from scipy import interpolate
x = data['time']
y = data['shares']
f = interpolate.interp1d(x, y, fill_value='extrapolate')
time = np.arange(0, 3780060, 600)
new_data = []
for interval in time:
new_data.append(f(interval))
test = pd.DataFrame({'time': time, 'shares': y})
test_func = test_func.astype(float)
当绘制原始数据集和外推数据集时,它们似乎几乎完美排列,但我仍然想知道是否有更有效和/或更准确的方法来实现上述目标。
答案 0 :(得分:1)
您应该只应用插值函数一次,如此
new_data = f(time)
如果您需要定期获取值,请填写以下内容:'外推'是多余的,因为它只是插值。您可以使用' extrapolate'如果您的新间隔比原始间隔宽。但这是不好的做法。