让我们假设以下数据集
考虑到category
列,我想用SimpleImputer进行插补
也就是说,考虑到产品的 所以,要完成 我做了类似的事情,如下所示。但是我需要使用SimpleComputer来完成它category
,我想分配平均值
如果产品没有类别,那么,我想考虑没有{{CD1}}的产品的平均值。code
01的糖。
我只考虑了{{CD1>} b
为了澄清,在下面的例子中,我在没有category
的情况下用列的平均值完成了NaNfor col in df.columns:
if df[col].dtypes == "float64":
df.loc[df[col].isna() & df["category"].notnull(), col] = df["categories"].map(df.groupby("category")[col].mean())
df[col].fillna(df[col].mean(), inplace=True)
恐怕你不能只用
SimpleImputer
来解决这类问题(至少据我所知)但是,您可以使用scikit learn非常灵活的类
BaseEstimator
和TransformerMixin
创建一个自定义的插补器类一个非常基本的类如下所示:
在示例数据集上:
原始数据:
相关问题 更多 >
编程相关推荐