我有一个数据集,其中包含一些丢失的数据,如下所示:
id category value
1 A NaN
2 B NaN
3 A 10.5
4 C NaN
5 A 2.0
6 B 1.0
我需要填充空值才能使用模型中的数据。每当一个类别第一次出现时,它就是空的。我想要做的是,对于像类别
A
和
B
这样具有多个值的情况,用该类别的平均值替换空值。对于只有一次出现的类别
C
,只需填写其余数据的平均值。
我知道,对于像
C
这样的情况,我可以简单地这样做,以获得所有行的平均值,但我在尝试对A和B进行分类平均并替换空值时遇到了困难。
df['value'] = df['value'].fillna(df['value'].mean())
我需要最终的df是这样的
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