【发布时间】:2013-11-15 00:21:09
【问题描述】:
我有一个大型 numpy 数组,我需要对其进行操作,以便在满足条件时将每个元素更改为 1 或 0(稍后将用作像素掩码)。数组中大约有 800 万个元素,我当前的方法对于缩减管道来说耗时太长:
for (y,x), value in numpy.ndenumerate(mask_data):
if mask_data[y,x]<3: #Good Pixel
mask_data[y,x]=1
elif mask_data[y,x]>3: #Bad Pixel
mask_data[y,x]=0
有没有一个 numpy 函数可以加快这个速度?
【问题讨论】:
-
如果
mask_data[y,x]==3,你想发生什么? -
好点,这仍然是一个坏像素。我将条件更改为
if mask_data[y,x]>=3:
标签: python arrays numpy conditional