19

I'm trying to find the index of v but it always gives me:
'numpy.ndarray' object has no attribute 'index' I've tried:
TypeError: slice indices must be integers or None or have an __index__ method. How to resolve it? How to find the index of an array within an array.
Finding the index of an item given a list containing it in Python

none of them have answered my question

v = np.random.randn(10)
print(v)
maximum = np.max(v)
minimum = np.min(v)
print(maximum, minimum)
v.index(maximum, minimum)

edit: Oh, crap i put ma instead of maximum my bad. I just started programing then.

Vehicom0607
  • 227
  • 1
  • 2
  • 10

2 Answers2

25

First of all, index is a list method. Here v is a numpy array and you need to do the following:

v = np.random.randn(10)
print(v)
maximum = np.max(v)
minimum = np.min(v)
print(maximum, minimum)

index_of_maximum = np.where(v == maximum)
index_of_minimum = np.where(v == minimum)

Get the elements using these indices:

v[index_of_minimum]
v[index_of_maximum]

Verify using assert:

assert(v[index_of_maximum] == v.max())
assert(v[index_of_minimum] == v.min())
seralouk
  • 30,938
  • 9
  • 118
  • 133
15

If you are using Numpy:

values = np.array([3,6,1,5])
index_min = np.argmin(values)
print(index_min)

returns the index of 2.

ColinMac
  • 620
  • 2
  • 9
  • 18