Pandas GroupBy et sélection efficace de lignes avec des valeurs de colonne minimales
Lorsque vous travaillez avec Pandas DataFrames, la sélection de lignes en fonction de valeurs de colonne spécifiques est une pratique courante tâche. Dans le scénario où vous devez extraire des lignes avec la valeur minimale dans une colonne particulière, il existe un moyen simple et efficace d'y parvenir.
Pour illustrer, considérons le DataFrame suivant :
df = pd.DataFrame({'A': [1, 1, 1, 2, 2, 2], 'B': [4, 5, 2, 7, 4, 6], 'C': [3, 4, 10, 2, 4, 6]})
Pour sélectionner les lignes avec la valeur minimale dans la colonne B pour chaque valeur de A, nous pouvons utiliser les méthodes groupby et idxmin :
minimum_rows = df.loc[df.groupby('A').B.idxmin()]
Cette opération regroupe le DataFrame par colonne A et identifie l'index de la ligne avec la valeur minimale dans la colonne B pour chaque groupe. La méthode loc extrait ensuite ces lignes pour créer le DataFrame minimum_rows.
A B C 2 1 2 10 4 2 4 4
Si vous souhaitez réinitialiser l'index pour garantir des entiers consécutifs, vous pouvez utiliser la méthode reset_index :
minimum_rows.reset_index(drop=True) A B C 0 1 2 10 1 2 4 4
En tirant parti des méthodes groupby et idxmin, vous disposez d'une approche efficace pour sélectionner les lignes avec la valeur minimale dans une colonne spécifiée, sans avoir besoin de MultiIndex ou d'opérations complexes.
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!