[Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread questions anon
I would like to produce an array with the maximum values out of many (1s) 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

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Olivier Delalleau
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 (1s) of arrays. I need to loop through many multidimentional

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread josef . pktd
On Tue, Dec 6, 2011 at 7:55 PM, Olivier Delalleau sh...@keba.be wrote: 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

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread questions anon
Hi Olivier, No that does not seem to do anything am I missing another step whereever b is greater than a replace b with a? thanks On Wed, Dec 7, 2011 at 11:55 AM, Olivier Delalleau sh...@keba.be wrote: It may not be the most efficient way to do this, but you can do: mask = b a a[mask] =

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread questions anon
thanks for responding Josef but that is not really what I am looking for, I have a multidimensional array and if the next array has any values greater than what is in my first array I want to replace them. The data are contained in netcdf files. I can achieve what I want if I combine all of my

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Olivier Delalleau
Weird, it worked for me (with a and b two 1d numpy arrays). Anyway, Josef's solution is probably much more efficient (especially if you can put all your arrays into a single tensor). -=- Olivier 2011/12/6 questions anon questions.a...@gmail.com Hi Olivier, No that does not seem to do anything

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Olivier Delalleau
If you need to do them one after the other, numpy.maximum(a, b) will do it (it won't work in-place on 'a' though, it'll make a new copy). -=- Olivier 2011/12/6 questions anon questions.a...@gmail.com thanks for responding Josef but that is not really what I am looking for, I have a

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Nathaniel Smith
I think you want np.maximum(a, b, out=a) - Nathaniel On Dec 6, 2011 9:04 PM, questions anon questions.a...@gmail.com wrote: thanks for responding Josef but that is not really what I am looking for, I have a multidimensional array and if the next array has any values greater than what is in

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Olivier Delalleau
Thanks, I didn't know you could specify the out array :) (to the OP: my initial suggestion, although probably not very efficient, seems to work with 2D arrays too, so I have no idea why it didn't work for you -- but Nathaniel's one seems to be the ideal one anyway). -=- Olivier 2011/12/6

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread questions anon
thanks for all of your help, that does look appropriate but I am not sure how to loop it over thousands of files. I need to keep the first array to compare with but replace any greater values as I loop through each array comparing back to the same array. does that make sense? On Wed, Dec 7, 2011

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Olivier Delalleau
The out=a keyword will ensure your first array will keep being updated. So you can do something like: a = my_list_of_arrays[0] for b in my_list_of_arrays[1:]: numpy.maximum(a, b, out=a) -=- Olivier 2011/12/6 questions anon questions.a...@gmail.com thanks for all of your help, that does look

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread josef . pktd
On Tue, Dec 6, 2011 at 9:36 PM, Olivier Delalleau sh...@keba.be wrote: The out=a keyword will ensure your first array will keep being updated. So you can do something like: a = my_list_of_arrays[0] for b in my_list_of_arrays[1:]:   numpy.maximum(a, b, out=a) I didn't think of the out

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Olivier Delalleau
Is 'a' a regular numpy array or something fancier? -=- Olivier 2011/12/6 questions anon questions.a...@gmail.com thanks again my only problem though is that the out=a in the loop does not seem to replace my a= outside the loop so my final a is whatever I started with for a. Not sure what I

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Olivier Delalleau
I *think* it may work better if you replace the last 3 lines in your loop by: a=all_TSFC[0] if len(all_TSFC) 1: N.maximum(a, TSFC, out=a) Not 100% sure that would work though, as I'm not entirely confident I understand your code. -=- Olivier 2011/12/6

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Derek Homeier
On 07.12.2011, at 5:07AM, Olivier Delalleau wrote: I *think* it may work better if you replace the last 3 lines in your loop by: a=all_TSFC[0] if len(all_TSFC) 1: N.maximum(a, TSFC, out=a) Not 100% sure that would work though, as I'm not entirely

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Tim Burgess
On 07/12/2011, at 1:49 PM, questions anon wrote: fillvalue=ncfile.variables['T_SFC']._FillValue TSFC=MA.masked_values(TSFC, fillvalue) You can probably also eliminate the above two lines from your code. TSFC=ncfile.variables['T_SFC'][:] If your NetCDF

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread questions anon
sorry the 'all_TSFC' is for my other check of maximum using concatenate and N.max, I know that works so I am comparing it to this method. The only reason I need another method is for memory error issues. I like the code I have written so far as it makes sense to me. I can't get the extra examples

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread Derek Homeier
On 07.12.2011, at 5:54AM, questions anon wrote: sorry the 'all_TSFC' is for my other check of maximum using concatenate and N.max, I know that works so I am comparing it to this method. The only reason I need another method is for memory error issues. I like the code I have written so far

Re: [Numpy-discussion] loop through values in a array and find maximum as looping

2011-12-06 Thread questions anon
thanks for all your responses. I think I have FINALLY worked it out with all of your help. I just assigned one array from one ncfile to a at the beginning of my code and then ran the loop and it worked!! sorry for all the questions but I learn so much playing and getting ideas from others. Thanks