Maison >développement back-end >Tutoriel Python >Comment conserver d'autres colonnes tout en recherchant les minimums dans les DataFrames Pandas groupés ?
Conserver d'autres colonnes pendant une opération minimale groupée dans Pandas DataFrame
Lors de l'utilisation de la fonction groupby pour regrouper les données par une colonne spécifique et effectuer des opérations d'agrégation comme pour trouver le minimum, d'autres colonnes du DataFrame peuvent être supprimées par inadvertance.
Pour conserver des colonnes supplémentaires tout en effectuant une opération minimale sur une colonne groupée, envisagez les méthodes suivantes :
Méthode 1 : L'utilisation de idxmin()
idxmin() renvoie les indices des valeurs minimales au sein de chaque groupe. En utilisant cela, vous pouvez sélectionner uniquement les lignes souhaitées :
<code class="python">result = df.loc[df.groupby("item")["diff"].idxmin()]</code>
Méthode 2 : Trier et obtenir le premier élément
Vous pouvez également trier la trame de données par la colonne minimale avant d'effectuer l'opération groupby et d'extraire la première ligne de chaque groupe :
<code class="python">result = df.sort_values("diff").groupby("item", as_index=False).first()</code>
Les deux méthodes produiront le résultat souhaité, en conservant la colonne othertuff tout en filtrant les lignes en fonction de la valeur de différence minimale :
item diff otherstuff 0 1 1 2 1 2 -6 2 2 3 0 0
Notez que les indices résultants peuvent varier entre les deux méthodes, bien que le contenu des lignes 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!