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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *