我有一个任务,其中我必须将列表中的名称映射到数组中的特定整数(希望我正确使用了术语)。我写了这段代码,但它不起作用。为什么会这样,我如何才能让它工作
list_1 = ['sentosa', 'versicolor', 'virginica', 'virginica', 'sentosa']
beta = np.array([])
for x in list_1:
if x == "sentosa":
np.append(beta, [1], axis = 0)
elif x == "versicolor":
np.append(beta, [2], axis = 0)
elif x == "virginica":
np.append(beta, [3], axis = 0)
要将字符串列表映射到唯一整数,必须首先找到唯一字符串,然后将字符串1-1映射到原始字符串列表中的整数
输出:
另一种可能的方式-
然后切换到
numpy array
我希望这能帮助你完成任务
NumPy数组的大小是固定的,它们实际上不可追加。即使修复了bug,您所做的工作也会非常缓慢。改为使用普通列表,必要时在末尾将其转换为NumPy数组
如何修复代码
^{} 不在适当位置,因此您需要重新分配输出:
如何高效地做自己想做的事
您可以使用^{} 和
return_inverse=True
选项来分解数据:输出:
array([1, 2, 3, 3, 1])
相关问题 更多 >
编程相关推荐