【问题标题】:Uncertainity about the Interpolate Function in PandasPandas 插值函数的不确定性
【发布时间】:2023-03-14 09:49:01
【问题描述】:

我正在使用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)。

标签: python numpy pandas scipy


【解决方案1】:

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

方法:{‘linear’, ‘time’, ‘index’, ‘values’, ‘nearest’, ‘zero’, ‘slinear’, ‘quadratic’, ‘cubic’, ‘barycentric’, ‘krogh’, ‘polynomial’, ‘样条’ ‘分段多项式’, ‘pchip’}

  • ‘linear’:忽略索引并将值视为等间距。这是 MultiIndexes 上唯一支持的方法。
  • 默认“时间”:插值适用于每日和更高分辨率的数据,以插入给定的间隔长度“索引”,“值”:使用索引的实际数值
  • “最近”、“零”、“线性”、“二次”、“三次”、“重心”、“多项式”被传递给 scipy.interpolate.interp1d。 “多项式”和“样条”都要求您还指定一个顺序(int),例如df.interpolate(method='多项式', order=4)。这些使用索引的实际数值。
  • “krogh”、“piecewise_polynomial”、“spline”和“pchip”都是类似名称的 scipy 插值方法的封装。这些使用索引的实际数值。

Scipy docs 和图表说明输出 here

【讨论】:

  • 我看到了。但我不明白他们是使用多元插补还是只是interp1d。我希望它通过多变量分析来做到这一点。
  • 如果您查看 scipy 文档,您会发现 scipy 函数采用 1-dim 参数,因此它们使用单​​个列或行的值,具体取决于给定的 axis 关键字`(default=0,因此使用单个列作为输入)。
猜你喜欢
  • 2017-07-30
  • 2013-11-07
  • 1970-01-01
  • 2013-12-13
  • 2018-05-25
  • 2021-12-09
  • 2018-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多