gpt4 book ai didi

python - 使用 pandas 数据帧中的前向和后向填充填充缺失值(ffill 和 bfill)

转载 作者:太空狗 更新时间:2023-10-29 18:19:02 33 4
gpt4 key购买 nike

Pandas 数据框初学者。我在下面设置了此数据集,其中 A 列和 B 列 (Test.csv) 缺少值:

DateTime              A             B
01-01-2017 03:27
01-01-2017 03:28
01-01-2017 03:29 0.18127718 -0.178835737
01-01-2017 03:30 0.186923018 -0.183260853
01-01-2017 03:31
01-01-2017 03:32
01-01-2017 03:33 0.18127718 -0.178835737

我可以使用此代码通过前向传播来填充值,但这只会填充 03:31 和 03:32,而不是 03:27 和 03:28。

import pandas as pd
import numpy as np

df = pd.read_csv('test.csv', index_col = 0)
data = df.fillna(method='ffill')
ndata = data.to_csv('test1.csv')

结果:

   DateTime              A             B
01-01-2017 03:27
01-01-2017 03:28
01-01-2017 03:29 0.18127718 -0.178835737
01-01-2017 03:30 0.186923018 -0.183260853
01-01-2017 03:31 0.186923018 -0.183260853
01-01-2017 03:32 0.186923018 -0.183260853
01-01-2017 03:33 0.18127718 -0.178835737

我如何包含“Bfill”以使用回填填充 03:27 和 03:28 的缺失值?

最佳答案

您可以使用 ffillbfill如果需要替换NaN值正向和反向填充:

print (df)
A B
DateTime
01-01-2017 03:27 NaN NaN
01-01-2017 03:28 NaN NaN
01-01-2017 03:29 0.181277 -0.178836
01-01-2017 03:30 0.186923 -0.183261
01-01-2017 03:31 NaN NaN
01-01-2017 03:32 NaN NaN
01-01-2017 03:33 0.181277 -0.178836

data = df.ffill().bfill()
print (data)
A B
DateTime
01-01-2017 03:27 0.181277 -0.178836
01-01-2017 03:28 0.181277 -0.178836
01-01-2017 03:29 0.181277 -0.178836
01-01-2017 03:30 0.186923 -0.183261
01-01-2017 03:31 0.186923 -0.183261
01-01-2017 03:32 0.186923 -0.183261
01-01-2017 03:33 0.181277 -0.178836

与函数fillna相同带参数:

data = df.fillna(method='ffill').fillna(method='bfill')

关于python - 使用 pandas 数据帧中的前向和后向填充填充缺失值(ffill 和 bfill),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41589365/

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