python numpyの配列をスライスする

python numpyの配列をスライスする

pythonで、ライブラリnumpyで作成した配列をスライスするサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

numpyインストール

numpyをインストールされていない方は、pipでインストールしておきます。

pip install numpy

# Successfully installed numpy-1.19.4

スライス

スライスは以下の方法で可能です。

arr[インデックス番号:インデックス番号-1]

以下は、スライスするだけのサンプルコードとなります。

import numpy as np

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

# インデックス番号2~4番まで
print(arr[2:5])
# [3 4 5]

# 全て
print(arr[:])
# [1 2 3 4 5 6]

# インデックス番号2番まで
print(arr[:3])
# [1 2 3]

# インデックス番号2~4番まで
print(arr[::2])
# [1 3 5]

以下のように「-1」を指定すると逆順になります。

print(arr[::-1])
# [6 5 4 3 2 1]

多次元配列の場合は以下ようにすると確認できます。

arr[行指定(0から):, 列指定(0から):]

以下は、多次元配列をスライスするサンプルとなります。。

import numpy as np

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

# 1行目から2列目を全て
print(arr[0:, 1:])
# [[2 3]
#  [5 6]
#  [8 9]]

# 1行目から3列目を全て
print(arr[0:, 2:])
# [[3]
#  [6]
#  [9]]

# 2行目から2列目を全て
print(arr[1:, 2:])
# [[6]
#  [9]]