【发布时间】:2018-07-08 21:31:54
【问题描述】:
我试图找到组中的值的总和,但问题是我只需要选择组中的 3 个可能的最高值,然后对每个组的这些值求和。
我有一个这样的数据框:
group amount
x 12
x 345
x 3
y 1
y 45
z 14
x 4
x 52
y 54
z 23
z 235
z 21
y 57
y 3
z 87
IN SQL 我可以使用这样的查询:
select group, sum(amount) total from (select group, amount, row_number() over(partition by group order by amount desc) rownum from tbla) z 其中 z.rownum 介于 1 和 3 之间 一组一组
分组前我想要的结果:
group amount
x 12
x 345
y 45
x 52
y 54
z 23
z 235
y 57
z 87
根据这个结果,我想得到每个组的总和
最终结果
Group Amount
X 409
Y 156
Z 345
【问题讨论】:
标签: pandas python-3.6 pandas-groupby