Numpyを使用してドット積を計算する方法


ベクトルa = [a 1 , a 2 , a 3 ] およびベクトルb = [b 1 , b 2 , b 3 ] とすると、 a · bで示されるベクトルのスカラー積は次のように求められます。

ab = a 1 * b 1 + a 2 * b 2 + a 3 * b 3

たとえば、 a = [2, 5, 6] およびb = [4, 3, 2] の場合、 abの内積は次のようになります。

ab = 2*4 + 5*3 + 6*2

ab = 8 + 15 + 12

腹部 = 35

簡単に言えば、ドット積は 2 つのベクトルの対応するエントリの積の合計です。

Python では、 numpy.dot()関数を使用して、2 つのベクトル間のドット積をすばやく計算できます。

 import numpy as np

n.p. dowry (a, b)

次の例は、この関数を実際に使用する方法を示しています。

例 1: 2 つのベクトル間のドット積を計算する

次のコードは、 numpy.dot()を使用して 2 つのベクトル間のドット積を計算する方法を示しています。

 import numpy as np

#definevectors
a = [7, 2, 2]
b = [1, 4, 9]

#calculate dot product between vectors
n.p. dowry (a, b)

33

この値の計算方法は次のとおりです。

  • ab = 7*1 + 2*4 + 2*9
  • ab = 7 + 8 + 18
  • 腹部 = 33

例 2: 2 つの列間の内積を計算する

次のコードは、 numpy.dot()を使用して、pandas DataFrame の 2 つの列間のドット積を計算する方法を示しています。

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' A ': [4, 6, 7, 7, 9],
                   ' B ': [5, 7, 7, 2, 2],
                   ' C ': [11, 8, 9, 6, 1]})

#view DataFrame
df

	A B C
0 4 5 11
1 6 7 8
2 7 7 9
3 7 2 6
4 9 2 1

#calculate dot product between column A and column C
n.p. dot (df. A , df. C )

206

この値の計算方法は次のとおりです。

  • AC = 4*11 + 6*8 + 7*9 + 7*6 + 9*1
  • AC = 44 + 48 + 63 + 42 + 9
  • A C = 206

注:ドット積を計算している 2 つのベクトルの長さが異なる場合、Python はエラーをスローすることに注意してください。

追加リソース

Pandas DataFrame に行を追加する方法
Numpy 配列を Pandas DataFrame に追加する方法
パンダでスライド相関を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です