NumPy 数组拼接

连接 NumPy 数组

拼接意味着将两个或多个数组的内容放在单个数组中。

在 SQL 中,我们基于键来关联表,而在 NumPy 中,我们按轴拼接数组。

我们传递了一系列要与轴一起拼接到 concatenate() 函数的数组。如果未显式传递轴,则将其视为 0。

连接两个数组:

  1. import numpy as np
  2. arr1 = np.array([1, 2, 3])
  3. arr2 = np.array([4, 5, 6])
  4. arr = np.concatenate((arr1, arr2))
  5. print(arr)

沿着行 (axis=1) 连接两个 2-D 数组:

  1. import numpy as np
  2. arr1 = np.array([[1, 2], [3, 4]])
  3. arr2 = np.array([[5, 6], [7, 8]])
  4. arr = np.concatenate((arr1, arr2), axis=1)
  5. print(arr)

使用堆栈函数连接数组

堆栈与级联相同,唯一的不同是堆栈是沿着新轴完成的。

可以沿着第二个轴连接两个一维数组,这将导致它们彼此重叠,即,堆叠(stacking)。

传递了一系列要与轴一起连接到 concatenate() 方法的数组。如果未显式传递轴,则将其视为 0。

  1. import numpy as np
  2. arr1 = np.array([1, 2, 3])
  3. arr2 = np.array([4, 5, 6])
  4. arr = np.stack((arr1, arr2), axis=1)
  5. print(arr)

沿行堆叠

NumPy 提供了一个辅助函数:hstack() 沿行堆叠。

  1. import numpy as np
  2. arr1 = np.array([1, 2, 3])
  3. arr2 = np.array([4, 5, 6])
  4. arr = np.hstack((arr1, arr2))
  5. print(arr)

沿列堆叠

NumPy 提供了一个辅助函数:vstack() 沿列堆叠。

  1. import numpy as np
  2. arr1 = np.array([1, 2, 3])
  3. arr2 = np.array([4, 5, 6])
  4. arr = np.vstack((arr1, arr2))
  5. print(arr)

沿高度堆叠(深度)

NumPy 提供了一个辅助函数:dstack() 沿高度堆叠,该高度与深度相同。

  1. import numpy as np
  2. arr1 = np.array([1, 2, 3])
  3. arr2 = np.array([4, 5, 6])
  4. arr = np.dstack((arr1, arr2))
  5. print(arr)