首页 > 解决方案 > 多个 DF 列的 Sumproduct

问题描述

ID    height_1    area_1   in_1    height_2    area_2   in_2    height_3    area_3   in_3
1     4           20       1       7           87       1       2          21       1
2     10          83       1       12          32       1       9          41       0
3     16          78       1       12          17       0       np.nan     np.nan   np.nan

如何在通用方法中为看起来像这样的每一行计算 sumproduct...?

sumproduct = height_1 * area_1 * in_1 + height_2 * area_2 * in_2 + height_3 * area_3 * in_3 + ...  ```

例如row1 = 4 * 20 * 1 + 7 * 87 * 1 + 2 * 21 * 1

我的数据框有大约 20 倍的 `height_, area_, in_

标签: pythonpandasdataframemultiplicationsumproduct

解决方案


df['sum'] = 0
for i in range(1, 21):
   df['sum'] += df['height_{}'.format(i)] * df['area_{}'.format(i)] * df['in_{}'.format(i)]

推荐阅读