首页 > 解决方案 > 填写空白值

问题描述

我有一个数据框

   A      B
0  1  100.0
1  1    NaN
2  1  200.0
3  2  100.0
4  2    NaN

按A列分组,然后求B组各列的平均值,最后补全B列的空值。预期输出如下。

   A    B
0  1  100
1  1  150
2  1  200
3  2  100
4  2  100

标签: pythonpandas

解决方案


A您想在 A 列上使用分组依据,然后仅应用where 列的平均值B == NaN

df['B'] = df.groupby('A')[df['B' == NaN].mean(df['A']) 

像这样的东西应该工作!


推荐阅读