首页 > 解决方案 > 在一次热编码和列转换器之后保留列名

问题描述

我试图在 OneHotEncoding 之后保留列名,我看到人们建议使用get_feature_names. 但是,由于 ColumnTransformer 创建了 OHE 的另一个实例,NotFittedError所以我无法真正使用get_feature_names.

这是我的代码:

# categorical data
cat_cols = list(set(df_tmp.columns) - set(df_tmp._get_numeric_data().columns))

one_hot = OneHotEncoder()

transformer = ColumnTransformer([("one_hot", one_hot, cat_cols)], remainder="passthrough")
array = transformer.fit_transform(df_tmp).toarray()

df_new = pd.DataFrame(array)

在这种情况下如何获取列名?

标签: pythonscikit-learnone-hot-encoding

解决方案


推荐阅读