NumPy配列ndarrayの次元数、形状、サイズ(全要素数)を取得

NumPy配列ndarrayの次元数、形状(各次元のサイズ)、サイズ(全要素数)を取得するには、numpy.ndarrayの属性ndim, shape, sizeを使います。

NumPy配列ndarrayの次元数: ndim NumPy配列ndarrayの形状(各次元のサイズ): shape NumPy配列ndarrayのサイズ(全要素数): size

1次元から3次元までの以下のnumpy.ndarrayを例とします。

import numpy as np

a_1d = np.arange(3)
print(a_1d)
# [0 1 2]

a_2d = np.arange(12).reshape((3, 4))
print(a_2d)
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]

a_3d = np.arange(24).reshape((2, 3, 4))
print(a_3d)
# [[[ 0  1  2  3]
#   [ 4  5  6  7]
#   [ 8  9 10 11]]
#  [[12 13 14 15]
#   [16 17 18 19]
#   [20 21 22 23]]]

NumPy配列ndarrayの次元数: ndim

numpy.ndarrayの次元数は属性ndimで整数値intとして取得できます。

print(a_1d.ndim)
# 1

print(type(a_1d.ndim))
# <class 'int'>

print(a_2d.ndim)
# 2

print(a_3d.ndim)
# 3

NumPy配列ndarrayの形状(各次元のサイズ): shape

numpy.ndarrayの形状(各次元のサイズ)は属性shapeでタプルとして取得できます。 一次元配列の場合も整数値ではなく要素数1のタプルとなる(要素数1のタプルは末尾にカンマがつく)。

print(a_1d.shape)
# (3,)

print(type(a_1d.shape))
# <class 'tuple'>

print(a_2d.shape)
# (3, 4)

print(a_3d.shape)
# (2, 3, 4)

例えば二次元配列の場合は(行数, 列数)となります。行数・列数いずれか一方のみを取得したい場合は、タプルのそれぞれの要素を取得すれば問題ありません。

print(a_2d.shape[0])
# 3

print(a_2d.shape[1])
# 4

それぞれ別の変数に代入することも可能。

row, col = a_2d.shape
print(row)
# 3

print(col)
# 4

形状を変換する場合はreshape()を使います。以下の記事を参照。

NumPy配列ndarrayのサイズ(全要素数): size

numpy.ndarrayのサイズ(全要素数)は属性sizeで整数値intとして取得できます。

print(a_1d.size)
# 3

print(type(a_1d.size))
# <class 'int'>

print(a_2d.size)
# 12

print(a_3d.size)
# 24

シェア

関連カテゴリー

Python NumPy

Pythonで正規化・標準化(リスト、NumPy配列、pandas.DataFrame) NumPyのファンシーインデックス(リストによる選択と代入) NumPyのeyeまたはidentityでone-hot表現に変換 NumPyのarange, linspaceの使い方(連番や等差数列を生成) Python, NumPyで行列の演算(逆行列、行列式、固有値など) NumPyで空の配列ndarrayを生成するemptyとempty_like NumPy配列ndarrayのスライスによる部分配列の選択と代入 NumPyのデータ型dtype一覧とastypeによる変換(キャスト) Pythonでの画像処理、Pillow, NumPy, OpenCVの違いと使い分け NumPyで条件に応じた処理を行うwhereの使い方 NumPyで任意の行・列を削除するdeleteの使い方 NumPyのブロードキャスト(形状の自動変換) 『Pythonデータサイエンスハンドブック』は良書(NumPy, pandasほか) pandasからNumPyの関数などを使う方法(pd.np) NumPy配列ndarrayの対角成分の抽出、対角行列の作成(diag, diagonal)

Last Updated: 6/26/2019, 10:34:03 PM