📜  numpy 合并数组 - Python (1)

📅  最后修改于: 2023-12-03 15:33:14.412000             🧑  作者: Mango

NumPy 合并数组

NumPy 是 Python 中最重要的科学计算库之一,它提供了高性能的数组和矩阵运算功能。本文将介绍 NumPy 中的数组合并操作。

竖直合并数组

NumPy 中的 vstack 函数可以将多个数组按照垂直方向合并,即沿着行的方向进行合并。下面是一个示例:

import numpy as np

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

c = np.vstack((a, b))
print(c)

输出结果为:

[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]
水平合并数组

NumPy 中的 hstack 函数可以将多个数组按照水平方向合并,即沿着列的方向进行合并。下面是一个示例:

import numpy as np

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

c = np.hstack((a, b))
print(c)

输出结果为:

[[1 2 5 6]
 [3 4 7 8]]
深度合并数组

NumPy 中的 dstack 函数可以将多个数组按照深度方向合并,即沿着第三个维度进行合并。下面是一个示例:

import numpy as np

a = np.array([[[1, 2],
               [3, 4]],
              [[5, 6],
               [7, 8]]])
b = np.array([[[9, 10],
               [11, 12]],
              [[13, 14],
               [15, 16]]])

c = np.dstack((a, b))
print(c)

输出结果为:

[[[ 1  2  9 10]
  [ 3  4 11 12]]

 [[ 5  6 13 14]
  [ 7  8 15 16]]]
列表合并数组

NumPy 中的 concatenate 函数可以将多个数组按照指定的轴合并,其中轴用整数表示。下面是一个示例:

import numpy as np

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

c = np.concatenate((a, b), axis=1)
print(c)

输出结果为:

[[1 2 5 6]
 [3 4 7 8]]
结论

以上就是 NumPy 中数组合并的基本操作,通过 vstack 函数可以实现竖直合并,通过 hstack 函数可以实现水平合并,通过 dstack 函数可以实现深度合并,通过 concatenate 函数可以实现列表合并。这些函数都会返回一个新数组,原始的数组不会受到影响。