Python 如何高效地执行三维阵列计算?

Python 如何高效地执行三维阵列计算?,python,numpy,multidimensional-array,Python,Numpy,Multidimensional Array,我将为你的帮助而高兴 我有一个python的3d数组(5002001000),500行,200列,超过1000帧。 计算所有1000帧中每个坐标的特定值的事件百分比的最有效方法是什么 例如,输入是值为1的三维矩阵。 我需要找出在所有帧中,帧中每像素出现1以上值的百分比。输出是一个2d数组,每个元素表示百分比[100*(大于1的值)(帧上的所有值i、j)] .您可以尝试: thresh = 1 (array > thresh).mean(axis=-1) 在示例数据上运行: np.rand

我将为你的帮助而高兴

我有一个python的3d数组(5002001000),500行,200列,超过1000帧。 计算所有1000帧中每个坐标的特定值的事件百分比的最有效方法是什么

例如,输入是值为1的三维矩阵。 我需要找出在所有帧中,帧中每像素出现1以上值的百分比。输出是一个2d数组,每个元素表示百分比[100*(大于1的值)(帧上的所有值i、j)]

.

您可以尝试:

thresh = 1
(array > thresh).mean(axis=-1)
在示例数据上运行:

np.random.seed(1)
array = np.random.rand(3,4,1000)
thresh = 0.3

(array > thresh).mean(axis=-1)
给你:

array([[0.704, 0.708, 0.681, 0.694],
       [0.702, 0.717, 0.687, 0.683],
       [0.659, 0.701, 0.727, 0.697]])

你好谢谢重播!已经很有帮助了!但是,我怎样才能从中得到百分比呢?它是在计算样本的平均值,对吗?@SashaVasserfirer这是比例
0,1
中的百分比。因此,在样本中,大约有70%的值
>0.3
,这从样本的分布来看是合理的。好的,太好了!!现在我在代码中看到它正在工作!但是你能用不太“python”的语言解释一下这个方法吗?我不明白它是怎么工作的:)