python-3.x - pandas 按该类别的平均值填充空值
问题描述
我有这个数据集。你可以看到有一个null Value
for Product
Wheat
。我想用Value
该产品的类别来填充这个空值。A
因此,对于小麦来说,这是具有均值的类别5+8/2=6.5
。
Product Value Category
0 Rice 5 A
1 Corn 8 A
2 Milk 17 B
3 Wheat NaN A
4 Ice cream 3 B
这是我尝试过的。
df[Value].fillna(df.groupby('Category')[Value].mean(),inplace=True)
但这不起作用。因为它返回每个类别的平均值。那么我该如何实现呢?谢谢你的帮助。
解决方案
尝试:
df['Value'] = df.groupby('Category')['Value'].transform(lambda x: x.fillna(x.mean()))
推荐阅读
- c# - 如何加快 C# 中的嵌套循环
- flutter - Flutter-关于在Cloud Firestore中创建聊天应用时的读取次数
- android - 如何将json对象解析为tablayout
- react-native - 世博+排毒+CircleCI
- html - 如何使用 Twig 获取 html 类名?
- android - Android Spinner 对ItemSelected 不起作用
- r - 如何将值分配给 is.na() 的输出?
- xamarin - 使用 Xamarin 时更改 Android 模拟器分辨率
- javascript - 将 ID 的值从部分视图传递到主视图
- python - 检查 4x4 网格是否有 2 个相邻的数字(向上或向下)等于某个数字