【Pandas】pandas Series dot

张春  金牌会员 | 2025-1-19 23:59:11 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 894|帖子 894|积分 2682

Pandas2.2 Series

Binary operator functions

方法描述Series.add()用于对两个 Series 进行逐元素加法运算Series.sub()用于对两个 Series 进行逐元素减法运算Series.mul()用于对两个 Series 进行逐元素乘法运算Series.div()用于对两个 Series 进行逐元素除法运算Series.truediv()用于执行真除法(即浮点数除法)操作Series.floordiv()用于执行地板除法(即整数除法)操作Series.mod()用于执行逐元素的取模运算Series.pow()用于执行逐元素的幂运算Series.radd()用于执行反向逐元素加法运算Series.rsub()用于执行反向逐元素减法运算Series.rmul()用于执行反向逐元素乘法运算Series.rdiv()用于执行反向逐元素除法运算Series.rtruediv()用于执行反向逐元素的真除法(即浮点数除法)运算Series.rfloordiv()用于执行反向逐元素的地板除法(即整数除法)运算Series.rmod()用于执行反向逐元素的取模运算Series.rpow()用于执行反向逐元素的幂运算Series.combine()用于将两个 Series 进行元素级别的组合操作Series.combine_first()用于将两个 Series 进行元素级别的组合操作Series.round()用于对 Series 中的每个元素进行四舍五入操作Series.lt()用于执行逐元素的小于比较操作Series.gt()用于执行逐元素的大于比较操作Series.le()用于执行逐元素的小于等于比较操作Series.ge()用于执行逐元素的大于等于比较操作Series.ne()用于执行逐元素的不等于比较操作Series.eq()用于比较两个 Series 对象是否相当的方法Series.product()用于计算 Series 中所有元素的乘积Series.dot()用于计算两个 Series 或一个 Series 与一个数组、矩阵(如 NumPy 数组或 Pandas DataFrame)的点积(内积) pandas.Series.dot

pandas.Series.dot 是 Pandas 库中 Series 对象的一个方法,用于计算两个 Series 或一个 Series 与一个数组、矩阵(如 NumPy 数组或 Pandas DataFrame)的点积(内积)。点积是线性代数中的一个紧张概念,表示两个向量对应元素相乘后的和。
方法签名

  1. Series.dot(other)
复制代码


  • other: 可以是另一个 Series、NumPy 数组或 Pandas DataFrame。如果 other 是 DataFrame,则返回的结果是一个 Series,表示与 DataFrame 每一列的点积。
示例及结果

示例1:两个 Series 的点积

  1. import pandas as pd
  2. # 创建两个 Series
  3. s1 = pd.Series([1, 2, 3])
  4. s2 = pd.Series([4, 5, 6])
  5. # 使用 dot 方法计算点积
  6. result = s1.dot(s2)
  7. print("两个 Series 的点积结果:")
  8. print(result)
复制代码
输出结果:

  1. 两个 Series 的点积结果:
  2. 32
复制代码
在这个例子中,s1 和 s2 中的每个元素被逐个相乘,然后求和,得到的结果是 1*4 + 2*5 + 3*6 = 32。
示例2:Series 与 NumPy 数组的点积

  1. import pandas as pd
  2. import numpy as np
  3. # 创建一个 Series
  4. s = pd.Series([1, 2, 3])
  5. # 创建一个 NumPy 数组
  6. arr = np.array([4, 5, 6])
  7. # 使用 dot 方法计算点积
  8. result = s.dot(arr)
  9. print("Series 与 NumPy 数组的点积结果:")
  10. print(result)
复制代码
输出结果:

  1. Series 与 NumPy 数组的点积结果:
  2. 32
复制代码
在这个例子中,Series 和 NumPy 数组中的每个元素被逐个相乘,然后求和,得到的结果同样是 1*4 + 2*5 + 3*6 = 32。
示例3:Series 与 DataFrame 的点积

  1. import pandas as pd
  2. import numpy as np
  3. # 创建一个 Series
  4. s = pd.Series([1, 2, 3])
  5. # 创建一个 DataFrame
  6. df = pd.DataFrame({
  7.     'A': [4, 5, 6],
  8.     'B': [7, 8, 9]
  9. })
  10. # 使用 dot 方法计算点积
  11. result = s.dot(df)
  12. print("Series 与 DataFrame 的点积结果:")
  13. print(result)
复制代码
输出结果:

  1. Series 与 DataFrame 的点积结果:
  2. A    32
  3. B    50
  4. dtype: int64
复制代码
在这个例子中,Series 与 DataFrame 的每一列分别计算点积。对于列 A,结果是 1*4 + 2*5 + 3*6 = 32;对于列 B,结果是 1*7 + 2*8 + 3*9 = 50。最终返回的是一个包罗这些点积结果的新 Series。
总结

pandas.Series.dot 方法在数据分析和处置惩罚中非常有用,特别是在需要计算向量或矩阵的点积时。它支持 Series 之间的点积、Series 与 NumPy 数组的点积以及 Series 与 DataFrame 的点积。通过这些示例,可以看到 dot() 方法在不同场景下的应用及其强盛功能。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表