关于熊猫中插值函数的不确定性

时间:2016-03-30 23:45:16

标签: python numpy pandas scipy

我正在使用pandas中的插值函数。这是一个举例说明的案例:

df=pd.DataFrame({'Data':np.random.normal(size=200), 'Data2':np.random.normal(size=200)}) 

df.iloc[1, 0] = np.nan

print df

print df.interpolate('nearest')

我的问题:interpolate函数是否适用于多列?也就是说,它是否使用多变量分析来确定缺失字段的值?或者它只是看单个列?

1 个答案:

答案 0 :(得分:0)

docs引用了各种可用的方法 - 大多数只依赖于index,可能通过单变量scipy.interp1d或其他单变量scipy方法:

  

方法:{'线性','时间','索引','值','最近','零',   'slinear','quadratic','cubic','barycentric','krogh','polynomial',   'spline''piecewise_polynomial','pchip'}

  • 'linear':忽略索引并将值视为等间距。这是MultiIndexes支持的唯一方法。
  • 默认'时间':插值适用于每日和更高分辨率数据,以插入给定长度的间隔'index','values':使用索引的实际数值
  • 'nearest','zero','slinear','quadratic','cubic','barycentric','polynomial'传递给scipy.interpolate.interp1d。 'polynomial'和'spline'都要求你也指定一个顺序(int),例如: df.interpolate(method ='polynomial',order = 4)。它们使用索引的实际数值。
  • 'krogh','piecewise_polynomial','spline'和'pchip'都是类似名称的scipy插值方法的包装器。它们使用索引的实际数值。

Scipy docs以及说明输出here

的图表