【发布时间】:2012-10-11 08:21:27
【问题描述】:
我必须计算矩阵(二维数组)中大于 200 的所有值。
我为此写下的代码是:
za=0
p31 = numpy.asarray(o31)
for i in range(o31.size[0]):
for j in range(o32.size[1]):
if p31[i,j]<200:
za=za+1
print za
o31 是一个图像,我将其转换为矩阵,然后查找值。
我的问题是,有没有更简单的方法来做到这一点?
【问题讨论】:
-
这不只是打印小于 200 的值的数量,而不是实际值吗?
-
是的。我只需要所有值的总和,而不是实际值本身。
-
这里也没有得到总数。将
za设置为空列表za = [],然后设置za.append(p31[i,j]),最后退出for 循环,print sum(za);但我确信有更好的方法,因为您使用的是 numpy。 -
我更新了您的问题标题,以使您的问题更清楚(我从 cmets 和答案中了解到。如果有误,您可以重新编辑。
标签: python arrays coding-style numpy pixel