[Numpy-discussion] find location of maximum values
questions.anon at gmail.com
Mon Jan 9 17:31:41 EST 2012
thanks for the responses.
Unfortunately they are not matching shapes
>>> print TSFC.shape, TIME.shape, LAT.shape, LON.shape
(721, 106, 193) (721,) (106,) (193,)
So I still receive index out of bounds error:
numpy array of max values for the month
>>>maxtemp=tmax.ravel()[maxindex] #or maxtemp=TSFC.max()
35.5 (degrees celcius)
IndexError: index out of bounds
Any other ideas for this type of situation?
On Wed, Jan 4, 2012 at 10:29 PM, Derek Homeier <
derek at astro.physik.uni-goettingen.de> wrote:
> On 04.01.2012, at 5:10AM, questions anon wrote:
> > Thanks for your responses but I am still having difficuties with this
> problem. Using argmax gives me one very large value and I am not sure what
> it is.
> > There shouldn't be any issues with the shape. The latitude and longitude
> are the same shape always (covering a state) and the temperature (TSFC)
> data are hourly for a whole month.
> There will be an issue if not TSFC.shape == TIME.shape == LAT.shape ==
> One needs more information on the structure of these data to say anything
> but if e.g. your TSFC data have a time and a location dimension, argmax
> per default return the index for the flattened array (see the argmax
> for details, and how to use the axis keyword to get a different output).
> This might be the very large value you mention, and if your location data
> have fewer
> dimensions, the index will easily be out of range. As Ben wrote, you'd
> need extra work to
> find the maximum location, depending on what maximum you are actually
> looking for.
> As a speculative example, let's assume you have the temperature data in an
> array(ntime, nloc) and the position data in array(nloc). Then
> would give you the index for the hottest place for each hour of the month
> (i.e. actually an array of ntime indices, and pointer to so many different
> To locate the maximum temperature for the entire month, your best way
> would probably
> be to first extract the array of (monthly) maximum temperatures in each
> location as
> tmax = TSFC.max(axis=0)
> which would have (in this example) the shape (nloc,), so you could
> directly use it to index
> LAT[tmax.argmax()] etc.
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion