2017-08-20 9 views
-2
import numpy as np 

a = np.array([[1,2], [3, 4], [5, 6]]) 

print(a[[0, 1, 2], [0, 1, 0]]) # Prints "[1 4 5]" 

print(a[[0, 0], [1, 1]]) # Prints "[2 2]" 

それは、2D-配列アクセスとしての[1 4 5][2 2]整数配列のインデックスパイソン

+0

予想される出力は? – Adi219

+0

私はそれについては期待していません。なぜそれが結果になるのだろうか – BETUL

答えて

0

だと思うの結果、なぜ私は理解していません。与えられた次のように2次元配列が機能する際

[ 1 2 ] 
[ 3 4 ] 
[ 5 6 ] 

numpyのインデックス作成:あなたの入力行インデックスのリストを、その列のインデックスのリストあなたがフォームであなたの2次元配列を取得し初期化します。意味的には、最初の索引検索文は、「行0から要素0を検索し、行1から要素1を検索し、行2から要素0を取り出す」と言います。これは[1 4 5]に対応します。 2番目のステートメントで[2 2]を得る理由を理解することができます。

あなたがここにこの高度なインデックス作成についての詳細を読むことができますが:https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#integer-array-indexing

2

あなたはインデックスを持つ配列をスライスしているので

a[[0, 1, 2], [0, 1, 0]]二回a[0, 1]に相当します

a[0, 0] # 1 
a[1, 1] # 4 
a[2, 0] # 5 

a[[0, 0], [1, 1]]一方に相当します

ナンシーインデックスの詳細here

+0

いいえ。どうもありがとうございます。わかりました。 – BETUL

+0

だから、おそらくupvoteまたは答えを受け入れる... – FabienP