【问题标题】:Pandas interpolate is filling nan rather than interpolating熊猫插值是填充 nan 而不是插值
【发布时间】:2021-11-12 14:34:27
【问题描述】:

我有一个数据帧,它被重新采样到更高的采样率,比如从 8hz 到 16hz。使用

new_df = new_df.resample('62.5L').ffill()

我没有使用ffill(),而是尝试使用插值

interpolated = new_df.interpolate(method='linear', axis=0)

但新数据框填充的是“nan”而不是插值

任何人都可以帮助我在不填充 nan 的情况下进行插值!

【问题讨论】:

  • 感谢您的回复。但是以下代码有效。如果它是数字数据,我必须将每个特定列转换为浮点数,然后使用插值命令。对于我使用填充的文本列。 1. 数值数据:df.iloc[:,1,2,3].astype(float).interpolate() 2. 文本数据:ips.iloc[:,bbbb].ffill()

标签: pandas dataframe pandas-resample


【解决方案1】:
interpolated = new_df.interpolate(method='time', axis=0)

这应该可行。我知道它不是线性的(我不确定为什么它给出NaN)但是看到每个时间戳之间的差异是相等的。这应该可以满足您的需求。

【讨论】:

  • 感谢您的回复。但是以下代码有效。如果它是数字数据,我必须将每个特定列转换为浮点数,然后使用插值命令。对于我使用填充的文本列。 1. 数值数据:df.iloc[:,1,2,3].astype(float).interpolate() 2. 文本数据:ips.iloc[:,bbbb].ffill()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-18
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2018-08-16
  • 1970-01-01
相关资源
最近更新 更多