我有一个 numpy ndarray 字符串,想知道某个单词在数组中出现的频率。我发现了这个解决方案:

letters = numpy.array([["a","b"],["c","a"]])
print (numpy.count_nonzero(letters=="a"))



我只是想知道我是否解决了这个不必要的复杂问题,或者这是否是最简单的解决方案,因为对于列表,有一个简单的 .count()。

最佳答案

您还可以使用 sum :

>>> letters = numpy.array([["a","b"],["c","a"]])
>>> (letters == 'a').sum()
2
>>> numpy.sum(letters == 'a')
2

关于python - 如何计算ndarray中元素的频率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18722296/

10-16 21:24