NumPy stack() 函式



NumPy 的stack()函式用於沿著新軸連線一系列陣列。所有輸入陣列必須具有相同的形狀。

此函式對於在指定維度上組合相同形狀的陣列同時在輸出陣列中建立新維度非常有用。例如,沿著新軸堆疊兩個二維陣列會建立一個三維陣列。

語法

NumPy stack() 函式的語法如下:

numpy.stack(arrays, axis=0, out=None, *, dtype=None, casting='same_kind')

引數

  • arrays: 這些是要堆疊的陣列。所有陣列必須具有相同的形狀。
  • axis: 沿著該軸堆疊陣列。它必須介於 0 和輸入陣列的維度數之間。
  • out: 如果提供,則為放置結果的目標位置。它應該具有合適的形狀和資料型別。
  • dtype: 如果提供,則為結果陣列要使用的 dtype。
  • casting: 控制可能發生的哪種資料轉換。

返回值

stack() 函式返回一個堆疊陣列,其維度比輸入陣列多一個。

示例 1

以下是使用 NumPy stack() 函式的基本示例。在此示例中,兩個一維陣列沿著新軸堆疊,生成一個二維陣列。

import numpy as np

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
stacked_array = np.stack((array1, array2))

print("Stacked Array:\n", stacked_array)

輸出

Stacked Array:
 [[1 2 3]
  [4 5 6]]

示例 2

這是另一個使用 stack() 函式的示例,在此示例中,兩個二維陣列沿著軸 1 堆疊,生成一個三維陣列。

import numpy as np

array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])
stacked_array = np.stack((array1, array2), axis=1)

print("Stacked Array:\n", stacked_array)

輸出

Stacked Array:
 [[[1 2]
   [5 6]]

  [[3 4]
   [7 8]]]

示例 3

在此示例中,兩個三維陣列沿著軸 2 堆疊,生成一個四維陣列。

import numpy as np

array1 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
array2 = np.array([[[9, 10], [11, 12]], [[13, 14], [15, 16]]])
stacked_array = np.stack((array1, array2), axis=2)

print("Stacked Array:\n", stacked_array)

輸出

Stacked Array:
 [[[[ 1  2]
   [ 9 10]]

  [[ 3  4]
   [11 12]]]


 [[[ 5  6]
   [13 14]]

  [[ 7  8]
   [15 16]]]]
numpy_array_manipulation.htm
廣告