gpt4 book ai didi

python - 从同一组的其他记录中的值替换 Pandas 数据框中的 NAN 值

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:32 25 4
gpt4 key购买 nike

我有一个数据框 df

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [np.nan, 1, 2,np.nan,2,np.nan,np.nan],
'B': [10, np.nan, np.nan,5,np.nan,np.nan,7],
'C': [1,1,2,2,3,3,3]})

看起来像:

     A     B  C
0 NaN 10.0 1
1 1.0 NaN 1
2 2.0 NaN 2
3 NaN 5.0 2
4 2.0 NaN 3
5 NaN NaN 3
6 NaN 7.0 3

我想将 AB 列中的所有 NAN 值替换为来自 C 列中提到的同一组的其他记录的值

我的预期输出是:

     A     B   C
0 1.0 10.0 1
1 1.0 10.0 1
2 2.0 5.0 2
3 2.0 5.0 2
4 2.0 7.0 3
5 2.0 7.0 3
6 2.0 7.0 3

我如何在 pandas dataframe 中做同样的事情?

最佳答案

使用GroupBy.apply正向和反向填充缺失值:

df[['A','B']] = df.groupby('C')['A','B'].apply(lambda x: x.ffill().bfill())
print (df)

A B C
0 1.0 10.0 1
1 1.0 10.0 1
2 2.0 5.0 2
3 2.0 5.0 2
4 2.0 7.0 3
5 2.0 7.0 3
6 2.0 7.0 3

关于python - 从同一组的其他记录中的值替换 Pandas 数据框中的 NAN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56077273/

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