Як розрахувати скалярний добуток за допомогою 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
ab = 35
Простіше кажучи, скалярний добуток — це сума добутків відповідних записів у двох векторах.
У Python ви можете використовувати функцію numpy.dot() , щоб швидко обчислити скалярний добуток між двома векторами:
import numpy as np n.p. dowry (a, b)
Наступні приклади показують, як використовувати цю функцію на практиці.
Приклад 1: обчислити скалярний добуток двох векторів
Наступний код показує, як використовувати numpy.dot() для обчислення скалярного добутку між двома векторами:
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
- ab = 33
Приклад 2: обчисліть скалярний добуток між двома стовпцями
Наступний код показує, як використовувати numpy.dot() для обчислення скалярного добутку між двома стовпцями в pandas DataFrame:
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
Примітка. Майте на увазі, що Python видасть помилку, якщо два вектори, для яких ви обчислюєте скалярний добуток, мають різну довжину.
Додаткові ресурси
Як додати рядки до Pandas DataFrame
Як додати масив Numpy до Pandas DataFrame
Як розрахувати ковзну кореляцію в пандах