python - 如何计算ndarray中元素的频率

标签 python numpy count element multidimensional-array

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

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

-->2

我只是想知道我是否把这个问题解决得过于复杂了,或者这是否是最简单的解决方案,因为对于列表来说,有一个简单的 .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/

相关文章:

Python Behave - 如何从场景传递值以在功能级别的固定装置中使用?

python - 动态填充列表或向量

python - 如何将 numpy 数组拆分为单个值?

python - numpy-->PIL int 类型问题

python - 无法正确安装rpy2 : undefined symbol omp_get_num_procs

Python:返回可能不返回值

python - Python 上的等高线图。类型错误 : Input z must be a 2D array

mysql - 如何统计另一个表的数据

excel - 根据某一列中重复值的计数对数据进行分组

mysql - SQL:输出属于某个类别的所有名称,其中该类别中的所有国家/地区都相同