Pandas 按秩计算的条件累积和

Pandas 按秩计算的条件累积和,pandas,cumulative-sum,Pandas,Cumulative Sum,查找低于其销售排名的所有客户的累计客户销售总额。 输出为cum_sales列 范例 | Customer | Product | sales | cum_sales | rank | |:--------:|:-------:|:-----:|:---------:|:-:| | Jon | Y | 2 | 2 | 2 | | Abe | Y | 3 | 5 | 1 | | Jon |

查找低于其销售排名的所有客户的累计客户销售总额。 输出为cum_sales列

范例

| Customer | Product | sales | cum_sales |  rank |
|:--------:|:-------:|:-----:|:---------:|:-:|
|    Jon   |    Y    |   2   |     2     | 2 |
|    Abe   |    Y    |   3   |     5     | 1 |
|    Jon   |    X    |   10  |     17    | 2 |
|    ABE   |    X    |   5   |     7     | 3 |
|    RON   |    X    |   20  |     37    | 1 |
|   MIRA   |    X    |   2   |     2     | 4 |
如何在熊猫身上做到这一点。如果用X产品来看Jon,他的cum_销售价值是(Mira+Abe+Jon)之和,因为他们的销售额低于Jon

我们的想法是按销售额对他们进行排名,然后将低于当前客户排名的所有客户的销售额相加。不知道如何将当前值与列的所有其他值进行比较,并对该数据子集应用函数


提前感谢。

首先按销售使用数据框中的group by,然后使用max聚合功能 例如

df.groupby('sales').max()
并使用此代码计算累积值

df['cum_sales']=df['sales'].cumsum()


`

提供预期输出,并向我们展示您在熊猫身上根本不知道如何做到这一点的经验。我需要方向,我可以从那里开始搜索