微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python-熊猫数据帧的同一行但不同列中的单元格相乘之和

我有一个数据框

df = pd.DataFrame({'A':[1,2,3],'B':[2,3,4]})

我的数据看起来像这样

Index   A   B
0       1   2
1       2   3
2       3   4

我想计算每一行中A和B之间的乘法和.
预期结果应为(1×2)(2×3)(3×4)= 2 6 12 = 20.
我可以知道执行此操作而不是循环的pythonic方法吗?

解决方法:

您可以尝试多个列A和B,然后使用sum

import pandas as pd
import numpy as np

df = pd.DataFrame({'A':[1,2,3],'B':[2,3,4]})
print df
   A  B
0  1  2
1  2  3
2  3  4

print df['A'] * df['B']
0     2
1     6
2    12
dtype: int64

print (df['A'] * df['B']).sum()
20

或对所有所有列使用prod

print df.prod(axis=1)
0     2
1     6
2    12
dtype: int64

print df.prod(axis=1).sum()
20

谢谢ajcr评论

If you have just two columns, you can also use df.A.dot(df.B) for extra speed, but for three or more columns this is the way to do it!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐