python - 多个 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_
解决方案
df['sum'] = 0
for i in range(1, 21):
df['sum'] += df['height_{}'.format(i)] * df['area_{}'.format(i)] * df['in_{}'.format(i)]
推荐阅读
- express-gateway - 快递网关 jwt 发行不工作
- python - Pandas - 不同字符串之间的比较总是返回 True
- arrays - Lua 映射值作为构造函数
- python - 如何通过 Python 插入 3d 时间序列数据?
- laravel - Laravel - 如何在当前页面而不是弹出窗口上返回 json
- machine-learning - 定制的留一法交叉验证
- java - 从数据库中获取 Java 流时按行分组
- java - 如何创建稍后可以从列表中实例化的类类型数组?
- sql - 是否可以使用 SQL IN 运算符定位带有文本('9','10')的列?
- c++ - 字符串到 char* 函数