如何计算ndarray中元素的频率

ald*_*ado 4 python element numpy count multidimensional-array

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

letters = numpy.array([["a","b"],["c","a"]])
print (numpy.count_nonzero(letters=="a"))
Run Code Online (Sandbox Code Playgroud)

- > 2

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

fal*_*tru 5

您还可以使用sum:

>>> letters = numpy.array([["a","b"],["c","a"]])
>>> (letters == 'a').sum()
2
>>> numpy.sum(letters == 'a')
2
Run Code Online (Sandbox Code Playgroud)