多次元のnumpyから要素を取得
python
1import numpy as np 2multidimensional = np.zeros([10,10,10],int) 3index = np.zeros([3],int)
なる配列を定義します。
python
1multidimensional[0,0,0]
を実行するとmultidimensionalが3次元ですので、
python
1[out] 0
と出力されますが、
python
1print(multidimensional[index]) 2print(multidimensional[index].shape)
python
1array([[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 2 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], 11 12 [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], 22 23 [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 27 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 28 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 30 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 31 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 32 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]]) 33 34(3, 10, 10)
と出力させてしまいます。
これはmultidimensionalの0番目が3回選ばれているからであると思うのですが、multidimensional[0,0,0]
と同じ内容をindex
を用いて行うことはできないものかと思っております。
詳しい方がいれば教えていただけると嬉しいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。