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

【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 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)