2016-09-21 50 views
0

我有一组数据点随着时间的推移,但有一些缺失的数据,并没有定期的数据。为了得到一个完整的数据定期设定一段时间我做了以下内容:这是使用scipy推断最有效和最准确的方法吗?

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) 

当原始和外推数据集绘制,他们似乎要排队几乎是完美的,但我还是不知道有一种更高效和/或准确的方式来完成上述。

回答

1

你应该申请插补功能只有一次,这样

new_data = f(time) 

如果您需要定期fill_value =“外推”价值是多余的,因为它只是插。如果您的新时间间隔比原始间隔宽,则可以使用“外推”。但这是不好的做法。

相关问题