python數據預處理之缺失值簡單處理:https://blog.csdn.net/Amy_mm/article/details/79799629
該博客總結比較詳細,感謝博主。
我們在進行模型訓練時,不可避免的會遇到某些特征出現空值的情況,下面整理了幾種填充空值的方法
1. 用固定值填充
對於特征值缺失的一種常見的方法就是可以用固定值來填充,例如0,9999, -9999, 例如下面對灰度分這個特征缺失值全部填充為-99
data['灰度分'] = data['灰度分'].fillna('-99')
2. 用均值填充
對於數值型的特征,其缺失值也可以用未缺失數據的均值填充,下面對灰度分這個特征缺失值進行均值填充
data['灰度分'] = data['灰度分'].fillna(data['灰度分'].mean()))
3. 用眾數填充
與均值類似,可以用未缺失數據的眾數來填充缺失值
data['灰度分'] = data['灰度分'].fillna(data['灰度分'].mode()))
4. 用上下數據進行填充
用前一個數據進行填充
data['灰度分'] = data['灰度分'].fillna(method='pad')
用后一個數據進行填充
data['灰度分'] = data['灰度分'].fillna(method='bfill')
5. 用插值法填充
data['灰度分'] = data['灰度分'].interpolate()
6. 用KNN進行填充
from fancyimpute import BiScaler, KNN, NuclearNormMinimization, SoftImpute dataset = KNN(k=3).complete(dataset)
