gpt4 book ai didi

python - 通过替换不同列中的 nan 来合并数据框中的行

转载 作者:行者123 更新时间:2023-11-30 22:03:11 25 4
gpt4 key购买 nike

我有一个 df:

df = pd.DataFrame([[1, np.nan, "filled", 3], [1, "filled", np.nan, 3], [1, "filled", np.nan, 4]], columns = ["a", "b", "c", "d"])
a b c d
0 1 NaN filled 3
1 1 filled NaN 3
2 1 filled NaN 4

我的最终结果应该是:

df = pd.DataFrame([[1, "filled", "filled", 3], [1, "filled", np.nan, 4]], columns = ["a", "b", "c", "d"])
a b c d
0 1 filled filled 3
1 1 filled NaN 4

所以我想合并除 b 列和 c 列之外所有方面都相同的行。问题是,除了 b 列和 c 列之外,并不总是会有另一行相同。

不知道如何使用df.groupby(["a", "d"]).apply()得到我想要的。

最佳答案

您可以使用 groupby + first 进行检查,它将选择第一个非 NaN 值作为输出

df.groupby(['a','d'],as_index=False).first()
Out[897]:
a d b c
0 1 3 filled filled
1 1 4 filled NaN

关于python - 通过替换不同列中的 nan 来合并数据框中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53616884/

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