0

numpy 配列を取得しましたが、特定の要素の値を取得したいと考えています。たとえば、次の値にアクセスしたい場合があります。[1,1]

import numpy as np
A = np.arange(9).reshape(3,3)
print A[1,1]
# 4

ここで、配列に座標があるとします。

i = np.array([1,1])

座標配列でインデックスAを作成するにはどうすればよいですか。i以下は機能しません。

print A[i]
# [[3 4 5]
#  [3 4 5]]
4

2 に答える 2

4

Python では、;x[(exp1, exp2, ..., expN)]と同等です。x[exp1, exp2, ..., expN]後者は前者の構文糖衣にすぎません。

したがって、と同じ結果を得るにはA[1,1]、タプルでインデックスを作成する必要があります。

ndarrayをインデックス オブジェクトとして使用すると、高度なインデックス作成がトリガーされます。

于 2013-09-02T23:50:47.037 に答える
0

あなたの最善の策はA[tuple(i)]です。tuple(i)呼び出しは単にシーケンスとして扱い、iシーケンス項目をタプルに入れます。配列に複数の次元がある場合、これはネストされたタプルを作成しないことに注意してください。ただし、この場合は問題ありません。

于 2013-09-02T23:48:58.190 に答える