Pandas:按每组的平均值填充缺失值 [英] Pandas: filling missing values by mean in each group

查看:50
本文介绍了Pandas:按每组的平均值填充缺失值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这应该很简单,但我发现最接近的是这篇文章:pandas:在组内填充缺失值,我仍然可以't解决我的问题....

假设我有以下数据框

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']})名称值0 一 11 一个 NaN2 B NaN3 乙 24 乙 35 乙 16 C 37 C NaN8 C 3

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

 名称值0 一 11 一个 12 乙 23 乙 24 乙 35 乙 16 C 37 C 38 C 3

我不知道要去哪里:

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

非常感谢.

解决方案

一种方法是使用 transform:

<预><代码>>>>df名称值0 一 11 一个 NaN2 B NaN3 乙 24 乙 35 乙 16 C 37 C NaN8 C 3>>>df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))>>>df名称值0 一 11 一个 12 乙 23 乙 24 乙 35 乙 16 C 37 C 38 C 3

This should be straightforward, but the closest thing I've found is this post: pandas: Filling missing values within a group, and I still can't solve my problem....

Suppose I have the following dataframe

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

and I'd like to fill in "NaN" with mean value in each "name" group, i.e.

      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

I'm not sure where to go after:

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

Thanks a bunch.

解决方案

One way would be to use 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

这篇关于Pandas:按每组的平均值填充缺失值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆