cached

.

Numpy配列のスライスメモ

初歩的なことではあるが、Numpy配列のスライスがコードだけではイメージしづらかったので自分用に整理する。

import numpy as np
array1 = np.arange(16).reshape(4,4)

array1

array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])


1行だけスライス

array1[:1}

array([[0, 1, 2, 3]])


範囲を指定

array1[1:3]

array([[ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])


本題:カンマ区切り。順にたどればわかりやすいが、列をスライスできる。

array1[0:3,0:3]

array([[ 0,  1,  2],
       [ 4,  5,  6],
       [ 8,  9, 10]])


初見は以下のような形。わかりづらい…

array1[0::,0]

array([ 0,  4,  8, 12])