连接NumPy数组
NumPy提供了各种函数来组合数组。在这篇文章中,我们将讨论其中一些主要的函数。
方法1:使用 numpy.concatenate()
NumPy中的concatenate函数将两个或多个数组沿指定轴线连接起来。
语法:
numpy.concatenate((array1, array2, ...), axis=0)
第一个参数是一个我们打算连接的数组的元组,第二个参数是我们需要沿着这些数组连接的轴。请看下面的例子,展示numpy.concatenate的使用。
import numpy as np
array_1 = np.array([1, 2])
array_2 = np.array([3, 4])
array_new = np.concatenate((array_1, array_2))
print(array_new)
输出:
[1 2 4 5]
默认情况下,轴的值被设置为0,你可以通过在第二个参数中为轴指定一个值来改变它。下面的代码是沿着行连接两个数组。
import numpy as np
array_1 = np.array([[1, 2], [3, 4]])
array_2 = np.array([[5, 6], [7, 8]])
array_new = np.concatenate((array_1, array_2), axis=1)
print(array_new)
输出:
[[1 2 5 6]
[3 4 7 8]]
方法2:使用 numpy.stack()
NumPy的stack()函数将两个或多个数组沿着一个新的轴连接起来。
语法:
numpy.stack(arrays, axis=0)
下面的代码演示了numpy.stack()的使用。
import numpy as np
array_1 = np.array([1, 2, 3, 4])
array_2 = np.array([5, 6, 7, 8])
array_new = np.stack((array_1, array_2), axis=1)
print(array_new)
输出:
[[1 5]
[2 6]
[3 7]
[4 8]]
数组沿着一个新的轴被连接起来。
方法3:numpy.block()
numpy.block用于从嵌套的列表块中创建nd-arrays。
语法:
numpy.block(arrays)
下面的例子解释了numpy.block()的工作。
import numpy as np
block_1 = np.array([[1, 1], [1, 1]])
block_2 = np.array([[2, 2, 2], [2, 2, 2]])
block_3 = np.array([[3, 3], [3, 3], [3, 3]])
block_4 = np.array([[4, 4, 4], [4, 4, 4], [4, 4, 4]])
block_new = np.block([
[block_1, block_2],
[block_3, block_4]
])
print(block_new)
输出:
[[1 1 2 2 2]
[1 1 2 2 2]
[3 3 4 4 4]
[3 3 4 4 4]
[3 3 4 4 4]]
在这个例子中,我们从4个独立的2维数组(block_1,block_2,block_3,block_4)组装了一个块矩阵(block_new)。