【发布时间】:2018-09-02 19:12:26
【问题描述】:
拥有按产品批次划分的销售订单数据集。想要在 Pandas / Python 中为给定年份内最后一个订单的所有批次应用一个标志。有什么建议吗?
目前有:
masterDF['FLAG'] = masterDF.groupby(by=['id','year'],as_index=False)['ordernumber'].nth(-1)
masterDF['LAST_ORDER_OF_QUARTER'] = np.where(masterDF['FLAG'].isnull(),0,1)
但是,如果ordernumber 出现在多行上,那只会将1 放在数据框的最后一行,而不是在给定顺序内的所有 行上。
举例说明:
ordernumber | lot | Last Order of Quarter
------------------------------------------------------
orderA | lot1 | 0
orderB | lot1 | 1
orderB | lot2 | 1
有什么建议吗?
【问题讨论】:
-
您正在使用此处未列出的列。你能提供一个正确的minimal reproducible example吗?
-
@user791411 您好,请添加您的数据示例。你的插图是期望的输出吗?