NumPy 配列のカット

配列をカット

Pythonでカットとは、要素を指定されたインデックスから別の指定されたインデックスまで移動することを意味します。

私たちはこのようにスライスをインデックスの代わりに渡します:[startend]

また、以下のようにステップ長を定義できます:[startendstep]

もし渡さない場合 startそれが 0 と見なされます。

もし渡さない場合 endそれがその次元内の配列の長さと見なされます。

もし渡さない場合 stepそれが 1 と見なされます。

以下の配列からインデックス 1 からインデックス 5 の要素をカットします:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])

実行例

コメント:結果には開始インデックスが含まれますが、終了インデックスは含まれません。

インデックス 4から終わりまでの要素をカットします:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[4:])

実行例

先頭からインデックス 4(含まない)までの要素をカットします:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[:4])

実行例

ネガティブカット

マイナス演算子を使用して末尾からインデックスを参照します:

末尾からインデックス 3 から末尾からインデックス 1まで、配列をカットします:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[-3:-1])

実行例

STEP

ステップ値を使用してカットのステップを指定してください:

インデックス 1 からインデックス 5まで、間隔のある要素を返します:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5:2])

実行例

配列の間隔のある要素を返します:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[::2])

実行例

2-D 配列のカット

2番目の要素から始めて、インデックス 1 からインデックス 4(含まない)の要素をスライスします:

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[1, 1:4])

実行例

コメント:記憶に留めておいてください、2番目の要素のインデックスは 1 です。

2 つの要素からインデックス 2 を返します:

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 2])

実行例

インデックス 1 からインデックス 4(含まない)の 2 つの要素からカットします。これにより、2-D 配列が返されます:

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[0:2, 1:4])

実行例