Comment utiliser la fonction idxmax() dans Pandas (avec exemples)
Vous pouvez utiliser la fonction pandas.DataFrame.idxmax() pour renvoyer l’index de la valeur maximale sur un axe spécifié dans un DataFrame pandas.
Cette fonction utilise la syntaxe suivante :
DataFrame.idxmax(axis=0, skipna=True)
où:
- axis : L’axe à utiliser (0 = lignes, 1 = colonnes). La valeur par défaut est 0.
- skipna : s’il faut ou non exclure les valeurs NA ou nulles. La valeur par défaut est True.
Les exemples suivants montrent comment utiliser cette fonction en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 8, 9, 23], 'assists': [5, 7, 7, 9, 12, 9], 'rebounds': [11, 8, 11, 6, 6, 5]}, index=['Andy','Bob', 'Chad', 'Dan', 'Eric', 'Frank']) #view DataFrame df points assists rebounds Andy 25 5 11 Bob 12 7 8 Chad 15 7 11 Dan 8 9 6 Eric 9 12 6 Frank 23 9 5
Exemple 1 : Rechercher un index ayant une valeur maximale pour chaque colonne
Le code suivant montre comment trouver l’index qui a la valeur maximale pour chaque colonne :
#find index that has max value for each column df.idxmax(axis=0) points Andy assists Eric rebounds Andy dtype: object
À partir du résultat, nous pouvons voir :
- Le joueur avec la valeur la plus élevée dans la colonne des points est Andy.
- Le joueur avec la valeur la plus élevée dans la colonne des passes décisives est Eric.
- Le joueur avec la valeur la plus élevée dans la colonne des rebonds est Andy.
Il est important de noter que la fonction idxmax() renverra la première occurrence de la valeur maximale.
Par exemple, notez qu’Andy et Chad ont tous deux réussi 11 rebonds. Puisque Andy apparaît en premier dans le DataFrame, son nom est renvoyé.
Exemple 2 : Rechercher une colonne ayant une valeur maximale pour chaque ligne
Le code suivant montre comment trouver la colonne contenant la valeur maximale pour chaque ligne :
#find column that has max value for each row df.idxmax(axis=1) Andy points Bob points Chad points Dan assists Eric assists Frank points dtype: object
À partir du résultat, nous pouvons voir :
- La valeur la plus élevée dans la ligne intitulée « Andy » se trouve dans la colonne des points .
- La valeur la plus élevée dans la ligne intitulée « Bob » se trouve dans la colonne des points .
- La valeur la plus élevée dans la ligne intitulée « Tchad » se trouve dans la colonne des points .
- La valeur la plus élevée dans la ligne intitulée « Dan » se trouve dans la colonne des passes décisives .
- La valeur la plus élevée dans la ligne intitulée « Eric » se trouve dans la colonne des passes décisives .
- La valeur la plus élevée dans la ligne intitulée « Andy » se trouve dans la colonne des points .
Reportez-vous à la documentation pandas pour une explication complète de la fonction idxmax().
Ressources additionnelles
Comment trouver la valeur maximale des colonnes dans Pandas
Comment calculer la moyenne des colonnes dans Pandas
Comment calculer la somme des colonnes dans Pandas