NumPy配列の情報を取得:次元数、形状、サイズをマスターしよう
NumPyはPythonで数値計算を効率的に行うためのライブラリです。特に多次元配列を扱う際にその真価を発揮します。NumPy配列(ndarray)を使いこなす上で、その基本的な属性である次元数、形状、**サイズ(全要素数)**を理解することは非常に重要です。これらの情報は、配列の構造を把握し、適切な操作を行うために不可欠だからです。
この記事では、NumPy配列の次元数、形状、サイズをそれぞれ取得する方法について、具体的なコード例を交えながら解説します。
NumPy配列の基本属性
まずは、NumPy配列の「次元数」「形状」「サイズ」がそれぞれ何を指すのか理解しましょう。
次元数 (ndim: number of dimensions)
配列が持つ軸(次元)の数を示します。例えば、1次元配列はndim=1、2次元配列はndim=2となります。
形状 (shape: tuple of array dimensions)
各次元の要素数をタプルで示します。例えば、2行3列の配列であれば(2, 3)となります。
サイズ (size: total number of elements)
配列に含まれる全要素の数を示します。形状の各要素を掛け合わせた値と等しくなります。
NumPy配列の情報を取得する方法
これらの情報は、NumPy配列の属性として簡単に取得できます。
次元数を取得する (.ndim)
NumPy配列の次元数は、ndim属性を使って取得できます。
import numpy as np
# 1次元配列
arr1 = np.array([1, 2, 3])
print(f"arr1の次元数: {arr1.ndim}")
# 2次元配列
arr2 = np.array([[1, 2], [3, 4]])
print(f"arr2の次元数: {arr2.ndim}")
# 3次元配列
arr3 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(f"arr3の次元数: {arr3.ndim}")
実行結果:
arr1の次元数: 1
arr2の次元数: 2
arr3の次元数: 3
形状を取得する (.shape)
NumPy配列の形状は、shape属性を使ってタプルとして取得できます。
import numpy as np
# 1次元配列
arr1 = np.array([1, 2, 3, 4, 5])
print(f"arr1の形状: {arr1.shape}")
# 2次元配列
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(f"arr2の形状: {arr2.shape}")
# 3次元配列
arr3 = np.zeros((2, 3, 4)) # 要素が全て0の2x3x4の配列を作成
print(f"arr3の形状: {arr3.shape}")
実行結果:
arr1の形状: (5,)
arr2の形状: (2, 3)
arr3の形状: (2, 3, 4)
1次元配列の場合、形状は要素数を示す単一のタプル(例:(5,))として返されることに注意してください。
サイズ(全要素数)を取得する (.size)
NumPy配列に含まれる全要素の数は、size属性を使って取得できます。
import numpy as np
# 1次元配列
arr1 = np.array([1, 2, 3, 4, 5])
print(f"arr1のサイズ: {arr1.size}")
# 2次元配列
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(f"arr2のサイズ: {arr2.size}")
# 3次元配列
arr3 = np.ones((2, 3, 4)) # 要素が全て1の2x3x4の配列を作成
print(f"arr3のサイズ: {arr3.size}")
実行結果:
arr1のサイズ: 5
arr2のサイズ: 6
arr3のサイズ: 24
sizeはshapeの各要素を掛け合わせた結果と一致します。例えば、arr2の形状は(2, 3)なので、となり、sizeもになります。
まとめ
NumPy配列のndim、shape、size属性を理解し、適切に利用することで、配列の構造を正確に把握し、データ分析や数値計算をより効率的に進めることができます。これらの属性はNumPyの操作の基礎となるため、ぜひマスターしてくださいね。

