Numpyの次元数について

Numpyの次元数,イメージ

AI実装検定のご案内

NumPyは、Pythonの科学計算ライブラリで、多次元配列オブジェクト(ndarray)をサポートしています。

この配列は、同じ型の要素の集合を格納し、効率的に操作するための多数のメソッドと関数を提供します。

NumPyの次元数に関する重要な概念を以下に詳しく説明します。

目次

次元(Dimension)

次元,イメージ

次元(dimension)は、配列の形状(shape)を定義するために使用されます。

例えば、スカラー(数値)は0次元、ベクトル(一次元配列)は1次元、行列(二次元配列)は2次元、そして三次元配列やそれ以上の次元を持つ配列も存在します。

次元数は通常、「階(axes)」と呼ばれます。

形状(Shape)

配列の形状は、各次元における要素数を表すタプルです。

例えば、形状が (3, 4) の配列は、3つの行と4つの列を持つ2次元配列です。

形状を調べるには、ndarray.shape プロパティを使用します。

import numpy as np

# 2次元配列の例
array_2d = np.array([[1, 2, 3, 4],
                     [5, 6, 7, 8],
                     [9, 10, 11, 12]])

print(array_2d.shape)  # 出力: (3, 4)

次元数(ndim)

次元数は配列が何次元であるかを示します。

次元数を調べるには、ndarray.ndim プロパティを使用します。

print(array_2d.ndim)  # 出力: 2

サイズ(size)

サイズは配列内の全要素数を表します。

サイズを調べるには、ndarray.size プロパティを使用します。

print(array_2d.size)  # 出力: 12

次元の追加と削除

次元の追加

次元を追加する方法の一つは np.expand_dims 関数を使用することです。

また、None をインデックスとして使用することでも次元を追加できます。

# 1次元配列を作成
array_1d = np.array([1, 2, 3, 4])

# 2次元配列に変換
array_2d = np.expand_dims(array_1d, axis=0)
print(array_2d.shape)  # 出力: (1, 4)

# もう一つの方法
array_2d_alt = array_1d[None, :]
print(array_2d_alt.shape)  # 出力: (1, 4)

次元の削除

次元を削除する方法の一つは np.squeeze 関数を使用することです。

この関数は、サイズ1の次元を削除します。

# 3次元配列を作成
array_3d = np.array([[[1, 2, 3, 4]]])

# 2次元配列に変換
array_2d_squeezed = np.squeeze(array_3d)
print(array_2d_squeezed.shape)  # 出力: (1, 4)

高次元配列の例

NumPyは任意の次元数の配列をサポートしています。

例えば、3次元配列や4次元配列を作成して操作することも容易です。

# 3次元配列の例
array_3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

print(array_3d.shape)  # 出力: (2, 2, 3)
print(array_3d.ndim)   # 出力: 3

# 4次元配列の例
array_4d = np.random.random((2, 2, 3, 3))
print(array_4d.shape)  # 出力: (2, 2, 3, 3)
print(array_4d.ndim)   # 出力: 4

まとめ

Numpyの次元数,イメージ

NumPyの次元数は、データの形状や構造を理解するために非常に重要です。

次元数を操作することで、データの形式を変換し、様々な数値計算を効率的に行うことができます。

NumPyの強力な次元操作機能を利用することで、複雑なデータ解析や計算をシンプルに実現することが可能です。

以上、Numpyの次元数についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次