Python中的np.vstack()和np.hstack()详解

  • Post category:Python

Python中的np.vstack()和np.hstack()详解

介绍

在NumPy中,可以使用 np.vstack()np.hstack() 这两个函数来进行数组的合并,分别表示垂直(竖直)和水平方向上的堆叠(拼接)。

np.vstack() 是将两个数组沿着垂直方向(行顺序)堆叠在一起,np.hstack() 则是将两个数组沿着水平方向(列顺序)堆叠在一起。

用法

np.vstack()

使用示例:

import numpy as np

# 生成两个二维数组
array1 = np.array([[1, 2, 3], [4, 5, 6]])
array2 = np.array([[7, 8, 9], [10, 11, 12]])

# 合并两个数组
result = np.vstack((array1, array2))

print(result)

输出结果:

[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

在这个例子中,我们生成了两个包含两个元素的二维数组 array1array2。然后我们将它们沿着垂直方向进行了堆叠,得到了一个新的二维数组 result

np.hstack()

使用示例:

import numpy as np

# 生成两个二维数组
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

# 合并两个数组
result = np.hstack((array1, array2))

print(result)

输出结果:

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

在这个例子中,我们生成了两个包含两个元素的二维数组 array1array2。然后我们将它们沿着水平方向进行了堆叠,得到了一个新的二维数组 result

需要注意一点的是,两个数组在进行 hstack()vstack() 操作时,需要保证除了堆叠方向之外的维度是相同的,否则会出现错误。

总结

在这篇文章中,我们介绍了NumPy中的 np.vstack()np.hstack() 函数,这两个函数可以在垂直和水平方向上进行数组的堆叠。我们还通过示例对这两个函数的用法进行了详细的讲解。