スライス
Coddyの「NumPyの基礎」コースのレッスン 11/18。
numpyにおけるスライシングは、リストのスライシングと同じです。
基本的なスライシングの構文は次のとおりです:ary[start:stop:step]
例 1
インデックス1から開始し、2ステップずつ要素を取得し、最後のインデックス(含まない)で停止します:
ary = np.array([0, 1, 2, 3, 4, 5])
print(ary[1:-1:2])
>>> [1 3]例 2
上記と同じですが、より高次元の場合です
ary = np.array([[[1,2],[3,4]], [[5,6],[7,8]], [[9,10], [11,12]]]) # <-- 形状: (3, 2, 2)
print(ary[1:-1:2])
>>> [[[5 6]
>>> [7 8]]]注意:numpyでは、開始位置や終了位置の省略もサポートされています
ary = np.array([0, 1, 2, 3, 4, 5])
ary[:2] # --> [0 1]
ary[3:] # --> [3 4 5]チャレンジ
ary から [[1,2],[3,4]] と [[9,10], [11,12]] をスライスしてください。
結果を res 変数に保存し、res を表示してください。
自分で試してみよう
import numpy as np
ary = np.array([ [ [ 1,2 ],[ 3,4 ] ], [ [ 5,6 ],[ 7,8 ] ], [ [ 9,10 ], [ 11,12 ] ] ]) # Don't touch
res = ary[] # <-- Slice
print(str(res).replace('\n', '')) # Don't touch