缺失值的问题。不适用于每个缺失值?

problem with missing value. Does not work for every missing value?

我希望用给定数据的模式替换我的缺失值。但是我的代码只替换了一个缺失值。为什么?

我的真实数据是:

0         NaN
1         NaN
2      normal
3      normal
4      normal
        ...  
395    normal
396    normal
397    normal
398    normal
399    normal
Name: rbc, Length: 400, dtype: object

我的代码是:

rbc = data_penyakit['rbc'].mode()
rbc = data_penyakit['rbc'].mask(pd.isna, rbc)
rbc

结果是

0      normal
1         NaN
2      normal
3      normal
4      normal
        ...  
395    normal
396    normal
397    normal
398    normal
399    normal
Name: rbc, Length: 400, dtype: object

为什么第二个缺失值没有被替换?

mode 返回 nan 作为第二个最频繁的项目。 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.mode.html

那么

怎么样
fill = data_penyakit['rbc'].mode().iloc[0]
rbc.fillna(value=fill, inplace=True)