我有一个数据集会丢失一些如下所示的数据:
id category value
1 A NaN
2 B NaN
3 A 10.5
4 C NaN
5 A 2.0
6 B 1.0
我需要填写空值才能在模型中使用数据。每次类别第一次出现时都为空。我想做的方法是,对于像categoryA
和B
这样有多个值的情况,用该类别的平均值替换空值。对于只出现一次的类别C
,只需填写其余数据的平均值。
我知道我可以简单地对像C
这样的情况执行此操作来获得所有行的平均值,但是我一直在尝试对A和B执行categorywise方法并替换空值。
df['value'] = df['value'].fillna(df['value'].mean())
我需要最后的测向像这样
id category value
1 A 6.25
2 B 1.0
3 A 10.5
4 C 4.15
5 A 2.0
6 B 1.0
我想你可以把^{} 和} 与^{} 一起使用。如果某个类别只有} 列的所有值来填充
apply
^{NaN
个值,则获取NaN
,因此使用^{NaN
:您还可以使用
GroupBy
+transform
以分组方式填充NaN
值。这种方法避免了无效的apply
+lambda
。例如:相关问题 更多 >
编程相关推荐