Helve’s Python memo

Pythonを使った機械学習やデータ分析の備忘録

<NumPy> 配列の確認

配列の属性

>>> import numpy as np
>>> a = np.array([[1,2,3],[4,5,6]])
>>> a.ndim   # 次元
2
>>> a.size   # 要素数
6
>>> a.shape  # 各次元の要素数
(2, 3)

要素へのアクセス

スライスが使える。
1次元配列の場合。

>>> b = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b[1]       # 1番目
1
>>> b[1:7]     # 1番目から7番目まで
array([1, 2, 3, 4, 5, 6])
>>> b[1:7:2]   # 1番目から7番目まで2つ飛ばしで
array([1, 3, 5])
>>> b[3:]      # 3番目以降
array([3, 4, 5, 6, 7, 8, 9])
>>> b[-2]      # 末尾から2番目
8
>>> b[[0,5,7]] # リストで複数のインデックスを指定
array([0, 5, 7])


2次元配列の場合。

>>> c = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
>>> c
array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]])
>>> c[1,1]     # (1, 1)要素
6
>>> c[0:2]     # 0~1行目
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
>>> c[:, 0:3]  # 0~2列目
array([[ 1,  2,  3],
       [ 5,  6,  7],
       [ 9, 10, 11]])
>>> c[0:2,1:3] # 0~1行目かつ1~2列目
array([[2, 3],
       [6, 7]])

参考:
The N-dimensional array (ndarray) — NumPy v1.12 Manual
Indexing — NumPy v1.12 Manual