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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *