【发布时间】:2021-09-16 10:58:43
【问题描述】:
有 2 个数据帧 df['x'] 和 df['y']。 如何将 2 个表相乘并对行求和?
x0 x1 x2 y0 y1 y2
2 5 9 2 3 4
Nan 4 7 2 2 3
3 Nan 3 1 2 3
期望的输出:
(2x2)+(5x3)+(9x4) = 55
等等。
Nan 应该被视为 0。
我用下面的代码不断地用 nan 值达到结果。
还有其他更有效的方法来解决这个问题吗?
df['z'] = (df['x'].to_numpy() * df['y'].to_numpy()).sum(axis=1)
【问题讨论】:
-
遇到
NaN应该怎么办?第二行应该是什么结果? -
在不改变原始值的情况下,Nan 应该被视为 0。
标签: python pandas dataframe sumproduct