Exemple de comment trouver la valeur maximum dans une colonne d'une dataframe avec pandas:
Créer une dataframe
Créons par exemple la dataframe suivante
import pandas as pddata = {'Name':['Ben','Anna','Zoe','Tom','John','Steve','Becky','Bob'],'Age':[20,27,20,43,30,20,22,21]}df = pd.DataFrame(data)df
ce qui donne
Name Age0 Ben 201 Anna 272 Zoe 203 Tom 434 John 305 Steve 206 Becky 227 Bob 21
Trouver la valeur maximum dans la colonne Age
Pour trouver la valeur maximum dans la colonne Age par exemple, une solution est d'utiliser la fonction pandas max:
df['Age'].max()
donne ici
43
Trouver l'indice de la valeur maximum dans la colonne Age
On peut aussi retrouver l'indice de la ligne correspondant a la valeur max avec la fonction idxmax
df['Age'].idxmax()
donne
3
En utilisant l'indice ci dessus:
df.iloc[3,:]
on obtient:
Name TomAge 43Name: 3, dtype: object
Cas avec plusieurs valeurs maximum dans une même colonne
Prenons un exemple avec une valeur max présente dans deux lignes:
import pandas as pddata = {'Name':['Ben','Anna','Zoe','Tom','John','Steve','Becky','Bob'],'Age':[43,27,20,43,30,20,22,21]}df = pd.DataFrame(data)print(df)
donne ici
Name Age0 Ben 431 Anna 272 Zoe 203 Tom 434 John 305 Steve 206 Becky 227 Bob 21
Alors la fonction max:
df['Age'].max()
donne toujours
43
mais idxmax
df['Age'].idxmax()
donne seulement l'indice de la première ligne avec la valeur max:
0
Pour obtenir les lignes avec la valeur max on peut faire comme ceci
df[ df['Age'] == df['Age'].max() ]Name Age0 Ben 433 Tom 43
et pour obtenir les indices
df[ df['Age'] == df['Age'].max() ].index
donne
Int64Index([0, 3], dtype='int64')
