pandas groupby 分组取每组的前几行记录方法
直接上例子。
import pandas as pd 
df = pd.DataFrame({'class':['a','a','b','b','a','a','b','c','c'],'score':[3,5,6,7,8,9,10,11,14]}) 
df:
| class | score | |
|---|---|---|
| 0 | a | 3 | 
| 1 | a | 5 | 
| 2 | b | 6 | 
| 3 | b | 7 | 
| 4 | a | 8 | 
| 5 | a | 9 | 
| 6 | b | 10 | 
| 7 | c | 11 | 
| 8 | c | 14 | 
df.sort_values(['class','score'],ascending=[1,0],inplace=True) grouped = df.groupby(['class']).head(2)
grouped:
| class | score | |
|---|---|---|
| 5 | a | 9 | 
| 4 | a | 8 | 
| 6 | b | 10 | 
| 3 | b | 7 | 
| 8 | c | 14 | 
| 7 | c | 11 | 
以上这篇pandas groupby 分组取每组的前几行记录方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

