NumPyアレイスライシング


アレイのスライス

Pythonでスライスするということは、ある特定のインデックスから別の特定のインデックスに要素を移動することを意味します。

次のように、インデックスの代わりにスライスを渡します[start:end]

次のようにステップを定義することもできます[start:end:step]

合格しなかった場合は、考慮された0を開始します

終了を渡さない場合、その次元で考慮される配列の長さ

ステップを通過しない場合、その考慮された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までの1つおきの要素を返します。

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次元配列のスライス

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を返します。

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次元配列が返されます。

import numpy as np

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

print(arr[0:2, 1:4])

エクササイズで自分をテストする

エクササイズ:

正しいスライス構文を挿入して、次の配列の選択を出力します。

2番目のアイテム(含む)から5番目のアイテム(含まない)までのすべて。

arr = np.array([10, 15, 20, 25, 30, 35, 40])

print(arr)