numpy配列で目にする3つの単語。形、次元、サイズ。
それぞれがなにを指すのか理解せずに、なんとなく使い分けているつもりになっているので、改めて整理。
日本語 | 意味 | メソッド | Output例 | データ型 |
形 | 次元数と各次元の要素数 | .shape | (3, 3) | タプル型 |
次元数 | 配列の次元数 | .ndim | 2 | int型(整数型) |
サイズ | 配列全体の要素数 | .size | 9 | int型(整数型) |
実装例
import numpy as np
a = np.array([[1, 2, 3],[4,5,6],[7,8,9]])
print(a)
print(a.shape)
print(a.ndim)
print(a.size)
print(type(a.shape))
print(type(a.ndim))
print(type(a.size))
出力結果
[[1 2 3]
[4 5 6]
[7 8 9]]
(3, 3)
2
9
<class 'tuple'>
<class 'int'>
<class 'int'>
まとめ
機械学習をしていると、使わざるを得ないNumpy配列。お手本を見よう見まねで実行していると、どの配列に、どんな要素が、どれくらいの数入っているのかわからないでいることが多い。もちろん、諸先輩がたは、随所に配列をPrintして配列の中身を確認する必要なく、配列の操作をしているんだろうが、最初のうちはめんどぐさがらずに配列になにが、どんな風に入っているのかを出力して、やっていくのが賢明だと思った。