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 pd
data = {'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 Age
0 Ben 36
1 Anna 27
2 Zoe 20
3 Tom 12
4 John 30
5 Steve 20
6 Becky 22
7 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 Tom
Age 12
Name: 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 pd
data = {'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 Age
0 Ben 12
1 Anna 27
2 Zoe 20
3 Tom 12
4 John 30
5 Steve 20
6 Becky 22
7 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 Age
0 Ben 12
3 Tom 12
et pour obtenir les indices
df[ df['Age'] == df['Age'].min() ].index
donne
Int64Index([0, 3], dtype='int64')