Python NumPy numpy.concatenate()函数
Minahil Noor
2023年1月30日
2020年11月7日
-
numpy.concatenate()
语法 -
示例代码:
numpy.concatenate()
-
示例代码:
numpy.concatenate()
传递多维数组 -
示例代码:
numpy.concatenate()
传递多维数组,参数为axis
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]]
输出结果是以递增列的方式进行连接。