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
广告