gpt4 book ai didi

python - 将 cols 列表中的 NaN 值替换为其他 cols 列表的平均值

转载 作者:行者123 更新时间:2023-12-04 00:52:32 27 4
gpt4 key购买 nike

我有这个带有 NaN 的数据框:

  Col1 Col2  Col3  Col4
0 A c 1.0 2.0
1 A c 3.0 6.0
2 B c 5.0 NaN
3 A d 6.0 4.0
4 A c NaN 1.0
5 A d NaN 3.0
6 B c 5.0 4.0

我想用列表 cols 中的标签替换列中存在的缺失值

要替换的值计算为相应组的非缺失值的平均值。组是根据列表 condition_cols

中带有标签的列中的值形成的

例如:

condition_cols = ['Col1', 'Col2']

cols = ['Col3', 'Col4']

替换 NaN 后,数据框将如下所示:

  Col1 Col2  Col3  Col4
0 A c 1.0 2.0
1 A c 3.0 6.0
2 B c 5.0 4.0
3 A d 6.0 4.0
4 A c 2.0 1.0
5 A d 6.0 3.0
6 B c 5.0 4.0

我尝试对 condition_cols 的重复项取均值,但计算的均值是针对每个组的,不特定于任何组。

最佳答案

您可以groupby condition_cols 上的数据框并使用mean transform,最后使用fillna 填充缺失值:

df = df.fillna(df.groupby(condition_cols).transform('mean'))

结果:

  Col1 Col2  Col3  Col4
0 A c 1.0 2.0
1 A c 3.0 6.0
2 B c 5.0 4.0
3 A d 6.0 4.0
4 A c 2.0 1.0
5 A d 6.0 3.0
6 B c 5.0 4.0

关于python - 将 cols 列表中的 NaN 值替换为其他 cols 列表的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65394241/

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