如何取每组的最后值

问题描述 投票:0回答:1

我希望每个组都保持半值,如下所示。

ID number    
1   50    
1   49    
1   48
1   45    
2   47    
2   40    
2   31    
3   60    
3   51

示例输出

1  48

2  40

3  60
pandas filter
1个回答
1
投票

一个班轮:

df[df[::-1].groupby('ID').cumcount()[::-1]==1]

输出:

   ID  number
2   1      48
5   2      40
7   3      60

0
投票

Groupby.nth一起使用-2

df.groupby('ID')['number'].nth(-2)

[out]

ID
1    48
2    40
3    60
Name: number, dtype: int64
© www.soinside.com 2019 - 2024. All rights reserved.