如果已经有人问过这个问题,我深表歉意,但请提前感谢您的帮助。在
在这个“未激励”的数据集中,存在由几个批次组成的订单。每个批次都有一个给定的点值,如下所示:
CustID Date OrderNum LotNum PtsPerLot
A123 1/1/2015 1234 A 2
A123 1/1/2015 1234 B 10
A123 1/1/2015 5678 A 7
我的目标是创建一个CUMULATIVE_POINTS_PER_YEAR
列,它表示在每个Lot
级别的POINTS_PER_ORDER
的累计和,这本身就是PtsPerLot
的和。因此,对于一个给定的批次,CumPtsPerYear
将显示某个账户在某一年内所有POINTS_PER_ORDER
的累计总数。在
有什么想法吗?我试过groupby.cumsum
在PtsPerLot
上,另一个groupby.cumsum
在{
要进入问题的第一部分,
PtsPerOrder
,您需要一个转换。sum
是一个聚合。所以使用.transform
:然后用它来创建一个新的列。。。在
^{pr2}$我还是没去查你的CumPtsPerYear规格。。。在
首先,计算
PtsPerOrder
。使用transform
沿数据帧的实际索引广播每组的计算结果:然后取每个组中新列的第一个元素:
^{pr2}$通过执行要搜索的累计和结束计算。它将跳过NA值。使用前向填充完成数据帧:
首先需要使用transformation:
然后为了创建另一个,我没有找到另一种方法来找到每个组的最大值,对其进行累计,然后将其合并到:
^{pr2}$结果如预期:
相关问题 更多 >
编程相关推荐