假设您有以下 DF:
In [97]: df
Out[97]:
Time
waller poster
1 11 2
22 3
33 1
44 1
55 1
2 33 1
3 11 1
22 1
33 1
44 2
55 1
66 3
Run Code Online (Sandbox Code Playgroud)
解决方案:
In [98]: (df.sort_index(ascending=[1,0])
...: .groupby(level=0, as_index=False)
...: .apply(lambda x: x.head(5) if len(x) >= 5 else x.head(0))
...: .reset_index(level=0, drop=True)
...: )
...:
Out[98]:
Time
waller poster
1 55 1
44 1
33 1
22 3
11 2
3 66 3
55 1
44 2
33 1
22 1
Run Code Online (Sandbox Code Playgroud)