quickly looping over a 2D array?
Martin
mdekauwe at gmail.com
Mon Jul 27 08:27:11 EDT 2009
On Jul 27, 12:42 pm, Peter Otten <__pete... at web.de> wrote:
> Martin wrote:
> > I am new to python and I was wondering if there was a way to speed up
> > the way I index 2D arrays when I need to check two arrays
> > simultaneously? My current implementations is (using numpy) something
> > like the following...
>
> > for i in range(numrows):
> > for j in range(numcols):
>
> > if array_1[i, j] == some_value or array_2[i, j] >= array_1[i,
> > j] * some_other_value
> > array_1[i, j] = some_new_value
>
> array_1[(array_1 == some_value) | (array_2 >= array_1 * some_other_value)] =
> some_new_value
>
> maybe?
So I tried...
band_1[(array_1 == 255) or (array_2 >= array_1 * factor)] = 0
which led to
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()
so not sure that works?
More information about the Python-list
mailing list