Comment puis-je conserver des colonnes supplémentaires tout en effectuant des opérations Groupby dans Pandas ?

Barbara Streisand
Libérer: 2024-10-25 06:13:29
original
488 Les gens l'ont consulté

How Can I Keep Additional Columns While Performing Groupby Operations in Pandas?

Conserver des colonnes supplémentaires pendant les opérations Groupby

Lors de l'exécution d'opérations group-by avec des pandas, il est souvent souhaitable de conserver des colonnes supplémentaires tout en agrégeant un élément spécifique. colonne. Cela permet une manipulation efficace des données sans avoir besoin de jointures ou de manipulations supplémentaires.

Considérez l'exemple donné, dans lequel vous souhaitez supprimer les lignes avec des valeurs minimales pour la colonne "diff" tout en préservant les autres colonnes, telles que "autres éléments". ". Par défaut, les pandas suppriment les colonnes supplémentaires lors de l'utilisation des fonctions groupby et d'agrégation comme min().

Pour résoudre ce problème, il existe deux approches efficaces :

Méthode 1 : utiliser idxmin () pour identifier les indices de ligne

idxmin() renvoie les indices des lignes contenant la valeur minimale d'une colonne spécifiée. En tirant parti de cette fonction, vous pouvez sélectionner uniquement les lignes qui remplissent la condition. Le code suivant illustre cette approche :

<code class="python">df.loc[df.groupby("item")["diff"].idxmin()]</code>
Copier après la connexion

Méthode 2 : Tri et sélection du premier élément

Une autre méthode consiste à trier la trame de données par la colonne "diff" et en sélectionnant le premier élément de chaque groupe. Cela garantit que vous obtenez la ligne avec la valeur "diff" minimale tout en conservant les autres colonnes. Le code suivant présente cette méthode :

<code class="python">df.sort_values("diff").groupby("item", as_index=False).first()</code>
Copier après la connexion

Dans les deux approches, le résultat est un dataframe avec uniquement les lignes où "diff" a sa valeur minimale, tout en préservant la colonne "otherstuff". Les indices de lignes peuvent différer entre les deux méthodes, mais le contenu reste le même.

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
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