【问题标题】:Cannot interpolate on Pandas Dataframes无法在 Pandas 数据帧上进行插值
【发布时间】:2014-04-02 09:55:29
【问题描述】:

我正在尝试在我的 Pandas Dataframe 上插入缺失值:

              a   b    c
2013-11-19   20   28  55 
2013-11-20   27   29  54
2013-11-21  NaN  NaN  NaN
2013-11-22  NaN  NaN  NaN
2013-11-23  NaN  NaN  NaN
2013-11-14   34   62   89

不幸的是,如果我尝试使用

df1 = df1.interpolate()

我收到以下错误消息:

TypeError: interpolate() takes at least 2 arguments (1 given)

有什么想法吗?

谢谢

【问题讨论】:

  • 这对我有用。你有什么版本的熊猫?
  • 我的版本是 0.12.0
  • 已升级到 0.13.1,现在可以使用了!非常感谢
  • 实际上,澄清一下。 DataFrame.interpolate 在 0.12 中被弃用,并在 0.13 中再次添加,但具有其他行为(如之前的 Series.interpolate)。在 0.12 中更像是 .replace/.fillna,正如您在文档字符串中看到的,您需要提供一个 to_replace 参数。

标签: python pandas runtime-error interpolation dataframe


【解决方案1】:

最新版的 pandas 解决了这个问题。
如果您仍然想在不升级 pandas 的情况下使用插值,可以这样做:

for col in df1.columns:
    df1[col] = df1[col].interpolate()

请参阅this 了解更多信息。

【讨论】:

    猜你喜欢
    • 2016-04-23
    • 2021-12-17
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 2017-06-30
    • 2020-10-11
    • 2021-09-15
    相关资源
    最近更新 更多