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() 函式可以返回陣列的形狀。所謂形狀,我們指的是它可以幫助找到一個陣列的尺寸。它以元組的形式返回形狀,因為我們不能改變元組,就像我們不能改變陣列的尺寸一樣。

numpy.shape() 語法

numpy.shape(a)

引數

a 它是一個類似於陣列的結構。它是輸入的陣列,用於查詢尺寸。

返回值

它以整數的元組形式返回陣列的形狀。元組的值顯示了陣列維度的長度。

示例程式碼:numpy.shape()

引數 a 是一個強制引數。如果我們在一個空的陣列上執行這個函式,它將產生以下輸出。

import numpy as np

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

輸出:

(0,)

它返回了一個帶有具有整數值 0 的元組,這表明陣列是一維的,陣列大小為零。

示例程式碼: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)

請注意,輸出元組現在包含兩個整數元素。這表明陣列包含五行三列。

現在我們將傳遞一個更復雜的陣列。

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)

我們已經傳遞了一個包含三個二維陣列的陣列。輸出元組顯示陣列有三層,兩行,三列。

示例程式碼: 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 = 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)