note.nkmk.me

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

Date: 2018-06-06 / tags: Python, NumPy

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の形状(各次元のサイズ)は属性ndimでタプルとして取得できる。

一次元配列の場合も整数値ではなく要素数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)

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

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
スポンサーリンク
シェア
このエントリーをはてなブックマークに追加

関連カテゴリー

関連記事