You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Pandas DataFrame行均值填充缺失的NaN值

实现方法

你需要的填充逻辑可以通过Pandas的前向填充ffill()和后向填充bfill()取均值快速实现,步骤如下:

  1. 首先将原始object类型的收盘价序列转为数值类型,避免计算报错
  2. 对序列分别做前向填充(取每个位置前侧最近的有效值)、后向填充(取每个位置后侧最近的有效值),两者取均值即为你需要的填充值

示例代码

import pandas as pd

# 假设你的原始Series命名为close_series
# 第一步:转为数值类型
close_series = pd.to_numeric(close_series, errors='coerce')

# 第二步:填充NaN
close_filled = (close_series.ffill() + close_series.bfill()) / 2

# 输出验证
print(close_filled)

结果验证

计算逻辑和你给出的预期结果完全匹配:

  • 2016-11-24的填充值 = (26.174692 + 26.306471) / 2 = 26.240581
  • 2016-11-26、27的填充值 = (26.306471 + 26.254705) / 2 = 26.280588
  • 2016-12-03、04的填充值 = (25.861721 + 25.675812) / 2 = 25.768766

注:如果你的序列开头或结尾存在NaN,上述方法会保留该缺失值,你可以根据业务需求额外补充首尾的填充规则,比如开头用后向填充、结尾用前向填充即可。

内容的提问来源于stack exchange,提问作者MD Mushfirat Mohaimin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:36:03