NumPy hstack()

hstack() 方法将输入的数组序列水平堆叠起来。

示例

import numpy as np

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

# stack the arrays stackedArray = np.hstack((array1, array2))
print(stackedArray) ''' Output [[0 1 4 5] [2 3 6 7]] '''

hstack() 语法

hstack() 的语法是

numpy.hstack(tup)

hstack() 参数

hstack() 方法接受一个参数

  • tup - 要堆叠的数组的元组

注意:给定元组中所有数组的形状必须相同,除了第二个维度,因为我们是在轴 1(水平)上堆叠。


hstack() 返回值

hstack() 方法返回水平堆叠的数组。


示例 1:水平堆叠 3 个数组

import numpy as np

# arrays with shape (2,2)
array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([[4, 5], [6, 7]])

# array with shape (2, 1)
array3 = np.array([[8], [9]])

# stack the arrays stackedArray = np.hstack((array1, array2, array3))
print(stackedArray)

输出

[[0 1 4 5 8]
 [2 3 6 7 9]]

在这里,我们堆叠了 3 个不同形状的数组。

array3 的形状是 (2,1),但我们可以将它与形状为 (2, 2) 的数组堆叠,因为 array3 只有第二个维度 (2, 1) 与其他 2 个数组不同。


示例 2:具有无效形状的数组的水平堆叠

import numpy as np

# arrays with shape (2, 2)
array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([[4, 5], [6, 7]])

# arrays with shape (1, 2)
array3 = np.array([[8, 9]])

# stack the arrays with invalid shape stackedArray = np.hstack((array1, array2, array3))
print(stackedArray)

输出

ValueError: all the input array dimensions except for the concatenation axis must match exactly, but along dimension 0, the array at index 0 has size 2 and the array at index 2 has size 1

在这里,array3 的形状是 (1, 2),这与形状为 (2,2) 的数组堆叠时发生冲突。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战