Pandas : comment supprimer toutes les lignes sauf certaines



Vous pouvez utiliser les méthodes suivantes pour supprimer toutes les lignes, sauf certaines, d’un DataFrame pandas :

Méthode 1 : supprimer toutes les lignes, sauf celles avec une valeur spécifique dans la colonne

#drop all rows except where team column is equal to 'Mavs'
df = df.query("team == 'Mavs'")

Méthode 2 : supprimer toutes les lignes, à l’exception de celles contenant l’une des plusieurs valeurs spécifiques dans la colonne

#drop all rows except where team is equal to 'Mavs' or 'Heat'
df = df.query("team == 'Mavs' | team == 'Heat'")

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Mavs', 'Heat', 'Heat', 'Cavs', 'Cavs'],
                   'points': [18, 22, 19, 14, 14, 11],
                   'assists': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print(df)

   team  points  assists
0  Mavs      18        5
1  Mavs      22        7
2  Heat      19        7
3  Heat      14        9
4  Cavs      14       12
5  Cavs      11        9

Exemple 1 : supprimer toutes les lignes sauf celles avec une valeur spécifique dans la colonne

Nous pouvons utiliser la syntaxe suivante pour supprimer toutes les lignes sauf celles avec la valeur « Mavs » dans la colonne équipe :

#drop all rows except where team column is equal to 'Mavs'
df = df.query("team == 'Mavs'")

#view updated DataFrame
print(df)

   team  points  assists
0  Mavs      18        5
1  Mavs      22        7

Notez que chaque ligne a été supprimée, à l’exception des lignes qui ont la valeur « Mavs » dans la colonne d’équipe .

Exemple 2 : supprimez toutes les lignes, à l’exception de celles contenant l’une des plusieurs valeurs spécifiques dans la colonne

Nous pouvons utiliser la syntaxe suivante pour supprimer toutes les lignes sauf celles avec une valeur de « Mavs » ou « Heat » dans la colonne équipe :

#drop all rows except where team column is equal to 'Mavs'
df = df.query("team == 'Mavs' | team == 'Heat'")

#view updated DataFrame
print(df)

   team  points  assists
0  Mavs      18        5
1  Mavs      22        7
2  Heat      19        7
3  Heat      14        9

Notez que chaque ligne a été supprimée, à l’exception des lignes qui ont une valeur de « Mavs » ou « Heat » dans la colonne d’équipe .

Ressources additionnelles

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

Comment supprimer la première ligne dans Pandas DataFrame
Comment supprimer la première colonne dans Pandas DataFrame
Comment supprimer les colonnes en double dans Pandas

Ajouter un commentaire

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