在sklearn中将文本列转换为数字

Sel*_* Er 8 python numpy pandas scikit-learn

我是数据分析的新手。我正在 python Sklearn 中尝试一些模型。我有一个数据集,其中一些列有文本列。像下面,

数据集

有没有办法将这些列值转换为 Pandas 或 Sklearn 中的数字?为这些值分配数字是否正确?。如果测试数据中弹出一个新字符串怎么办?

请指教。

max*_*moo 0

您可以使用分类数据类型将它们转换为整数代码。

column = column.astype('category')
column_encoded = column.cat.codes
Run Code Online (Sandbox Code Playgroud)

只要使用具有足够深度的树的基于树的模型,例如GradientBoostingClassifier(max_depth=10),您的模型应该能够再次拆分类别。