如何使用 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
该值的计算方法如下:
- 交流电 = 4*11 + 6*8 + 7*9 + 7*6 + 9*1
- 交流= 44+48+63+42+9
- A C = 206
注意:请记住,如果您计算点积的两个向量具有不同的长度,Python 将抛出错误。
其他资源
如何向 Pandas DataFrame 添加行
如何将 Numpy 数组添加到 Pandas DataFrame
如何计算pandas中的滑动相关性