当前位置:数码通 > 动态

Python数组堆叠

来源于 数码通 2023-09-30 13:42

Python数组堆叠是指将多个数组按照指定维度进行堆叠,生成一个新数组。 Python的NumPy库提供了丰富的方法来实现数组堆叠操作。本文将从多个方面介绍Python数组堆叠的相关知识。

1。水平堆叠

1。水平堆叠数组是指将多个数组在水平方向(列方向)连接起来,生成一个水平堆叠的新数组。在NumPy库中,可以使用hstack()函数来实现水平堆叠。这是一个例子:

将 numpy 导入为 np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.hstack((a, b))

print(c) #输出:[1 2 3 4 5 6]

2。另外,如果想要水平堆叠多维数组,可以使用concatenate()函数,并指定axis参数为1。示例如下:

将 numpy 导入为 np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.concatenate((a, b), 轴=1)

打印(三)
# 输出:
# [[1 2 5 6]
#[3 4 7 8]]

2。垂直堆叠

1。垂直堆叠数组是指将多个数组在垂直方向(行方向)连接起来,生成一个新的垂直堆叠数组。在NumPy库中,可以使用vstack()函数来实现垂直堆叠。示例如下:

将 numpy 导入为 np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.vstack((a, b))

打印(三)
# 输出:
# [[1 2 3]
#[4 5 6]]

2。同样,如果想要垂直堆叠多维数组,可以使用 concatenate() 函数,并指定 axis 参数为 0。示例如下:

将 numpy 导入为 np

a = np.array([[1, 2], [3, 4]])b = np.array([[5, 6], [7, 8]])
c = np.concatenate((a, b), 轴=0)

打印(三)
# 输出:
# [[1 2]
#[3 4]
#[5 6]
#[7 8]]

3。深度堆叠

1。深堆叠数组是指将多个数组在新的维度上连接起来,生成新的深堆叠数组。在NumPy库中,可以使用dstack()函数来实现深度堆叠。示例如下:

将 numpy 导入为 np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.dstack((a, b))

打印(三)
# 输出:
# [[[1 4]
# [2 5]
#[3 6]]]

2。如果想要深度堆叠多维数组,可以使用stack()函数,并指定axis参数为2。示例如下:

将 numpy 导入为 np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.stack((a, b), 轴=2)

打印(三)
# 输出:
# [[[1 5]
#[2 6]]
#
#[[3 7]
#[4 8]]]

4。扩展维度堆叠

1。有时我们需要扩展数组的某个维度,这可以通过使用expand_dims()函数来实现。这是一个例子:

将 numpy 导入为 np

a = np.array([1, 2, 3])
b = np.expand_dims(a, 轴=0)

打印(b)
# 输出:
# [[1 2 3]]

2。同时,还可以使用reshape()函数重新排列尺寸。示例如下:

将 numpy 导入为 np

a = np.array([1, 2, 3])
b = np.reshape(a, (3, 1))

打印(b)
# 输出:
# [[1]
# [2]
#[3]]

5。矩阵堆叠

1。在某些场景下,我们需要对矩阵进行堆叠,这可以使用block()函数来实现。这是一个例子:

将 numpy 导入为 np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.block([[a, b], [b, a]])

打印(三)
# 输出:
# [[1 2 5 6]
# [3 4 7 8]
# [5 6 1 2]
#[7 8 3 4]]

2。 block()函数还可以将多个数组堆叠成更复杂的形式,以满足不同的堆叠要求。

6。总结

本文介绍了Python中基于NumPy库的数组堆叠操作。通过水平堆叠、垂直堆叠、深度堆叠、扩展维度堆叠、矩阵堆叠等方法,可以方便地将多个数组堆叠起来生成新的数组。这些方法在数据处理和科学计算中非常常用,给我们的工作和研究带来了很大的便利。

登录后参与评论