使用np.unique Python后获取元素数量

时间:2017-05-30 20:04:27

标签: python numpy size unique

我有一套elemnt。任务是获取唯一元素的数量。我写了以下内容:

 import numpy as np
 tokens1 = set(["a", "b", "c", "c"])
 print(np.unique(tokens1))
 print(np.unique(tokens1).size)

结果是

[{'c', 'b', 'a'}]
1

我如何得到正确的数字 - 3? 我应该首先使用除了np.unique以外的其他东西吗? 可能有更好的方法来获得我想要的帽子。

2 个答案:

答案 0 :(得分:4)

为了获得集合中唯一元素的数量,您只需在集合上调用len()即可。修改现有代码:

tokens1 = set(["a", "b", "c", "c"])
print(len(tokens1))
# prints: 3

这是因为一个集合已经删除了重复项。您不需要同时使用AND np.unique()

如果您想使用np.unique(),可以将代码修改为:

tokens1 = np.unique(["a", "b", "c", "c"])
print(len(tokens1))
# prints: 3

答案 1 :(得分:2)

根据official docs,集合是唯一元素的无序集合,因此行np.unique(tokens1)是多余的。您应该使用len(tokens1)代替。