gpt4 book ai didi

python - Pandas :在每组中平均填充缺失值

转载 作者:IT老高 更新时间:2023-10-28 20:31:38 26 4
gpt4 key购买 nike

这应该很简单,但我发现最接近的是这篇文章: pandas: Filling missing values within a group ,我还是解决不了我的问题....

假设我有以下数据框

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

name value
0 A 1
1 A NaN
2 B NaN
3 B 2
4 B 3
5 B 1
6 C 3
7 C NaN
8 C 3

我想在每个“名称”组中用平均值填写“NaN”,即

      name  value
0 A 1
1 A 1
2 B 2
3 B 2
4 B 3
5 B 1
6 C 3
7 C 3
8 C 3

我不知道该去哪里:

grouped = df.groupby('name').mean()

非常感谢。

最佳答案

一种方法是使用 transform:

>>> df
name value
0 A 1
1 A NaN
2 B NaN
3 B 2
4 B 3
5 B 1
6 C 3
7 C NaN
8 C 3
>>> df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
>>> df
name value
0 A 1
1 A 1
2 B 2
3 B 2
4 B 3
5 B 1
6 C 3
7 C 3
8 C 3

关于python - Pandas :在每组中平均填充缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966018/

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