【发布时间】:2019-11-18 18:12:03
【问题描述】:
我想将一些分类器应用于数据帧,因此必须对 df 进行一次热编码。我现在有标签,但不知道如何进行?如何将标签恢复为 df 类型,以及如何使用新的 df?
我有一个没有 NaN 值的缩减数据框。我首先对其进行了标签编码,然后对其进行了单热编码。
categorical_feature_mask = reduced_df.dtypes==object
categorical_cols = reduced_df.columns[categorical_feature_mask].tolist()
categorical_cols
reduced_df[categorical_cols] = reduced_df[categorical_cols].apply(lambda col: le.fit_transform(col))
labeled_df = reduced_df[categorical_cols]
enc = preprocessing.OneHotEncoder()
enc.fit(labeled_df)
onehotlabels = enc.transform(labeled_df).toarray()
onehotlabels
我得到一个形状为 (14737, 990) 的 numpy 数组,其中充满了零和一(这当然是我想要的),但是我如何将它“合并”回我的数据框(即带有标签等) .)
我的目标不是“解码”标签,而是将编码的列与我原始 df 中的其他列“合并”。
【问题讨论】:
标签: python pandas dataframe one-hot-encoding