It may not be the most efficient way to do this, but you can do:
mask = b > a
a[mask] = b[mask]

-=- Olivier

2011/12/6 questions anon <questions.a...@gmail.com>

> I would like to produce an array with the maximum values out of many
> (10000s) of arrays.
> I need to loop through many multidimentional arrays and if a value is
> larger (in the same place as the previous array) then I would like that
> value to replace it.
>
> e.g.
> a=[1,1,2,2
> 11,2,2
> 1,1,2,2]
> b=[1,1,3,2
> 2,1,0,0
> 1,1,2,0]
>
> where b>a replace with value in b, so the new a should be :
>
> a=[1,1,3,2]
> 2,1,2,2
> 1,1,2,2]
>
> and then keep looping through many arrays and replace whenever value is
> larger.
>
> I have tried numpy.putmask but that results in
> TypeError: putmask() argument 1 must be numpy.ndarray, not list
> Any other ideas? Thanks
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to