预计阅读时间:3分钟
今日锦囊
怎么定义一个方法去填充数值变量的空值?
这个锦囊和上一个差不多了,不过这个换一个方法 Imputer
。
同样的,我们还是造一个数据集:
# 本次案例使用的数据集
import pandas as pd
X = pd.DataFrame({'city':['tokyo',None,'london','seattle','san fancisco','tokyo'],
'boolean':['y','n',None,'n','n','y'],
'ordinal_column':['somewhat like','like','somewhat like','like','somewhat like','dislike'],
'quantitative_column':[1,11,-.5,10,None,20]})
X
可以看出,这个数据集有一个数值变量quantitative_columns
,存在一行缺失值,我们直接调用sklearn
的preprocessing
方法里的Imputer
。
# 填充数值变量(基于Imputer的自定义填充器,用众数填充)
from sklearn.preprocessing import Imputer
class CustomQuantitativeImputer(TransformerMixin):
def __init__(self, cols=None, strategy='mean'):
self.cols = cols
self.strategy = strategy
def transform(self, df):
X = df.copy()
impute = Imputer(strategy=self.strategy)
for col in self.cols:
X[col] = impute.fit_transform(X[[col]])
return X
def fit(self, *_):
return self
# 调用自定义的填充器
cqi = CustomQuantitativeImputer(cols = ['quantitative_column'], strategy='mean')
cqi.fit_transform(X)
今天的知识还有什么疑问的地方吗?欢迎留言咨询哦!
往 期 锦 囊
特征锦囊:特征无量纲化的常见操作方法
特征锦囊:怎么进行多项式or对数的数据变换?
特征锦囊:常用的统计图在Python里怎么画?
特征锦囊:怎么去除DataFrame里的缺失值?
特征锦囊:怎么把被错误填充的缺失值还原?
特征锦囊:怎么定义一个方法去填充分类变量的空值?
原创不易,如果觉得这种学习方式有用,希望可以帮忙随手转发or点下“在看”,这是对我的极大鼓励!阿里嘎多!????