Comment obtenir des numéros de ligne dans un DataFrame Pandas
Souvent, vous souhaiterez peut-être obtenir les numéros de ligne dans un DataFrame pandas qui contiennent une certaine valeur.
Heureusement, cela est facile à faire en utilisant la fonction .index .
Ce tutoriel montre plusieurs exemples d’utilisation pratique de cette fonction.
Exemple 1 : obtenir les numéros de ligne qui correspondent à une certaine valeur
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']}) #view DataFrame print(df) points assists team 0 25 5 Mavs 1 12 7 Mavs 2 15 7 Spurs 3 14 9 Celtics 4 19 12 Warriors
Nous pouvons utiliser la syntaxe suivante pour obtenir les numéros de ligne où « équipe » est égal à Mavs :
#get row numbers where 'team' is equal to Mavs df[df['team'] == 'Mavs'].index Int64Index([0, 1], dtype='int64')
Nous pouvons voir que le nom de l’équipe est égal à ‘Mavs’ aux lignes indices 0 et 1 .
Nous pouvons également obtenir les numéros de ligne où se trouve le nom de l’équipe dans une certaine liste de noms d’équipe :
#get row numbers where 'team' is equal to Mavs or Spurs filter_list = ['Mavs', 'Spurs'] #return only rows where team is in the list of team names df[df.team.isin(filter_list)].index Int64Index([0, 1, 2], dtype='int64')
Nous pouvons voir que le nom de l’équipe est égal à ‘Mavs’ ou ‘Spurs’ aux indices de lignes 0 , 1 et 2 .
Exemple 2 : obtenir un numéro de ligne unique
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})
Si vous savez qu’une seule ligne correspond à une certaine valeur, vous pouvez récupérer ce numéro de ligne unique en utilisant la syntaxe suivante :
#get the row number where team is equal to Celtics df[df['team'] == 'Celtics'].index[0] 3
Nous pouvons voir que l’équipe est égale à « Celtics » au numéro d’index de ligne 3 .
Exemple 3 : obtenir la somme des numéros de ligne
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})
Si vous souhaitez connaître le nombre total de lignes où une colonne est égale à une certaine valeur, vous pouvez utiliser la syntaxe suivante :
#find total number of rows where team is equal to Mavs len(df[df['team'] == 'Celtics'].index) 2
Nous pouvons voir que cette équipe est égale à « Mavs » sur un total de 2 lignes.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Comment trouver des valeurs uniques dans plusieurs colonnes dans Pandas
Comment filtrer un DataFrame Pandas sur plusieurs conditions
Comment compter les valeurs manquantes dans un DataFrame Pandas