Jak obliczyć iloczyn skalarny za pomocą numpy
Biorąc pod uwagę wektor a = [a 1 , a 2 , a 3 ] i wektor b = [b 1 , b 2 , b 3 ], iloczyn skalarny wektorów, oznaczonych a · b , jest dany wzorem:
ab = za 1 * b 1 + za 2 * b 2 + za 3 * b 3
Na przykład, jeśli a = [2, 5, 6] i b = [4, 3, 2], to iloczyn skalarny a i b będzie równy:
ab = 2*4 + 5*3 + 6*2
ab = 8 + 15 + 12
odb = 35
Mówiąc najprościej, iloczyn skalarny to suma iloczynów odpowiednich wpisów w dwóch wektorach.
W Pythonie możesz użyć funkcji numpy.dot() , aby szybko obliczyć iloczyn skalarny między dwoma wektorami:
import numpy as np n.p. dowry (a, b)
Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję.
Przykład 1: oblicz iloczyn skalarny między dwoma wektorami
Poniższy kod pokazuje, jak używać numpy.dot() do obliczania iloczynu skalarnego między dwoma wektorami:
import numpy as np #definevectors a = [7, 2, 2] b = [1, 4, 9] #calculate dot product between vectors n.p. dowry (a, b) 33
Oto jak obliczono tę wartość:
- ab = 7*1 + 2*4 + 2*9
- ab = 7 + 8 + 18
- odb = 33
Przykład 2: oblicz iloczyn skalarny między dwiema kolumnami
Poniższy kod pokazuje, jak używać numpy.dot() do obliczania iloczynu skalarnego między dwiema kolumnami w ramce DataFrame pandy:
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
Oto jak obliczono tę wartość:
- AC = 4*11 + 6*8 + 7*9 + 7*6 + 9*1
- AC = 44 + 48 + 63 + 42 + 9
- A · C = 206
Uwaga: Pamiętaj, że Python zgłosi błąd, jeśli dwa wektory, dla których obliczasz iloczyn skalarny, mają różną długość.
Dodatkowe zasoby
Jak dodać wiersze do ramki danych Pandas
Jak dodać tablicę Numpy do ramki danych Pandas
Jak obliczyć korelację przesuwną w pandach