Maison > développement back-end > Tutoriel Python > Comment obtenir la première ligne de chaque groupe dans un DataFrame Pandas par plusieurs colonnes ?

Comment obtenir la première ligne de chaque groupe dans un DataFrame Pandas par plusieurs colonnes ?

DDD
Libérer: 2024-11-10 04:54:02
original
535 Les gens l'ont consulté

How to Get the First Row of Each Group in a Pandas DataFrame by Multiple Columns?

Obtenir la première ligne de chaque groupe dans un DataFrame Pandas par plusieurs colonnes

Dans un DataFrame pandas, il est souvent nécessaire de récupérer la première ligne de chaque groupe après avoir regroupé le DataFrame en fonction de colonnes spécifiques. Cette tâche peut être accomplie efficacement en utilisant les méthodes intégrées de pandas.

Pour y parvenir, on peut utiliser la méthode .first() pour obtenir le premier élément (non nul) pour chaque groupe. La syntaxe de first() est la suivante :

df.groupby('group_columns').first()
Copier après la connexion

Dans votre exemple, vous souhaitez regrouper le DataFrame par colonnes 'id' et 'value' et obtenir la première ligne de chaque groupe. Vous pouvez utiliser le code suivant :

df.groupby(['id', 'value']).first()
Copier après la connexion

Cela produira le résultat suivant :

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

Si vous préférez avoir « id » comme colonne dans le DataFrame résultant, vous pouvez réinitialisez l'index à l'aide de reset_index() comme indiqué ci-dessous :

df.groupby(['id', 'value']).first().reset_index()
Copier après la connexion

Le résultat de cette opération sera be:

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

De plus, si vous souhaitez récupérer les n premières lignes de chaque groupe, vous pouvez utiliser la méthode .head() au lieu de first(). Par exemple, pour obtenir les deux premières lignes de chaque groupe, vous pouvez utiliser :

df.groupby('id').head(2).reset_index(drop=True)
Copier après la connexion

Cela renverra le DataFrame suivant :

id value
1 first
1 second
2 first
2 second
3 first
3 third
4 second
4 fifth
5 first
6 first
6 second
7 fourth
7 fifth

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal