Python Numpy配列、リスト、タプルのサイズ確認

Pythonで計算する際、Numpy配列やリストを使います。

この両者の次元数、各次元の数、全要素数を調べたいときいつもどうだったのだろうと思うので備忘録として記録します。

次元数、各次元の数、全要素数とは

次元数、各次元の数、全要素数 ですが、例として、レコード数3、カラム数5のテーブルの場合(下記のテーブル)、

次元数は、2、各次元の数は、(3,5)、全要素数は、15となります。

01234
56789
1011121314

Numpy配列

まずサンプルとして、このようなNumpy配列を準備。

Numpy配列を用いるためには、numpyモジュールをインポートする必要があります。

import numpy as np

n_table = np.array([[1,2,3,4],[5,6,7,8]])

次元数

サンプルデータの次元数を確認するにはndim属性を用います。

print(n_table.ndim)
# 2

各次元の数

各次元の数を確認するにはshape属性を用います。

print(n_table.shape)
# (2,4)

全要素数

全要素数を確認するにはsize属性を用います。

print(n_table.size)
# 8

リスト

まずサンプルとして、このようなリストを準備 します。

l_table = [[1,2,3,4],[5,6,7,8]]

次元の数

次元の数の場合、len関数を用います。

print(len(l_table))
# 2

各次元の数

各次元の数の場合、len関数を用います。

row=len(l_table)
col=len(l_table[0])
print(row,col)
# 2 4

全要素数

全要素数の場合、リスト内包表記を用います。

print(sum(len(v) for v in l_table))
# 8

タプル

実は、タプルの次元の数、各次元の数、全要素数は、リストでの方法と同じになります。

まとめ

以上を表でまとめます。

tableというテーブルがあったとすると

次元の数各次元の数全要素数
Numpy配列table.ndimtable.shapetable.size
リスト&タプルlen(table)row=len(table),col=len(table[0])sum(len(v) for v in table)