gpt4 book ai didi

python - 如何为项目列表创建标签列表?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:28:10 26 4
gpt4 key购买 nike

我想知道以下是否可以做得更好:

import numpy as np
def label_items(items):
data = np.array(items)
labels = np.zeros(len(items), dtype='int')
for label, value in enumerate(set(items)):
labels[data==value] = label
return labels

例如:

label_items(['a', 'a', 'c', 'd', 'e', 'b', 'e', 'e', 'd', 'c'])

会回来

array([0, 0, 1, 4, 3, 2, 3, 3, 4, 1])

附录:字母只是一个例子,它可以是任何东西的列表。这就是我将函数称为“label_items”的原因。标签的顺序无关紧要。

最佳答案

如果顺序不重要,可以使用numpy.unique :

import numpy as np

def label_items(arr):
return np.unique(arr, return_inverse=True)

vals, labels = label_items(['a', 'a', 'c', 'd', 'e', 'b', 'e', 'e', 'd', 'c'])

print(vals)

['a' 'b' 'c' 'd' 'e']

print(labels)

[0 0 2 3 4 1 4 4 3 2]

关于python - 如何为项目列表创建标签列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51893702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com