📜  如何附加两个 numpy 数组 - Python (1)

📅  最后修改于: 2023-12-03 14:53:21.219000             🧑  作者: Mango

如何附加两个 numpy 数组 - Python

要将两个 numpy 数组附加在一起,可以使用 numpy 的 concatenate() 函数。该函数获取一个包含要连接的数组的元组,并指定在哪个轴上连接它们。

以下是一个例子:

import numpy as np

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

# 将数组 b 附加到数组 a
c = np.concatenate((a, b), axis=0)

print(c)

输出:

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

这里,我们将数组 b 附加到数组 a 的末尾。我们指定 axis=0,以便沿着第一个维度(行)连接它们。

您还可以在一个操作中连接更多的数组。例如:

import numpy as np

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

# 将三个数组附加在一起
d = np.concatenate((a, b, c), axis=0)

print(d)

输出:

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

请注意,当使用 concatenate() 函数时,要连接的数组必须具有相同的形状(除了连接的轴以外)。如果形状不同,可以使用 resize()reshape() 函数来更改它们。

除了 concatenate() 函数外,numpy 还提供了其他一些连接数组的函数,如 vstack()hstack()vstack() 用于沿垂直轴连接数组,而 hstack() 用于沿水平轴连接数组。例如:

import numpy as np

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

# 使用 vstack() 函数将数组 b 添加到 a 的底部
c = np.vstack((a, b))

# 使用 hstack() 函数将数组 b 添加到 a 的右侧
d = np.hstack((a, b))

print(c)
print(d)

输出:

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

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

总结:

  • 使用 concatenate() 函数可以将两个或多个 numpy 数组连接起来。
  • concatenate() 函数取一个元组作为参数,其中包含要连接的数组。它还需要一个 axis 参数,指定要连接的轴。
  • vstack()hstack() 函数分别用于垂直和水平连接数组。
  • 连接的数组必须具有相同的形状,否则可以使用 resize()reshape() 函数更改它们。