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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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/
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
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
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]
>
> -=
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
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
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
22 matches
Mail list logo