Pandas retirer les lignes avec condition

Pandas retirer les lignes avec condition
Cet article discutera de la façon d'utiliser la fonction Pandas Drop () pour supprimer les lignes qui correspondent à une condition spécifique.

Exemple de dataframe

Dans ce tutoriel, nous utiliserons un exemple de données de données avec les données ci-dessous stockées dans les films.Fichier CSV:

,Titre, release_year, imdb_rating
0, Iron Man, 2008,7.9
1, The Incredible Hulk, 2008,6.6
2, Iron Man 2,2010,6.9
3, Thor, 2011,7.0
4, Captain America: The First Avenger, 2011,6.9
5, The Avengers, 2012,8.0
6, Iron Man 3,2013,7.1
7, Thor: The Dark World, 2013,6.8
8, Captain America: The Winter Soldier, 2014,7.8
9, gardiens de la galaxie, 2014,8.0
10, Avengers: Age of Ultron, 2015,7.3
11, Ant-Man, 2015,7.3
12, Captain America: Civil War, 2016,7.8
13, Doctor Strange, 2016,7.5
14, Guardians of the Galaxy: Volume 2,2017,7.6
15, Spiderman: Homecoming, 2017,7.4
16, Thor: Ragnarok, 2017,7.9
17, Black Panther, 2018,7.3
18, Avengers: Infinity War, 2018,8.4
19, Ant-Man et la guêpe, 2018,7.0
20, Captain Marvel, 2019,6.8
21, Avengers: Endgame, 2019,8.4
22, Spider-Man: loin de chez lui, 2019,7.4
23, Black Widow, 2021,6.7
24, Shang-Chi, 2021,7.4
25, Spiderman: No Way Way Home, 2021,8.4
26, Doctor Strange: Dans le multivers de la folie, 2022,7.5
Une fois téléchargé, chargez le fichier CSV comme indiqué ci-dessous:
Importer des pandas en tant que PD
df = pd.read_csv ('films.csv ', index_col = [0])
df

Supprimer les lignes en fonction de l'état de la colonne

Pour supprimer les lignes en fonction d'une seule condition dans une colonne spécifiée, nous pouvons utiliser la fonction Drop (). Par exemple, si nous voulons supprimer les lignes où la version_year est en dessous de 2012, nous pouvons faire:

df = df.drop (df [df ['release_year'] < 2012].index, inplace=False)
df

Dans cet exemple, nous commandons la fonction DROP pour supprimer toutes les lignes où la valeur de la colonne 'release_year' est inférieure à 2012. Le paramètre «InPlace» empêche la fonction de modifier le dataframe d'origine. Cela devrait revenir:

Si vous l'avez remarqué, les lignes dans la sortie ci-dessus ont une valeur de version_year de 2012 et supérieure.

Supprimer les lignes basées sur plusieurs conditions.

Nous pouvons également associer plus d'une condition lors de la suppression des lignes. Par exemple, pour supprimer les lignes où la notation est supérieure à 7.3 Et l'année de sortie est supérieure à 2018, nous pouvons faire:

df.drop (df [(df ['release_year']> 2018) & (df ['imdb_rating']> = 7.3)].index, inplace = false)
df

Le code ci-dessus nous permet d'utiliser l'opérateur AmperSand pour combiner plusieurs conditions.

Fermeture

L'article montre comment utiliser la fonction Pandas Drop () pour supprimer les lignes qui correspondent aux conditions uniques ou multiples dans un Pandas DataFrame.