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

如何对首列存在重复的两个DataFrame做减法并保留业务标识列

解决方案
  1. 聚合下单数据时将business_symbol加入分组维度,由于同一order_id对应的业务标识唯一,聚合后可完整保留该字段:
df_add_orders_group = df_add_orders.groupby(['order_id', 'business_symbol'], as_index=False)['open_orders'].sum()
  1. 按原有逻辑聚合取消订单数据:
df_cancel_orders_group = df_cancel_orders.groupby(['order_id'], as_index=False)['cancel_orders'].sum()
  1. 以订单ID为关联键左连两个聚合结果,处理无取消记录的订单空值后计算剩余有效订单量:
# 关联两个表
df_total_orders = df_add_orders_group.merge(df_cancel_orders_group, on='order_id', how='left')
# 无取消记录的订单取消量填0
df_total_orders['cancel_orders'] = df_total_orders['cancel_orders'].fillna(0)
# 计算剩余订单量,可根据业务需要添加clip(lower=0)避免出现负数
df_total_orders['open_orders'] = df_total_orders['open_orders'] - df_total_orders['cancel_orders']
# 删除多余的取消量字段
df_total_orders = df_total_orders.drop(columns=['cancel_orders'])

内容的提问来源于stack exchange,提问作者Hold The Door

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:09:01