【发布时间】: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 维?
非常感谢!
【问题讨论】:
我有一个三维数组,比如 dat.shape = (100,128,256)。我正在尝试计算第一个轴上值大于 10.0 的周期数。例如,对于 dat[:,0,0],大于 10.0 的值出现了多少次?然后,dat[:,0,1] 到 dat[:,n,m]。我的最终矩阵的形状为 (128,156)。
有没有一种方法可以在 numpy 或 scipy 中进行此计算,而无需遍历第 1 维和第 2 维?
非常感谢!
【问题讨论】:
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 就相当于计数,对吧?