新手问题:假设我有一些类别和数据:
categories = ['cow', 'pig', 'rat', 'hen', 'dog', 'cat']
data = ['hen', 'cat', 'pig', 'hen', 'dog', 'cow', 'cat', 'dog', 'rat', 'hen' ]
如何为数据生成数字标签列表,其中标签是类别主列表中数据项的索引?也就是说,生成列表[3, 5, 1, 3, 4, 0, 5, 4, 2, 3 ]
。。。这当然不是因为:
label = [index for item in data if categories[index] == item] # useless!!
我知道可以使用scikit学习LabelEncoder
生成此列表。如何在纯python中实现这一点
您可以尝试list
index
函数:-输出为:-
试试这个。它将处理类别列表中不存在的项目。 它将为这些元素提供
-1
值也许这是过早的优化,但我可能会首先将类别名称映射到索引,以避免在所有类别中执行双重嵌套循环:
相关问题 更多 >
编程相关推荐