Pandas : comment trouver la valeur maximale dans chaque ligne



Vous pouvez utiliser la syntaxe de base suivante pour trouver la valeur maximale dans chaque ligne d’un DataFrame pandas :

df['max'] = df.max(axis=1)

Cette syntaxe particulière crée une nouvelle colonne appelée max qui contient la valeur max dans chaque ligne du DataFrame.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : trouver la valeur maximale dans chaque ligne dans Pandas

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame({'points': [4, np.nan, 10, 2, 15, np.nan, 7, 22],
                   'rebounds': [np.nan, 3, 9, 7, 6, 8, 14, 10],
                   'assists': [10, 9, 4, 4, 3, 7, 10, 11]})
    
#view DataFrame
print(df)

   points  rebounds  assists
0     4.0       NaN       10
1     NaN       3.0        9
2    10.0       9.0        4
3     2.0       7.0        4
4    15.0       6.0        3
5     NaN       8.0        7
6     7.0      14.0       10
7    22.0      10.0       11

Nous pouvons utiliser la syntaxe suivante pour créer une nouvelle colonne appelée max qui contient la valeur max dans chaque ligne :

#create new column that contains max value of each row
df['max'] = df.max(axis=1)

#view updated DataFrame
print(df)

   points  rebounds  assists   max
0     4.0       NaN       10  10.0
1     NaN       3.0        9   9.0
2    10.0       9.0        4  10.0
3     2.0       7.0        4   7.0
4    15.0       6.0        3  15.0
5     NaN       8.0        7   8.0
6     7.0      14.0       10  14.0
7    22.0      10.0       11  22.0

La nouvelle colonne appelée max contient la valeur maximale dans chaque ligne.

Par exemple, on peut voir :

  • La valeur maximale dans la première ligne est 10 .
  • La valeur maximale dans la deuxième ligne est 9 .
  • La valeur maximale dans la troisième ligne est 10 .

Et ainsi de suite.

Notez également que la fonction max() ignore automatiquement les valeurs NaN lors de la détermination de la valeur maximale dans chaque ligne.

Vous pouvez également trouver la valeur maximale dans chaque ligne pour des colonnes spécifiques uniquement.

Par exemple, vous pouvez utiliser la syntaxe suivante pour trouver la valeur maximale dans chaque ligne et considérer uniquement les colonnes de points et de rebonds :

#add new column that contains max value of each row for points and rebounds columns
df['max'] = df[['points', 'rebounds']].max(axis=1)

#view updated DataFrame
print(df)

   points  rebounds  assists   max
0     4.0       NaN       10   4.0
1     NaN       3.0        9   3.0
2    10.0       9.0        4  10.0
3     2.0       7.0        4   7.0
4    15.0       6.0        3  15.0
5     NaN       8.0        7   8.0
6     7.0      14.0       10  14.0
7    22.0      10.0       11  22.0

La colonne appelée max contient désormais la valeur max dans chaque ligne pour les colonnes points et rebonds uniquement.

Remarque : Vous pouvez trouver la documentation complète de la fonction pandas max() ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Pandas : Comment trouver la valeur maximale sur plusieurs colonnes
Pandas : renvoyer une ligne avec une valeur maximale dans une colonne particulière
Pandas : Comment remplacer inf par Max Value

Ajouter un commentaire

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