Python 经过一次热编码后,数据帧中的行数减少

Python 经过一次热编码后,数据帧中的行数减少,python,pandas,machine-learning,scikit-learn,data-processing,Python,Pandas,Machine Learning,Scikit Learn,Data Processing,我有一个数据集,我想使用sklearn.preprocessing.onehotcoder对其进行一次热编码。我的问题是编码后,结果包含的行数比原始数据集少(差异为5)。 这是我的密码: one_hot_encoder = OneHotEncoder(handle_unknown='ignore', sparse=False) X_cat = pd.DataFrame( one_hot_encoder.fit_transform(X[categorical_vars]),

我有一个数据集,我想使用sklearn.preprocessing.onehotcoder对其进行一次热编码。我的问题是编码后,结果包含的行数比原始数据集少(差异为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”设置为忽略,因此将跳过这些列


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

我认为您得到的输出列较少,因为您有一些未知的分类功能。由于您将关键字“handle_unknown”设置为忽略,因此将跳过这些列


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

感谢您的回复。我的问题是根据行,而不是列。但是,我认为问题不在于“handle\u unknown”关键字。上述数据是安装编码器的数据。当我在不拟合的情况下变换集合(例如,我的测试集合)时,就会发现对未知值的忽略。我阅读了您答案中提供的帖子,发现“category_encoders”软件包的OneHotEncoder可以解决我的问题。再次感谢您的回答。:)没问题。谢谢你的结束:)谢谢你的回复。我的问题是根据行,而不是列。但是,我认为问题不在于“handle\u unknown”关键字。上述数据是安装编码器的数据。当我在不拟合的情况下变换集合(例如,我的测试集合)时,就会发现对未知值的忽略。我阅读了您答案中提供的帖子,发现“category_encoders”软件包的OneHotEncoder可以解决我的问题。再次感谢您的回答。:)没问题。感谢您的结束:)