Menu
Coddy logo textTech

スライス

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]
challenge icon

チャレンジ

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

NumPyの基礎のすべてのレッスン