如何使用Pandas按AWS服务占比拆分计算账户产品总成本
Pandas实现成本拆分方案
核心逻辑是通过Account字段关联两个DataFrame,让df2的每一条成本记录匹配到对应账户下的所有服务拆分比例,再计算拆分后成本即可,完整实现代码如下:
import pandas as pd # 1. 按Account字段关联两张表,df1的Product字段无用后续丢弃,suffixes区分重名字段 merged = pd.merge(df1, df2, on="Account", suffixes=("_old", "")) # 2. 计算拆分后的服务成本 merged["cost"] = merged["cost"] * merged["percentage"] / 100 # 3. 按目标格式调整列顺序,得到最终结果 result = merged[["Product", "line_item_product_code", "cost", "Account", "percentage"]].reset_index(drop=True)
注意事项
请提前校验df1中同一Account下所有percentage的总和为100,避免拆分后总成本和原始成本出现偏差。
内容的提问来源于stack exchange,提问作者Dcook
相关产品推荐
相关产品推荐

