Numpy column_stack() 函数
Numpy column_stack() 函数用于将一维或二维数组作为列堆叠成一个二维数组。该函数定义在 numpy 模块中。当我们想要将一个或多个一维数组作为列堆叠成一个新的二维数组,或者想要沿第二个轴连接两个二维数组时,该函数特别有用。
numpy.column_stack() 函数将一维数组堆叠成一个二维数组的列,从而生成一个形状为 (n, m) 的数组,其中 n 是数组的长度,m 是数组的数量。当提供二维数组时,其工作原理类似于 numpy.hstack(),如果它们在其他轴上的维度匹配,则沿第二个轴连接它们。

语法
以下是 Numpy column_stack() 函数的语法 -
numpy.column_stack(arrays)
参数
以下是 Numpy column_stack() 函数的参数 -
- 数组 - 一维或二维数组序列。对于一维数组,所有数组的长度必须相同。对于二维数组,除第二个轴外,其他所有轴的形状都必须相同。
返回值
该函数返回一个二维数组,其中每个输入数组在输出中堆叠为一列。
示例
以下是使用 Numpy column_stack() 函数将两个一维数组堆叠为列的基本示例 -
import numpy as np array1 = np.array([10, 20, 30]) array2 = np.array([40, 50, 60]) column_stacked_array = np.column_stack((array1, array2)) print("数组 1 -", array1) print("数组 2 -", array2) print("列堆叠数组 - ", column_stacked_array)
输出
以下是上述代码的输出 -
数组 1 - [10 20 30] 数组 2 - [40 50 60] 列堆叠数组 - [[10 40] [20 50] [30 60]]
示例 - 堆叠二维数组
在下面的示例中,我们沿行堆叠两个形状匹配的二维数组。这两个数组将沿第二个轴连接起来,从而生成一个更大的二维数组 -
import numpy as np array1 = np.array([[1, 2], [3, 4]]) array2 = np.array([[5, 6], [7, 8]]) column_stacked_array = np.column_stack((array1, array2)) print("数组 1 - ", array1) print("数组 2 - ", array2) print("列堆叠数组 - ", column_stacked_array)
输出
以下是上述代码的输出 -
数组 1 - [[1 2] [3 4]] 数组 2 - [[5 6] [7 8]] 列堆叠数组 - [[1 2 5 6] [3 4 7 8]]
示例 - 堆叠不同形状的数组
如果输入数组的形状不兼容,例如一维数组的长度不匹配,或者二维数组沿其他轴的形状不同,numpy.column_stack() 将引发ValueError。在下面的例子中,我们尝试堆叠不兼容形状的数组 -
import numpy as np array1 = np.array([1, 2, 3]) array2 = np.array([4, 5]) try: column_stacked_array = np.column_stack((array1, array2)) except ValueError as e: print("ValueError:", e)
输出
以下是上述代码的输出 -
ValueError: all the input arrays must have same number of dimensions, but the array at index 1 has 2 dimension(s)