Comment calculer le produit scalaire à l’aide de NumPy
Étant donné le vecteur a = [a 1 , a 2 , a 3 ] et le vecteur b = [b 1 , b 2 , b 3 ], le produit scalaire des vecteurs, noté a · b , est donné par :
une · b = une 1 * b 1 + une 2 * b 2 + une 3 * b 3
Par exemple, si a = [2, 5, 6] et b = [4, 3, 2], alors le produit scalaire de a et b serait égal à :
une · b = 2*4 + 5*3 + 6*2
une · b = 8 + 15 + 12
une · b = 35
En termes simples, le produit scalaire est la somme des produits des entrées correspondantes dans deux vecteurs.
En Python, vous pouvez utiliser la fonction numpy.dot() pour calculer rapidement le produit scalaire entre deux vecteurs :
import numpy as np np.dot(a, b)
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : calculer le produit scalaire entre deux vecteurs
Le code suivant montre comment utiliser numpy.dot() pour calculer le produit scalaire entre deux vecteurs :
import numpy as np #define vectors a = [7, 2, 2] b = [1, 4, 9] #calculate dot product between vectors np.dot(a, b) 33
Voici comment cette valeur a été calculée :
- une · b = 7*1 + 2*4 + 2*9
- une · b = 7 + 8 + 18
- une · b = 33
Exemple 2 : calculer le produit scalaire entre deux colonnes
Le code suivant montre comment utiliser numpy.dot() pour calculer le produit scalaire entre deux colonnes dans un DataFrame pandas :
import pandas as pd import numpy as np #create DataFrame 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 np.dot(df.A, df.C) 206
Voici comment cette valeur a été calculée :
- A · C = 4*11 + 6*8 + 7*9 + 7*6 + 9*1
- A · C = 44 + 48 + 63 + 42 + 9
- UNE · C = 206
Remarque : gardez à l’esprit que Python générera une erreur si les deux vecteurs pour lesquels vous calculez le produit scalaire ont des longueurs différentes.
Ressources additionnelles
Comment ajouter des lignes à un DataFrame Pandas
Comment ajouter un tableau Numpy à un DataFrame Pandas
Comment calculer la corrélation glissante chez les pandas