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

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 f

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 I

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 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 en

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 q

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

2011-12-06 Thread questions anon
Something fancier I think, I am able to compare the result with my previous method so I can easily see I am doing something wrong. see code below: all_TSFC=[] for (path, dirs, files) in os.walk(MainFolder): for dir in dirs: print dir path=path+'/' for ncfile in files:

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 > 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 am doing wrong whethe

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

2011-12-06 Thread questions anon
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 am doing wrong whether it is something with the loop or with the command. On Wed, Dec 7, 2011 at 1:44 PM, wrote: > On

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 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 argument whi

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 > thanks for all of your help, that does look appropriate but I am

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
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 Nathani

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" 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 my first array I wan

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 > thanks for responding Josef but that is not really what I am looking for, > I have a multidimensional array and if the

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

2011-12-06 Thread questions anon
I have 2d numpy arrays On Wed, Dec 7, 2011 at 1:05 PM, Olivier Delalleau wrote: > 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/

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 > Hi Olivier, > No that does not seem to do anything > am I missing another

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 arra

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 wrote: > It may not be the most efficient way to do this, but you can do: > mask = b > a > a[mask] = b[mask] > > -=

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 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 >> >> I would like to produce an array with the maximum values out of many >> (1s) of arr

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 > 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

[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 2,1