Panda rimuovi le righe con la condizione

Panda rimuovi le righe con la condizione
Questo articolo discuterà di come utilizzare la funzione Drop () Pandas per eliminare le righe che corrispondono a una condizione specifica.

Esempio di dati dati

In questo tutorial, utilizzeremo un frame dati di esempio con i dati seguenti archiviati nei film.File CSV:

,Titolo, rilascio_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, Guardians of the Galaxy, 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 e Wasp, 2018,7.0
20, Capitano Marvel, 2019,6.8
21, Avengers: Endgame, 2019,8.4
22, Spider-Man: lontano da casa, 2019,7.4
23, Black Widow, 2021,6.7
24, Shang-Chi, 2021,7.4
25, Spiderman: No Way Home, 2021,8.4
26, Doctor Strange: nel multiverso di Madness, 2022,7.5
Una volta scaricato, caricare il file CSV come mostrato di seguito:
Importa panda come PD
df = pd.read_csv ('film.csv ', index_col = [0])
df

Elimina le righe in base alla condizione della colonna

Per eliminare le righe in base a una singola condizione in una colonna specificata, possiamo usare la funzione drop (). Ad esempio, se vogliamo eliminare qualsiasi riga in cui il rilascio_year è al di sotto del 2012, possiamo fare:

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

In questo esempio, comandiamo la funzione Drop per eliminare tutte le righe in cui il valore nella colonna "rilascio_year" è inferiore al 2012. Il parametro "Inplace" impedisce alla funzione di modificare il frame dati originale. Questo dovrebbe tornare:

Se hai notato, le righe nell'output sopra hanno un valore di rilascio_year del 2012 e superiore.

Elimina le righe in base a più condizioni.

Possiamo anche abbinare più di una condizione quando rimuoviamo le righe. Ad esempio, per rimuovere le righe in cui la valutazione è maggiore di 7.3 e l'anno di rilascio è maggiore del 2018, possiamo fare:

df.drop (df [(df ['rilascio_year']> 2018) e (df ['imdb_rating']> = 7.3)].indice, inplace = false)
df

Il codice sopra ci consente di utilizzare l'operatore AmperSand per combinare più condizioni.

Chiusura

L'articolo dimostra come utilizzare la funzione Drop () Pandas per rimuovere le righe che corrispondono a condizioni singole o più.