如何获取每组的准值

时间:2019-12-11 08:58:26

标签: pandas filter

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

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

2 个答案:

答案 0 :(得分:2)

一个班轮:

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

输出:

   ID  number
2   1      48
5   2      40
7   3      60

答案 1 :(得分:2)

Groupby.nth-2结合使用:

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

[出]

ID
1    48
2    40
3    60
Name: number, dtype: int64