Maison > développement back-end > Tutoriel Python > Comment récupérer la première ligne de chaque groupe dans un Pandas DataFrame basé sur plusieurs colonnes ?

Comment récupérer la première ligne de chaque groupe dans un Pandas DataFrame basé sur plusieurs colonnes ?

DDD
Libérer: 2024-11-17 09:59:03
original
789 Les gens l'ont consulté

How to retrieve the first row of each group in a Pandas DataFrame based on multiple columns?

Récupérer la première ligne de chaque groupe dans un DataFrame Pandas

Question :

Comment pouvez-vous extraire efficacement la première ligne de chaque groupe d'un Pandas DataFrame, où le regroupement est défini par plusieurs colonnes ?

Réponse :

Pour récupérer la première ligne de chaque groupe dans un Pandas DataFrame basé sur plusieurs colonnes :

  1. Regroupez les données : Regroupez le DataFrame par les colonnes souhaitées à l'aide de la méthode groupby() :

    df_grouped = df.groupby(['id', 'value'])
    Copier après la connexion
  2. Appliquer une fonction d'agrégation : Appliquer la fonction first() à chaque groupe pour obtenir le premier élément non nul :

    df_first_rows = df_grouped.first()
    Copier après la connexion
  3. Réinitialiser l'index (facultatif) : Si vous avez besoin des colonnes 'id' et 'value' en tant que colonnes distinctes, utilisez la méthode reset_index() :

    df_first_rows = df_first_rows.reset_index()
    Copier après la connexion

Exemple :

Considérez le DataFrame suivant :

df = pd.DataFrame({'id': [1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, 7],
                   'value': ["first", "second", "second", "first",
                             "second", "first", "third", "fourth",
                             "fifth", "second", "fifth", "first",
                             "first", "second", "third", "fourth", "fifth"]})
Copier après la connexion

Application des étapes de 上記の :

df_grouped = df.groupby(['id', 'value'])
df_first_rows = df_grouped.first()
df_first_rows = df_first_rows.reset_index()

print(df_first_rows)
Copier après la connexion

Sortie :

   id   value
0   1   first
1   2   first
2   3   first
3   4   second
4   5   first
5   6   first
6   7   fourth
Copier après la connexion

Ce code récupère avec succès la première ligne de chaque groupe défini par les colonnes « id » et « value ».

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