NumPy 中矩陣的列之和

Manav Narula 2023年1月30日
  1. 在 Python 中使用 numpy.sum() 函式查詢矩陣的列總和
  2. 在 Python 中使用 numpy.einsum() 函式查詢矩陣的列總和
  3. 在 Python 中使用 numpy.dot() 函式查詢矩陣的列總和
NumPy 中矩陣的列之和

本教程將介紹如何在 NumPy 中沿列查詢元素的總和。

我們將計算以下矩陣的總和。

import numpy as np

a = np.arange(12).reshape(4, 3)
print(a)

輸出:

[[ 0  1  2]
 [ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]]

在 Python 中使用 numpy.sum() 函式查詢矩陣的列總和

sum() 函式計算指定軸上陣列中所有元素的總和。如果將軸指定為 0,則它​​將計算矩陣中各列的總和。

以下程式碼對此進行了說明。

import numpy as np

a = np.arange(12).reshape(4, 3)
s = np.sum(a, axis=0)
print(s)

輸出:

[18 22 26]

在本教程中討論的所有方法中,該方法是最常用和最快的。

在 Python 中使用 numpy.einsum() 函式查詢矩陣的列總和

einsum() 是 NumPy 中有用而又複雜的函式。難以解釋,因為它可以根據條件以各種方式找到總和。我們可以使用它來計算矩陣的列之和,如下所示。

import numpy as np

a = np.arange(12).reshape(4, 3)
s = np.einsum("ij->j", a)
print(s)

輸出:

[18 22 26]

ij->j 是該函式的下標,該函式用於指定我們需要計算陣列列的總和。

在 Python 中使用 numpy.dot() 函式查詢矩陣的列總和

這是一個無關緊要的方法,但瞭解 dot() 函式的廣泛使用仍應為人所知。如果我們用一個僅包含 1 的單行陣列來計算 2-D 陣列的點積,則會得到該矩陣的列之和。

以下程式碼實現了這一點。

import numpy as np

a = np.arange(12).reshape(4, 3)
s = np.dot(a.T, np.ones(a.shape[0]))
print(s)

輸出:

[18. 22. 26.]
作者: 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