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

2024-04-28 07:26:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我不熟悉数据分析。我正在尝试pythonsklearn中的一些模型。我有一个数据集,其中有些列有文本列。如下图所示

数据集

有没有办法把这些列值转换成pandas或Sklearn中的数字?。给这些值赋值是否正确?。如果一个新的字符串出现在测试数据中呢?。在

请指教。在


Tags: 数据字符串模型文本pandas数字sklearn赋值
2条回答

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

column = column.astype('category')
column_encoded = column.cat.codes

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

考虑使用标签编码-它通过为每个类别分配一个介于0和\u categories-1的num_之间的整数来转换分类数据:

from sklearn.preprocessing import LabelEncoder
df = pd.DataFrame(['a','b','c','d','a','c','a','d'], columns=['letter'])

  letter
0      a
1      b
2      c
3      d
4      a
5      c
6      a

申请:

^{pr2}$

编码序列:

    letter
0   0
1   1
2   2
3   3
4   0
5   2
6   0
7   3

相关问题 更多 >