我有一个数据框架,比如:
Date | RtrID | PrdId| Qty
2020-03-30 | 234 | HECFR175-A0 | 1
2020-03-30 | 234 | HECFR175-A0 | 1
2020-03-30 | 234 | HECFR175-A0 | 1
2020-04-1 | 234 | HECFR175-A0 | 1
2020-04-1 | 234 | HECFR175-A0 | 1
2020-04-1 | 234 | HECFR175-A0 | 1我想要的天数是在RtrID and PrdId的组合中,即这里Rtr为234,PrdId为HECFR175-A0从上次购买起有1天的差距。
我尝试过grouped =
final_df.groupby(['PrdCde', 'RtrId'])
gap_in_days_from_sale_Dlv = grouped.SalDlvDate.apply(lambda x: x.diff())但是我得到的结果是负面的,比如-25,-20和Nat。我该怎么办?
发布于 2021-03-18 19:43:50
如果需要针对每一行,则groupby转换最大日期和最小日期之间的差异
df['diff']=df.groupby(['PrdId','RtrID'])['Date'].transform(lambda x:x.max()-x.min())如果您只需要一个值,那么应用lambda会有所帮助
df.groupby(['PrdId','RtrID'])['Date'].apply(lambda x:x.max()-x.min())https://stackoverflow.com/questions/66690220
复制相似问题