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

Susan Sarandon
Libérer: 2024-11-10 15:06:02
original
349 Les gens l'ont consulté

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

Obtention de la première ligne de chaque groupe dans un DataFrame Pandas

Dans les pandas, les opérations groupby permettent une agrégation et une manipulation efficaces des données dans différentes catégories . Cependant, récupérer des lignes spécifiques au sein de chaque groupe peut s'avérer difficile. Cet article montrera comment récupérer la première ligne de chaque groupe lors du regroupement d'un DataFrame pandas.

Problème :

Nous avons un DataFrame avec deux colonnes, "id" et « valeur ». Nous souhaitons regrouper le DataFrame par « id », « valeur » et obtenir la première ligne de chaque groupe.

Résultat attendu :

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

Solution :

Pour récupérer la première ligne de chaque groupe, on peut utiliser la méthode .first(). En passant "id" comme clé de groupe, .first() sélectionne le premier élément non nul pour chaque groupe "id" unique.

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

Cela produira le résultat souhaité, avec la première ligne de chaque groupe "id" affiché.

Obtention de l'identifiant sous forme de colonne :

Si nous avons besoin de l'identifiant sous forme de colonne, nous peut utiliser .reset_index().

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

Cela donne :

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

Récupération de plusieurs lignes :

Pour récupérer les n premières lignes de chaque groupe, nous pouvons utiliser .head().

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

Cela nous permet de récupérer un nombre spécifié de lignes depuis le début de chaque groupe.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal