gpt4 book ai didi

python - 使用列中最近邻居的平均值输入缺失值

转载 作者:太空狗 更新时间:2023-10-30 02:39:35 25 4
gpt4 key购买 nike

我有一个数据框:

df = pd.DataFrame(data=[676, 0, 670, 0, 668], index=['2012-01-31 00:00:00','2012-02-29 00:00:00',
'2012-03-31 00:00:00','2012-04-30 00:00:00',
'2012-05-31 00:00:00'])
df.index.name = "Date"
df.columns = ["Number"]

看起来像:

              Number
Date
2012-01-31 00:00:00 676
2012-02-29 00:00:00 0
2012-03-31 00:00:00 670
2012-04-30 00:00:00 0
2012-05-31 00:00:00 668

如何分别输入 (676+670)/2 和 (670+668)/2 的第二个和第四个值?

我可以将值保存为 np.array 并将它们输入到数组中,但这太可笑了!

最佳答案

我使用 where 方法并指定用 np.nan 替换任何 0。一旦我们将 0 指定为 NaN,我们就可以使用 fillna 方法。通过使用 ffillbfill,我们用相应的先前值和后续值填充所有 NaN,将它们相加,然后除以 2。

df.where(df.replace(to_replace=0, value=np.nan),
other=(df.fillna(method='ffill') + df.fillna(method='bfill'))/2)

Number
Date
2012-01-31 00:00:00 676.0
2012-02-29 00:00:00 673.0
2012-03-31 00:00:00 670.0
2012-04-30 00:00:00 669.0
2012-05-31 00:00:00 668.0

关于python - 使用列中最近邻居的平均值输入缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44102794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com