在 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