找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2143|回复: 4

[求助] 如何用Python求多个产品累计到某个值的日期

3

主题

7

帖子

7

积分

贫民

积分
7
hsl992 发表于 2018-12-10 06:45:23 | 显示全部楼层 |阅读模式
Hello,各位:

我手头上个表,大概的格式如下。想求分产品对应的Qty累计值大于>=100所对应的时间点。

例如:AA产品,累计大于100时,对应是2016/5/1。而BB没大于96,则输出NA。

谢谢。

输出:
产品达到时间
AA2015/5/1
BBNA


原表格:
产品订单时间Qty
AA2016/1/12
AA2016/1/13
AA2016/5/199
AA2016/5/144
AA2016/8/132
BB2017/2/63
BB2018/5/82

回复

使用道具 举报

3

主题

7

帖子

7

积分

贫民

积分
7
hsl992  楼主| 发表于 2018-12-10 09:28:50 来自手机 | 显示全部楼层
顶一顶。
回复

使用道具 举报

3

主题

7

帖子

7

积分

贫民

积分
7
hsl992  楼主| 发表于 2018-12-11 07:08:53 | 显示全部楼层
请问有人知道怎么写吗?
回复 支持 反对

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
fxl447098457 发表于 2018-12-11 08:15:54 | 显示全部楼层
hsl992 发表于 2018-12-11 07:08
请问有人知道怎么写吗?

TIM截图20181211081457.png
  1. import pandas as pd
  2. import numpy as np
  3. #df这个是你的数据源表,我先放在了excel里面
  4. df=pd.read_excel('data.xlsx',sheet_name='Sheet2')
  5. df['累加']=df.groupby(by='产品').agg({'Qty':np.cumsum})
  6. df1=df[df['累加']>100]
  7. df2=df.产品.drop_duplicates().reset_index(drop=True).to_frame('产品')
  8. df2=df2.merge(df1,left_on='产品',right_on='产品',how='left')
  9. df3=df2[['产品','订单时间']]
  10. df3=df3.drop_duplicates('产品').reset_index(drop=True)
  11. print(df3)
复制代码


回复 支持 反对

使用道具 举报

3

主题

7

帖子

7

积分

贫民

积分
7
hsl992  楼主| 发表于 2018-12-11 21:29:48 | 显示全部楼层

谢谢啦,我学习学习先。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表