Numpy stack() 函数
Numpy stack() 函数用于沿新轴连接一系列数组。所有输入数组必须具有相同的形状。
此函数可用于沿指定维度组合相同形状的数组,同时在输出数组中创建新的维度。例如,沿新轴堆叠两个二维数组将创建一个三维数组。
语法
Numpy stack() 函数的语法如下:-
numpy.stack(arrays, axis=0, out=None, *, dtype=None, casting='same_kind')
参数
- arrays: 这些是要堆叠的数组。所有数组必须具有相同的形状。
- axis: 数组堆叠所沿的轴。它必须介于 0 和输入数组的维数之间。
- out:如果提供,则为结果的存放位置。它应该具有适当的形状和数据类型。
- 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)
输出
堆叠数组: [[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)
输出
堆叠数组: [[[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)
输出
堆叠数组: [[[[ 1 2] [ 9 10]] [[ 3 4] [11 12]]] [[[ 5 6] [13 14]] [[ 7 8] [15 16]]]]