cc614643527 2021-09-02 11:05 采纳率: 100%
浏览 82
已结题

【pandas】如何将某列汇总数据拆分成对应的分项数据

img
在处理超市存货数据时遇到这种的问题。某超市在销售过程中,会将同类最先进货的货品卖出,但只有一个卖出总数,现想利用卖出总数,得到每批次的进货数量卖出了多少。如图,现得到伊利酸奶总卖出量为200,在“20210802”那批次进货的“已卖出数量”应填100,在“20210810”对应的“已卖出数量”应填100。如何用程序处理该问题?

  • 写回答

1条回答 默认 最新

  • IT_心如止水 2021-09-02 16:19
    关注

    基本思路是求累计,再计算销量
    直接上代码,有帮助,望采纳

    import pandas as pd 
    data = pd.read_excel('123.xlsx')
    # excel 合并单元格处理
    data = data.fillna(method='pad')
    # 计算累计进货量
    data['累计进货量'] = data.sort_values('进货日').groupby('商品')['进货量'].cumsum()
    # 计算销量
    def calc_sales(a, b, c):
        """
        a:进货量,b:总销量, c:累计进货量
        """
        if b > c:
            return a
        else:
            return a+b-c
        
    data['out'] = data.apply(lambda x: calc_sales(x['进货量'], x['总销量'], x['累计进货量']), axis=1)
    data
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 赞助了问题酬金 9月2日
  • 创建了问题 9月2日

悬赏问题

  • ¥20 谁可以帮我一下问一下各位
  • ¥15 为何重叠加权后love图的SMD与svyCreateTableOne函数绘制基线表的不一致
  • ¥15 QFILHelper怎么恢复全字库,提示进程已完成,只能恢复分区文件
  • ¥150 求 小魔指游戏板整合模拟软件
  • ¥20 你好,我想问下easyExcel下拉多选,或者复选框可以实现吗
  • ¥20 双非跨考工科哪个专业和方向就业前景好?
  • ¥20 求会6sv辐射传输模型,辅导(可py6s🙏🏻有偿
  • ¥15 .xla后缀的文件拖到excel里什么内容也没有怎么办
  • ¥20 Workbench中Mechanical打不开、闪退是什么原因?
  • ¥240 MapReduce应用实践 学生课程