在 NumPy 中向矩阵添加行

Manav Narula 2023年1月30日
  1. 在 NumPy 中使用 numpy.vstack() 函数向矩阵添加一行
  2. 在 NumPy 中使用 numpy.append() 函数向矩阵添加行
  3. 在 NumPy 中使用 numpy.r_() 函数向矩阵添加一行
  4. 在 NumPy 中使用 numpy.insert() 函数向矩阵添加一行
在 NumPy 中向矩阵添加行

矩阵经常用于数学和统计学中的数据表示和求解多个线性方程。在编程中,二维数组被视为矩阵。

在 Python 中,numpy 模块用于处理数组。它具有许多可用于对矩阵执行不同运算的函数和类。

在本教程中,我们将学习如何在 numpy 中向矩阵添加一行。

在 NumPy 中使用 numpy.vstack() 函数向矩阵添加一行

vstack() 函数垂直堆叠数组。垂直堆叠两个 2D 数组等效于将行添加到矩阵中。

以下代码显示了这一点。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
arr = np.vstack([arr, row])
print(arr)

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

在 NumPy 中使用 numpy.append() 函数向矩阵添加行

numpy 模块中的 append() 函数可以将元素添加到数组的末尾。通过将 axis 指定为 0,我们可以使用此函数将行添加到矩阵中。

例如,

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
arr = np.append(arr, [row], axis=0)
print(arr)

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

在 NumPy 中使用 numpy.r_() 函数向矩阵添加一行

numpy 模块中的 r_() 函数通过垂直组合将数组连接起来。

查看下面的代码,看看如何使用它向矩阵添加行。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
arr = np.r_[arr, [row]]
print(arr)

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

另外,我们也可以使用 concatenate() 函数。concatenate() 函数结合了两个或多个数组,因此可以用来获得所需的结果。

例如,

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
arr = np.concatenate((arr, [row]), axis=0)
print(arr)

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

在 NumPy 中使用 numpy.insert() 函数向矩阵添加一行

insert() 函数沿指定的轴和位置添加对象。它可以用来在我们所需的特定位置在矩阵中插入一行。

例如,

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
row_n = arr.shape[0]  # last row
arr = np.insert(arr, row_n, [row], axis=0)
print(arr)

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

在上面的代码中,我们将行添加到矩阵的末尾。shape() 函数返回数组的维数,该维数显示矩阵中的行总数。

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn