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])