Python NumPy numpy.concatenate()函数

Minahil Noor 2023年1月30日
  1. numpy.concatenate() 语法
  2. 示例代码:numpy.concatenate()
  3. 示例代码:numpy.concatenate() 传递多维数组
  4. 示例代码:numpy.concatenate() 传递多维数组,参数为 axis
Python NumPy numpy.concatenate()函数

Python NumPy numpy.concatenate() 函数在一个指定的轴上连接多个数组。它接受一个数组序列作为参数,并将它们连接成一数组。

numpy.concatenate() 语法

numpy.concatenate((a1, a2, ...), axis=0, out=None)

参数

a1,a2,... 这是一个类似数组结构的序列。它是要连接的输入数组的序列。输入的数组应该具有相同的形状。
axis 它是一个整数。它代表函数将连接数组的轴。它的默认值是 0,意味着数组的连接将是以行为单位的。如果它是 1,则是列式连接。
out 它是一个 N 维的数组。它显示连接数组的最终形状。如果提供了它,那么它的形状必须与输出的连接数组相匹配。

返回值

它返回一个 N 维的数组。这个数组显示了输入的数组的连接。

示例代码:numpy.concatenate()

我们先用 numpy.concatenate 函数连接一个一维的数组。

import numpy as np

a1 = np.array([45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78])
print("First array:")
print(a1)
a2 = np.array([89, 34, 56, 87, 90])
print("Second array:")
print(a2)
outarray = np.concatenate([a1, a2])
print("Concatenated array:")
print(outarray)

输出:

First array:
[45 12 65 78  9 34 12 11  2 65 78 82 28 78]
Second array:
[89 34 56 87 90]
Concatenated array:
[45 12 65 78  9 34 12 11  2 65 78 82 28 78 89 34 56 87 90]

函数返回了一个连接后的数组。如果你想让输出的数组从第二个数组开始,只需先传递第二个数组作为参数。

示例代码:numpy.concatenate() 传递多维数组

现在我们将传递一个多维的数组。

import numpy as np

a1 = np.array([[11, 12], [15, 10]])
print("First array:")
print(a1)
a2 = np.array([[10, 13], [15, 8]])
print("Second array:")
print(a2)
a3 = np.array([[11, 5], [34, 78]])
print("Third array:")
print(a3)
outarray = np.concatenate((a1, a2, a3))
print("Concatenated array:")
print(outarray)

输出:

First array:
[[11 12]
 [15 10]]
Second array:
[[10 13]
 [15  8]]
Third array:
[[11  5]
 [34 78]]
Concatenated array:
[[11 12]
 [15 10]
 [10 13]
 [15  8]
 [11  5]
 [34 78]]

输出显示输入的数组现在被连接在一起形成一个数组。

示例代码:numpy.concatenate() 传递多维数组,参数为 axis

现在,我们将传递一串多维的数组作为参数,axis=0,得到的数组将以行为单位连接。

import numpy as np

a1 = np.array([[11, 12, 5], [15, 6, 10]])
print("First array:")
print(a1)
a2 = np.array([[10, 8, 13], [12, 15, 8]])
print("Second array:")
print(a2)
a3 = np.array([[11, 12, 5], [34, 78, 90]])
print("Third array:")
print(a3)
outarray = np.concatenate((a1, a2, a3))
print("Concatenated array:")
print(outarray)

输出:

First array:
[[11 12  5]
 [15  6 10]]
Second array:
[[10  8 13]
 [12 15  8]]
Third array:
[[11 12  5]
 [34 78 90]]
Concatenated array:
[[11 12  5]
 [15  6 10]
 [10  8 13]
 [12 15  8]
 [11 12  5]
 [34 78 90]]

请注意,输出的数组以递增行的方式显示数组的连接,因为 axis 的默认值是 0。

现在我们将 axis 的值设置为 1。

import numpy as np

a1 = np.array([[11, 12, 5], [15, 6, 10]])
print("First array:")
print(a1)
a2 = np.array([[10, 8, 13], [12, 15, 8]])
print("Second array:")
print(a2)
a3 = np.array([[11, 12, 5], [34, 78, 90]])
print("Third array:")
print(a3)
outarray = np.concatenate((a1, a2, a3), axis=1)
print("Concatenated array:")
print(outarray)

输出:

First array:
[[11 12  5]
 [15  6 10]]
Second array:
[[10  8 13]
 [12 15  8]]
Third array:
[[11 12  5]
 [34 78 90]]
Concatenated array:
[[11 12  5 10  8 13 11 12  5]
 [15  6 10 12 15  8 34 78 90]]

输出结果是以递增列的方式进行连接。