Hoe een puntproduct te berekenen met numpy
Gegeven de vector a = [a 1 , a 2 , a 3 ] en de vector b = [b 1 , b 2 , b 3 ], wordt het scalaire product van de vectoren, aangeduid als a · b , gegeven door:
ab = een 1 * b 1 + een 2 * b 2 + een 3 * b 3
Als a = [2, 5, 6] en b = [4, 3, 2] bijvoorbeeld, dan zou het puntproduct van a en b gelijk zijn aan:
ab = 2*4 + 5*3 + 6*2
ab = 8 + 15 + 12
ab = 35
Simpel gezegd is het puntproduct de som van de producten van de overeenkomstige gegevens in twee vectoren.
In Python kun je de functie numpy.dot() gebruiken om snel het puntproduct tussen twee vectoren te berekenen:
import numpy as np n.p. dowry (a, b)
De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld 1: bereken het puntproduct tussen twee vectoren
De volgende code laat zien hoe u numpy.dot() gebruikt om het puntproduct tussen twee vectoren te berekenen:
import numpy as np #definevectors a = [7, 2, 2] b = [1, 4, 9] #calculate dot product between vectors n.p. dowry (a, b) 33
Hier ziet u hoe deze waarde werd berekend:
- ab = 7*1 + 2*4 + 2*9
- ab = 7 + 8 + 18
- ab = 33
Voorbeeld 2: bereken het puntproduct tussen twee kolommen
De volgende code laat zien hoe u numpy.dot() gebruikt om het puntproduct tussen twee kolommen in een pandas DataFrame te berekenen:
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
Hier ziet u hoe deze waarde werd berekend:
- AC = 4*11 + 6*8 + 7*9 + 7*6 + 9*1
- AC = 44 + 48 + 63 + 42 + 9
- EEN · C = 206
Opmerking: Houd er rekening mee dat Python een foutmelding geeft als de twee vectoren waarvoor u het puntproduct berekent, verschillende lengtes hebben.
Aanvullende bronnen
Rijen toevoegen aan een Pandas DataFrame
Hoe u een Numpy-array aan een Pandas DataFrame toevoegt
Hoe de glijdende correlatie bij panda’s te berekenen