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] の場合、 aとbの内積は次のようになります。
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 に追加する方法
パンダでスライド相関を計算する方法