You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python pandas 如何将列与另一个DataFrame的匹配值相乘计算汇总价格

实现方案

你要的乘加汇总本质是矩阵乘法运算,直接用pandas内置的向量化点积方法即可实现,全程无需循环,3000行200列的规模运算效率极高。

完整实现代码

import pandas as pd

# 1. 提取参与计算的列:直接取df2的行索引匹配df1的列,无需手动录入190个列名
calc_cols = df2.index.tolist()

# 2. 执行矩阵乘法,直接得到所有day的汇总结果
# 自动对齐df1的列和df2的行,逐元素相乘后求和,完全匹配计算规则
price_result = df1[calc_cols].dot(df2)

# 3. 给结果列加上_price后缀
price_result.columns = [f"{col}_price" for col in price_result.columns]

# 4. 合并结果到原df1
df1 = pd.concat([df1, price_result], axis=1)

验证说明

用你提供的样例数据运行上述代码后,得到的day1_price、day2_price计算结果和你给出的预期输出完全一致。只要df1包含df2行索引对应的所有列,运算即可正常执行,无需额外做匹配处理。

内容的提问来源于stack exchange,提问作者lucas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:06:03