1. 用固定值填充
对于特征值缺失的一种常见的方法就是可以用固定值来填充。
data['分数'] = data['分数'].fillna('-1')
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)