【问题标题】:python numpy/scipy find count or frequency of a relative variable in multi-dimensional arraypython numpy/scipy在多维数组中查找相对变量的计数或频率
【发布时间】:2025-12-06 01:25:01
【问题描述】:

我有一个三维数组,比如 dat.shape = (100,128,256)。我正在尝试计算第一个轴上值大于 10.0 的周期数。例如,对于 dat[:,0,0],大于 10.0 的值出现了多少次?然后,dat[:,0,1] 到 dat[:,n,m]。我的最终矩阵的形状为 (128,156)。

有没有一种方法可以在 numpy 或 scipy 中进行此计算,而无需遍历第 1 维和第 2 维?

非常感谢!

【问题讨论】:

标签: python numpy scipy


【解决方案1】:
import numpy as np
a = np.random.randint(0, 100, (100,128,256))
np.sum(a > 10, axis=0)

【讨论】:

  • 如果我理解这一点,sum 沿轴执行总和,并且假设a > 10 返回bool 并且在python 中的真值相等,那么sum 在此case 就相当于计数,对吧?
  • 基本上,但它会比编写原生 for 循环更有效。