Exemple de comment trouver la valeur minimum 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':[36,27,20,12,30,20,22,21]}df = pd.DataFrame(data)df
ce qui donne
Name Age0 Ben 361 Anna 272 Zoe 203 Tom 124 John 305 Steve 206 Becky 227 Bob 21
Trouver la valeur minimum dans la colonne Age
Pour trouver la valeur minimum dans la colonne Age par exemple, une solution est d'utiliser la fonction pandas min:
df['Age'].min()
donne ici
12
Trouver l'indice de la valeur minimum dans la colonne Age
On peut aussi retrouver l'indice de la ligne correspondant a la valeur min avec la fonction pandas.DataFrame.idxmin
df['Age'].idxmin()
donne
3
En utilisant l'indice ci dessus:
df.iloc[3,:]
on obtient:
Name TomAge 12Name: 3, dtype: object
Cas avec plusieurs valeurs minimum dans une même colonne
Prenons un exemple avec une valeur min présente dans deux lignes:
import pandas as pddata = {'Name':['Ben','Anna','Zoe','Tom','John','Steve','Becky','Bob'],'Age':[12,27,20,12,30,20,22,21]}df = pd.DataFrame(data)print(df)
donne ici
Name Age0 Ben 121 Anna 272 Zoe 203 Tom 124 John 305 Steve 206 Becky 227 Bob 21
Alors la fonction pandas.DataFrame.min:
df['Age'].min()
donne toujours
12
mais idxmin
df['Age'].idxmin()
donne seulement l'indice de la première ligne avec la valeur min:
0
Pour obtenir les lignes avec la valeur min on peut faire comme ceci
df[ df['Age'] == df['Age'].min() ]Name Age0 Ben 123 Tom 12
et pour obtenir les indices
df[ df['Age'] == df['Age'].min() ].index
donne
Int64Index([0, 3], dtype='int64')
