使用Fillna替换丢失的数据

时间:2018-11-25 01:08:47

标签: python pandas missing-data

当我尝试使用fillna替换均值中的NaN时,NaN从float64更改为object,显示:

  

绑定方法Series.mean为0 NaN \ n1

代码如下:

mean = df['texture_mean'].mean
df['texture_mean'] = df['texture_mean'].fillna(mean)`

1 个答案:

答案 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

让我知道这是否是您想要的。