一次热编码后数据帧中的行数减少

There are fewer rows in the dataframe after one hot encoding

我有一个数据集,我想使用 sklearn.preprocessing.OneHotEncoder 对其进行热编码。我的问题是编码后,结果包含的行数少于原始数据集(差异为 5)。 这是我的代码:

one_hot_encoder = OneHotEncoder(handle_unknown='ignore', sparse=False)
X_cat = pd.DataFrame(
            one_hot_encoder.fit_transform(X[categorical_vars]),
            columns=one_hot_encoder.get_feature_names(categorical_vars)
)

感谢您提前提出任何建议。 :)

我认为你得到的输出列较少,因为你有一些未知的分类特征。因为您将关键字 'handle_unknown' 设置为忽略,所以会跳过这些列。

如果你把你的一些样本数据给我,我可以帮你测试一下,给你一个更好的解释。否则,我可以建议您阅读此 post。它很好地解释了 'handle_unknown' 关键字的用途以及使用它的原因和时间。