Numpy hstack() 函数
Numpy hstack() 函数用于水平堆叠数组。它沿水平轴(即轴 1)组合一系列数组。
所有输入数组必须具有相同的行数或兼容的形状才能进行广播,并且该函数返回一个列连接的新数组。
此函数对于并排合并数组非常有用,尤其是在数据处理和操作任务中。
也适用于将多个数组组合成一个数组,其中每个数组都作为一列添加。
语法
Numpy hstack() 函数的语法如下 -
numpy.hstack(tup, *, dtype=None, casting='same_kind')
参数
以下是 Numpy 的参数hstack() 函数 −
- tup:要堆叠的数组元组。除第二个轴外,所有轴上数组的形状必须相同。
- dtype:此参数指定结果数组的数据类型。如果指定,则所有输入数组在堆叠前都会转换为此数据类型。如果为 None,则数据类型由输入数组决定。
- casting:此参数控制指定 dtype 时的类型转换规则。它决定了在转换为 dtype 时如何处理数据类型。
返回值
此函数返回一个由给定数组水平堆叠而成的 ndarray。
示例 1
以下是 Numpy hstack() 函数的示例,该函数展示了如何将两个一维数组连接成一个一维数组。
import numpy as np # 创建两个一维数组 array1 = np.array([1, 2, 3]) array2 = np.array([4, 5, 6]) # 水平堆叠数组 result = np.hstack((array1, array2)) print(result)
输出
[1 2 3 4 5 6]
示例 2
此示例展示了如何将一维数组重塑并与二维数组堆叠,展现了 numpy.hstack() 在混合维度下操作的灵活性 -
import numpy as np # 创建二维数组和一维数组 array1 = np.array([[1, 2, 3], [4, 5, 6]]) array2 = np.array([7, 8]) # 将 array2 重塑为与 array1 行数相同的列向量 # 注意:array2 需要具有相同的行数行数与数组 1 相同,以确保水平堆叠成功 array2 = np.array([7, 8]).reshape(-1, 1) # 将数组重塑为 (2, 1),以匹配数组 1 中的行数 # 水平堆叠数组 result = np.hstack((array1, array2)) print("结果数组:") print(result)
输出
结果数组: [[1 2 3 7] [4 5 6 8]]
示例 3
在此示例中,我们将两个数组合并为一个数组 -
import numpy as np # 定义第一个数组 a = np.array([[1, 2], [3, 4]]) print('第一个数组:') print(a) print(' ') # 定义第二个数组 b = np.array([[5, 6], [7, 8]]) print('第二个数组:') print(b) print(' ') # 水平堆叠两个数组 c = np.hstack((a, b)) print('水平堆叠:') print(c) print(' ')
输出
第一个数组: [[1 2] [3 4]] 第二个数组: [[5 6] [7 8]] 水平堆叠: [[1 2 5 6] [3 4 7 8]]