pandas中dropna()
data1.dropna(inplace=True,axis=0)
- inplace 表示是否覆盖原数据
True:直接修改原对象
False:创建一个副本,修改副本,原对象不变(缺省默认)
- axis=0 表示对列进行操作;1表示对行
- how
‘any’指带缺失值的所有行;'all’指清除全是缺失值的
- thresh
df.dropna(thresh=2) 表示保留至少有2个非NaN数据所在的行
pandas中fillna()
df["Age"].fillna(df["Age"].mean())
- 参数inplace同样表示是否覆盖源数据
True/False
- limit
对填充数进行限制
- method
这里有更详细的fillna函数用法
sklearn默认均值填补
from sklearn.impute import SimpleImputer
impute_mean = SimpleImputer() # 使用默认的均值填补
imp_mean = impute_mean.fit_transform(x)
当strategy不填写时,默认使用均值填补
sklearn使用中位数进行填补
- strategy=“median”
impute_median = SimpleImputer(strategy="median") #使用中位数进行填补
imp_median = impute_median.fit_transform(x)
sklearn使用0进行填补
impute_0 = SimpleImputer(strategy="constant",fill_value=0) #使用0进行填补
imp_0 = impute_0.fit_transform(x)
fill_value表示用什么数值进行填补,这里使用0进行填补
sklearn用众数进行缺失值填补
- strategy=“most_frequent”
当特征是少量的文本时
impute_mode = SimpleImputer(strategy="most_frequent")
imp_mode = impute_mode.fit_transform(x)