有一个销售订单的数据集,这些订单被划分为产品批次。想在熊猫/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)
但这只会将1
放在数据帧的最后一行上,而不会放在给定顺序内的所有行上(如果ordernumber
出现在多行上)
举例说明:
ordernumber | lot | Last Order of Quarter
------------------------------------------------------
orderA | lot1 | 0
orderB | lot1 | 1
orderB | lot2 | 1
有什么建议吗
示例数据集:
我们要对“id\u type”列中的最后一个订单应用一个标签。首先,我们将最后一个类型顺序分配给一个索引。为此:
然后我们需要生成一个新的布尔列'label'。如果该列未验证条件,则该列将为False,反之则为True。注:将使用int类型以改进计算:
相关问题 更多 >
编程相关推荐