熊猫与groupby求和

时间:2020-05-15 14:11:09

标签: pandas group-by

我有这个数据框:

    id  priority    quantity
0   A   1           2
1   A   2           4
2   A   3           4
3   A   4           2
4   B   1           5
5   B   2           7
6   B   3           2
7   B   4           3

我想变成这个:

    id  priority    quantity cumulativeQuantity
0   A   1           2        2
1   A   2           4        6
2   A   3           4        10
3   A   4           2        12
4   B   1           5        5
5   B   2           7        12
6   B   3           2        14
7   B   4           3        17

idpriorityquantity不变。

cumulativeQuantityid中所有quantity从1到n的总和,其中n是当前行的priority

priority可以取任何值。只有订单很重要。如果优先级低于当前行的优先级,我们求和。

答案:

df.groupby(['id','priority']).sum().groupby(level=0).cumsum().reset_index()

0 个答案:

没有答案