如何在Python中创建标签(自动编码)

如何在Python中创建标签(自动编码),python,pandas,encoding,encode,Python,Pandas,Encoding,Encode,我有这样一个数据框: Name subname Feature1 Feature2 ... AAA a 0.123 0.345 ... AAA b 0.123 0.345 ... BBB a 0.123 0.345 ... BBB b 0.123 0.345 ... 我要创建标签(添加新列): 为了使数据适合分类模型,有没有一种方法可以有效地创建这些标签?我有5000多行,非常感谢。你可以试试

我有这样一个数据框:

Name  subname Feature1  Feature2 ...
AAA     a     0.123     0.345 ...
AAA     b     0.123     0.345 ...
BBB     a     0.123     0.345 ...
BBB     b     0.123     0.345 ...
我要创建标签(添加新列):

为了使数据适合分类模型,有没有一种方法可以有效地创建这些标签?我有5000多行,非常感谢。

你可以试试

labels, uniques = pd.factorize(df['Name'].tolist())
df['labels'] = labels
并将获得
array([0,0,1,1])

你用什么来编码,只是
Name
?如果是
df['Class']=pd.factorize(df['Name'])[0]+1
,如果是
2D
因子分解,您可以使用
np.unique
return\u inverse
将标签放在单独的数据帧或序列中,或者什么?是的,仅根据“名称”,在最后一列有标签,这样我就可以在GDBT模型中选择功能,这是正确的方法吗?dupe中的两个答案都是完全有效的,你可以选择哪一个use@user3483203我在Google上查看了一些教程,我可以使用类似“from sklearn.preprocessing import LabelEncoder”的东西吗?这是一样的吗?非常感谢。
labels, uniques = pd.factorize(df['Name'].tolist())
df['labels'] = labels