[Numpy-discussion] NetCDF4/numpy question

Howard howard at renci.org
Fri Jan 27 16:58:05 EST 2012


Oh, one other thing I should mention:

I did the install of numpy yesterday and I also have 1.6.1

Howard

On 1/27/12 4:54 PM, Howard wrote:
> Hi Olivier
>
> I added this to the code:
>
> print "modelData:", type(modelData), modelData.shape, modelData.size
> print "dataMin:", type(dataMin)
>
> and got
>
> modelData: <class 'numpy.ma.core.MaskedArray'> (1767734,) 1767734
> dataMin: <type 'float'>
>
> What's funny is I tried the example from
>
> http://docs.scipy.org/doc/numpy-1.6.0/numpy-user.pdf
>
> and it works fine for me. Maybe 1.7 million is over some threshhold?
>
> Thanks
> Howard
>
> >>> myarr = np.ma.core.MaskedArray([1., 0., np.nan, 3.])
> >>> myarr[np.isnan(myarr)] = 30
> >>> myarr
> masked_array(data = [  1.   0.  30.   3.],
>              mask = False,
>        fill_value = 1e+20)
>
>
> On 1/27/12 4:42 PM, Olivier Delalleau wrote:
>> What are the types and shapes of modelData and dataMin? (it works for 
>> me with modelData a (3, 4) numpy array and dataMin a Python float, 
>> with numpy 1.6.1)
>>
>> -=- Olivier
>>
>> 2012/1/27 Howard <howard at renci.org <mailto:howard at renci.org>>
>>
>>     Hi all
>>
>>     I am a fairly recent convert to python and I have got a question
>>     that's got me stumped.  I hope this is the right mailing list:
>>     here goes :)
>>
>>     I am reading some time series data out of a netcdf file a single
>>     timestep at a time.  If the data is NaN, I want to reset it to
>>     the minimum of the dataset over all timesteps (which I already
>>     know).  The data is in a variable of type
>>     numpy.ma.core.MaskedArray called modelData.
>>
>>     If I do this:
>>
>>           for i in range(len(modelData)):
>>              if math.isnan(modelData[i]):
>>                 modelData[i] = dataMin
>>
>>     I get the effect I want, If I do this:
>>
>>        modelData[np.isnan(modelData)] = dataMin
>>
>>     it doesn't seem to be working.  Of course I could just do the
>>     first one, but len(modelData) is about 3.5 million, and it's
>>     taking about 20 seconds to run.  This is happening inside of a
>>     rendering loop, so I'd like it to be as fast as possible, and I
>>     thought the second one might be faster, and maybe it is, but it
>>     doesn't seem to be working! :)
>>
>>     Any ideas would be much appreciated.
>>
>>     Thanks
>>     Howard
>>
>>     -- 
>>     Howard Lander <mailto:howard at renci.org>
>>     Senior Research Software Developer
>>     Renaissance Computing Institute (RENCI) <http://www.renci.org>
>>     The University of North Carolina at Chapel Hill
>>     Duke University
>>     North Carolina State University
>>     100 Europa Drive
>>     Suite 540
>>     Chapel Hill, NC 27517
>>     919-445-9651
>>
>>     _______________________________________________
>>     NumPy-Discussion mailing list
>>     NumPy-Discussion at scipy.org <mailto:NumPy-Discussion at scipy.org>
>>     http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
>
>
> -- 
> Howard Lander <mailto:howard at renci.org>
> Senior Research Software Developer
> Renaissance Computing Institute (RENCI) <http://www.renci.org>
> The University of North Carolina at Chapel Hill
> Duke University
> North Carolina State University
> 100 Europa Drive
> Suite 540
> Chapel Hill, NC 27517
> 919-445-9651


-- 
Howard Lander <mailto:howard at renci.org>
Senior Research Software Developer
Renaissance Computing Institute (RENCI) <http://www.renci.org>
The University of North Carolina at Chapel Hill
Duke University
North Carolina State University
100 Europa Drive
Suite 540
Chapel Hill, NC 27517
919-445-9651
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20120127/de08b3ed/attachment.html>


More information about the NumPy-Discussion mailing list