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)
的数组堆叠时发生冲突。