ndim
属性~配列の次元
ndim
属性は配列の次元を整数で返す。
1次元配列を1つだけ要素に持つ配列や列ベクトルの次元が2となっている点に注意。とにかく[]
のネストの数だと考えればよい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import numpy as np a = np.array([1, 2, 3]) print(a.ndim) # 1 b = np.array([ [1, 2, 3], [4, 5, 6] ]) print(b.ndim) # 2 c = np.array([ [[1, 2], [3, 4]], [[5, 6], [7, 8]] ]) print(c.ndim) # 3 d = np.array([[1, 2, 3]]) print(d.ndim) # 2 e = np.array([ [1], [2], [3], ]) print(e.ndim) # 2 |
shape
属性~配列の形状
shape
属性は配列の形状を返す。
1次元1行の単純な配列のときにはshapeが(1, n)とならないのが気になるがこれは結果が常にタプルで返されるためで、1次元とわかっているときには1つの整数が返ってくると考えてよい。
ndim=2
となる形状の場合にはタプルも2要素となって、shape=(行数, 列数)
となる。より多次元の場合、外側の次元の要素数からの順番になる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import numpy as np a = np.array([1, 2, 3]) print(a.shape) # (3,) b = np.array([ [1, 2, 3], [4, 5, 6] ]) print(b.shape) # (2, 3) c = np.array([ [[11, 12, 13, 14], [15, 16, 17, 18], [19, 20, 21, 22]], [[51, 52, 53, 54], [55, 56, 57, 58], [59, 60, 61, 62]] ]) print(c.shape) # (2, 3, 4) d = np.array([[1, 2, 3]]) print(d.shape) # (1, 3) e = np.array([ [1], [2], [3], ]) print(e.shape) # (3, 1) |
size
属性~配列のサイズ
size
属性で得られる配列のサイズは配列の要素数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import numpy as np a = np.array([1, 2, 3]) print(a.size) # 3 b = np.array([ [1, 2, 3], [4, 5, 6] ]) print(b.size) # 6 c = np.array([ [[1, 2], [3, 4]], [[5, 6], [7, 8]] ]) print(c.size) # 8 d = np.array([[1, 2, 3]]) print(d.size) # 3 e = np.array([ [1], [2], [3], ]) print(e.size) # 3 |