How do I obtain the row number that myMax
is in?
import numpy as np
myArray = np.arange(20).reshape(4,5)
print(myArray)
myMax = max(myArray[:,3])
print(myMax)
How do I obtain the row number that myMax
is in?
import numpy as np
myArray = np.arange(20).reshape(4,5)
print(myArray)
myMax = max(myArray[:,3])
print(myMax)
You can either use np.where
:
In [1]: np.where(myArray == myMax)
Out[1]: (array([3], dtype=int64), array([3], dtype=int64))
Or you can use .argmax()
In [2]: myArray[:,3].argmax()
Out[2]: 3
Use argmax
arg_max = myArray[:, 3].argmax()
myArray[arg_max,:]
If you don't have the column like in the case above, argmax
returns the index of the flattened array, for example:
np.random.seed(0)
myArray = np.random.choice(20, 20).reshape(4, 5) # max is [1,2]
arg_max = myArray.argmax() # returns 7
rows, cols = myArray.shape
myArray[int(arg_max/cols), :]