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 次元配列の内積を計算すると、この行列の列の合計が得られます。

次のコードはこれを実装しています。

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