1. ホーム
  2. python

[解決済み] 'numpy.ndarray' オブジェクトに 'index' 属性がありません。

2022-02-03 12:35:20

質問

vのインデックスを見つけようとしているのですが、いつも出てしまいます。
'numpy.ndarray' object has no attribute 'index' 試してみました。
TypeError: スライスのインデックスは整数または None であるか、__index__ メソッドを持っていなければなりません。どのように解決しますか? 配列内の配列のインデックスの求め方 .
Pythonで項目を含むリストからその項目のインデックスを見つける

どれも私の質問に答えていない

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

編集:あ、しまった、maxではなくmaと書いてしまった、失礼。私はプログラミングを始めたばかりなのです。

どのように解決するのですか?

まず第一に index はリストメソッドです。ここでは v はnumpyの配列なので、以下のようにする必要があります。

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)

これらのインデックスを使用して要素を取得します。

v[index_of_minimum]
v[index_of_maximum]

assert を使って検証します。

assert(v[index_of_maximum] == v.max())
assert(v[index_of_minimum] == v.min())