Ce qui suit est une méthode groupby de pandas pour regrouper et enregistrer les premières lignes de chaque groupe. Elle a une bonne valeur de référence et j'espère qu'elle sera utile à tout le monde. Regardons ensemble
Passons directement à l'exemple.
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 :
| classe | score | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | a | 3 | ||||||||||||||||||||||||||||||
1 | a | 5 | ||||||||||||||||||||||||||||||
2 | b | 6 | ||||||||||||||||||||||||||||||
3 | b | 7 | ||||||||||||||||||||||||||||||
4 | un | 8 | ||||||||||||||||||||||||||||||
5 | un | 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)
groupés :
|
classe | score | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | a | 9 | |||||||||||||||||||||
4 | a | 8 | |||||||||||||||||||||
6 | b | 10 | |||||||||||||||||||||
3 | b | 7 | |||||||||||||||||||||
8 | c | 14 | |||||||||||||||||||||
7 | c | 11 |
Recommandations associées :
Méthode de regroupement multi-niveaux de Pandas pour implémenter le tri
les pandas obtiennent la valeur maximale dans le groupe groupby La méthode row
Démarrer avec la bibliothèque de traitement de données Python pandas
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!