Python NumPy numpy.shape() 関数

Minahil Noor 2023年1月30日
  1. numpy.shape() の構文
  2. コード例:numpy.shape()
  3. コード例:numpy.shape() で単純な配列を渡す
  4. コード例:numpy.shape() で多次元配列を渡す
  5. コード例:numpy.shape() で配列名を用いて関数を呼び出す
Python NumPy numpy.shape() 関数

Python NumPy numpy.shape() 関数は配列の形状を見つけます。shape とは、配列の次元を求めるのに役立つという意味です。配列次元を変更できないのと同じように、タプルを変更することはできないので、タプルの形で形状を返します。

numpy.shape() の構文

numpy.shape(a)

パラメータ

a 配列のような構造になっています。次元を求めるための入力配列です。

戻り値

これは、配列の形状を整数のタプルの形で返します。タプルの値は配列の次元の長さを示します。

コード例:numpy.shape()

パラメータ a は必須のパラメータです。この関数を空の配列で実行すると、以下のような出力が生成されます。

import numpy as np

a = np.array([])
dimensions = np.shape(a)
print(dimensions)

出力:

(0,)

これは単一の整数 - 0 を持つタプルを返しました。これは配列が要素数 0 の 1 次元であることを示しています。

コード例:numpy.shape() で単純な配列を渡す

ここでは単純な一次元配列を渡します。

import numpy as np

a = np.array(
    [89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
dimensions = np.shape(a)
print(dimensions)

出力:

(20,)

出力は、配列が一次元で 20 個の要素を含むことを示しています。

コード例:numpy.shape() で多次元配列を渡す

import numpy as np

a = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
dimensions = np.shape(a)
print(dimensions)

出力:

(5, 3)

出力タプルには 2つの整数要素が含まれていることに注意してください。これは配列が 5 行 3 列を含むことを示しています。

次に、より複雑な配列を渡します。

import numpy as np

a = np.array(
    [[[11, 12, 5], [15, 6, 10]], [[10, 8, 12], [12, 15, 8]], [[34, 78, 90], [4, 8, 10]]]
)
dimensions = np.shape(a)
print(dimensions)

出力:

(3, 2, 3)

3つの 2 次元配列を含む配列を渡しました。出力タプルは、配列が 3つのレイヤー、2つの行、3つの列を持っていることを示しています。

コード例:numpy.shape() で配列名を用いて関数を呼び出す

この関数は配列の名前を使って呼び出すこともできます。これは同じ出力を生成します。以下のコードスニペットは、配列の名前を使ってこの関数を実装しています。

最初に 1 次元の配列を渡します。

import numpy as np

a = np.array(
    [89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
dimensions = a.shape
print(dimensions)

出力:

(20,)

呼び出した numpy.shape() と同じ出力を生成していることに注意してください。

import numpy as np

a = np.array(
    [[[11, 12, 5], [15, 6, 10]], [[10, 8, 12], [12, 15, 8]], [[34, 78, 90], [4, 8, 10]]]
)
dimensions = a.shape
print(dimensions)

出力:

(3, 2, 3)