Pandas : Comment trouver la valeur maximale sur plusieurs colonnes



Vous pouvez utiliser les méthodes suivantes pour trouver la valeur maximale sur plusieurs colonnes dans un DataFrame pandas :

Méthode 1 : rechercher la valeur maximale sur plusieurs colonnes

df[['col1', 'col2', 'col3']].max(axis=1)

Méthode 2 : ajouter une nouvelle colonne contenant la valeur maximale sur plusieurs colonnes

df['new_col'] = df[['col1', 'col2', 'col3']].max(axis=1)

Les exemples suivants montrent comment utiliser chacune de ces méthodes en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
                   'points': [28, 17, 19, 14, 23, 26, 5],
                   'rebounds': [5, 6, 4, 7, 14, 12, 9],
                   'assists': [10, 13, 7, 8, 4, 5, 8]})

#view DataFrame
print(df)

  player  points  rebounds  assists
0      A      28         5       10
1      B      17         6       13
2      C      19         4        7
3      D      14         7        8
4      E      23        14        4
5      F      26        12        5
6      G       5         9        8

Exemple 1 : Rechercher la valeur maximale sur plusieurs colonnes

Le code suivant montre comment trouver la valeur maximale dans chaque ligne dans les colonnes de points et de rebonds :

#find max value across points and rebounds columns
df[['points', 'rebounds']].max(axis=1)

0    28
1    17
2    19
3    14
4    23
5    26
6     9
dtype: int64

Voici comment interpréter le résultat :

  • La valeur maximale dans les colonnes de points et de rebonds pour la première ligne était de 28 .
  • La valeur maximale dans les colonnes de points et de rebonds pour la deuxième ligne était de 17 .
  • La valeur maximale dans les colonnes de points et de rebonds pour la troisième ligne était de 19 .

Et ainsi de suite.

Exemple 2 : ajouter une nouvelle colonne contenant la valeur maximale sur plusieurs colonnes

Le code suivant montre comment ajouter une nouvelle colonne au DataFrame qui contient la valeur maximale dans chaque ligne dans les colonnes de points et de rebonds :

#add new column that contains max value across points and rebounds columns
df['max_points_rebs'] = df[['points', 'rebounds']].max(axis=1)

#view updated DataFrame
print(df)

  player  points  rebounds  assists  max_points_rebs
0      A      28         5       10               28
1      B      17         6       13               17
2      C      19         4        7               19
3      D      14         7        8               14
4      E      23        14        4               23
5      F      26        12        5               26
6      G       5         9        8                9

La nouvelle colonne intitulée max_points_rebs contient désormais la valeur maximale dans les colonnes de points et de rebonds pour chaque ligne du DataFrame.

Ressources additionnelles

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

Pandas : Comment déplacer une colonne devant le DataFrame
Pandas : comment vérifier si la colonne contient une chaîne
Pandas : Comment ajouter une colonne vide à DataFrame

Ajouter un commentaire

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