我有一个存储为数据帧的训练和测试集。我正在尝试对我的数据集上的标称特征进行 One-hot 编码。但我有以下问题:
df = pd.get_dummies(df, prefix_sep='_')用来做一个热编码,该命令适用于所有分类特征,但我注意到它将新特征移到了训练 DataFrame 的末尾,我认为这是一个问题,因为我们不知道哪个特征的索引。还有第 2 个问题,新的火车/集合应该具有相同的索引。有没有自动的方法来做到这一点?或者图书馆?
编辑
由于下面的答案,我能够对许多功能执行一种热编码。但是下面的代码给出了以下问题:
scikit-learn剥离列标题并将结果生成为数组而不是数据帧df_scaled = pd.DataFrame(ct.fit_transform(data2))将结果存储在数据帧中,创建的数据帧df_scaled也没有标题,尤其是在预处理后标题现在更改时。也许sklearn.preprocessing.OneHotEncoder有一种方法可以跟踪新功能及其索引?