如何使用Numpy将此for循环矢量化?
count=0
arr1 = np.random.rand(184,184)
for i in range(arr1.size[0]):
for j in range(arr1.size[1]):
if arr1[i,j] > 0.6:
count += 1
print count
我试过:
count=0
arr1 = np.random.rand(184,184)
mask = (arr1>0.6)
indices = np.where(mask)
print indices , len(indices)
我原以为len(指数)会算数,但没算数,请你提些建议。
您还可以使用Numpy的size属性数组:
np.count_nonzero
应该比总和快一点:事实上,它的速度是
获取一个布尔掩码,然后计算“真”数:
相关问题 更多 >
编程相关推荐