python numpy/scipy 在多维数组中查找相对变量的计数或频率

2 投票
1 回答
733 浏览
提问于 2025-04-17 19:00

我有一个三维数组,假设它的形状是 (100,128,256)。我想统计在第一个维度上,有多少个值大于 10.0 的周期。比如说,对于 dat[:,0,0],有多少次值大于 10.0?然后再看 dat[:,0,1] 到 dat[:,n,m]。最后我想得到的矩阵形状是 (128,256)。

有没有办法在 numpy 或 scipy 中进行这个计算,而不需要在第一个和第二个维度上一个一个地循环?

非常感谢!

1 个回答

3

在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这种情况下,我们需要找到问题的原因并解决它。通常,我们可以通过查看错误信息来帮助我们理解发生了什么。

错误信息就像是程序在告诉我们:“嘿,我遇到麻烦了!请看看这个地方。”有时候,错误信息会很详细,告诉我们出错的行数和原因;而有时候,它可能只给出一个简单的提示。

当我们看到错误信息时,第一步是仔细阅读它,看看能否找到线索。接下来,我们可以检查相关的代码,看看是否有拼写错误、缺少的符号或者其他常见的问题。

如果自己解决不了,可以考虑在网上搜索错误信息,看看别人是怎么解决类似的问题的。StackOverflow就是一个很好的地方,很多程序员会在这里分享他们的经验和解决方案。

总之,遇到问题时不要慌张,慢慢分析错误信息,逐步排查,通常都能找到解决办法。

import numpy as np
a = np.random.randint(0, 100, (100,128,256))
np.sum(a > 10, axis=0)

撰写回答