如何使用 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],则ab的点积将等于:

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中的滑动相关性

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注