我希望每组都保持半值,如下所示。
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
答案 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