当我尝试使用fillna替换均值中的NaN时,NaN从float64
更改为object
,显示:
绑定方法Series.mean为0 NaN \ n1
代码如下:
mean = df['texture_mean'].mean
df['texture_mean'] = df['texture_mean'].fillna(mean)`
答案 0 :(得分:0)
您不能使用mean = df['texture_mean'].mean
。这就是问题所在。以下代码将起作用-
df=pd.DataFrame({'texture_mean':[2,4,None,6,1,None],'A':[1,2,3,4,5,None]}) # Example
df
A texture_mean
0 1.0 2.0
1 2.0 4.0
2 3.0 NaN
3 4.0 6.0
4 5.0 1.0
5 NaN NaN
df['texture_mean']=df['texture_mean'].fillna(df['texture_mean'].mean())
df
A texture_mean
0 1.0 2.00
1 2.0 4.00
2 3.0 3.25
3 4.0 6.00
4 5.0 1.00
5 NaN 3.25
如果您要用所有列中的该列的相应方式替换所有NaN,则只需执行此操作-
df=df.fillna(df.mean())
df
A texture_mean
0 1.0 2.00
1 2.0 4.00
2 3.0 3.25
3 4.0 6.00
4 5.0 1.00
5 3.0 3.25
让我知道这是否是您想要的。