Panda: come eliminare righe contenenti un valore specifico
È possibile utilizzare la seguente sintassi per eliminare righe in un DataFrame panda che contengono un valore specifico in una determinata colonna:
#drop rows that contain specific 'value' in 'column_name' df = df[df. column_name != value ]
È possibile utilizzare la seguente sintassi per eliminare righe in un DataFrame panda che contengono qualsiasi valore in un determinato elenco:
#define values values = [value1, value2, value3, ...] #drop rows that contain any value in the list df = df[df. column_name . isin (values) == False ]
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: Elimina righe contenenti un valore specifico
Il codice seguente mostra come eliminare tutte le righe contenenti un valore specifico in una colonna:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
' name ': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
' rebounds ': [11, 7, 14, 7],
' points ': [26, 31, 22, 29]})
#view DataFrame
df
team name rebound points
0 Mavs Dirk 11 26
1 Lakers Kobe 7 31
2 Spurs Tim 14 22
3 Cavs LeBron 7 29
#drop any rows that have 7 in the rebounds column
df = df[df. rebounds != 7 ]
#view resulting DataFrame
df
team name rebound points
0 Mavs Dirk 11 26
2 Spurs Tim 14 22
Esempio 2: rimozione di righe contenenti valori in un elenco
Il codice seguente mostra come rimuovere tutte le righe dal DataFrame che contengono un valore in un elenco:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
' name ': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
' rebounds ': [11, 7, 14, 7],
' points ': [26, 31, 22, 29]})
#view DataFrame
df
team name rebound points
0 Mavs Dirk 11 26
1 Lakers Kobe 7 31
2 Spurs Tim 14 22
3 Cavs LeBron 7 29
#define list of values
values = [7, 11]
#drop any rows that have 7 or 11 in the rebounds column
df = df[df. rebounds . isin (values) == False ]
#view resulting DataFrame
df
team name rebound points
2 Spurs Tim 14 22
Esempio 3: rimozione di righe contenenti valori specifici in più colonne
Il codice seguente mostra come rimuovere righe dal DataFrame che contengono un valore specifico in una delle numerose colonne:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Lakers', 'Spurs', 'Cavs'],
' name ': ['Dirk', 'Kobe', 'Tim', 'Lebron'],
' rebounds ': [11, 7, 14, 7],
' points ': [26, 31, 22, 29]})
#view DataFrame
df
team name rebound points
0 Mavs Dirk 11 26
1 Lakers Kobe 7 31
2 Spurs Tim 14 22
3 Cavs LeBron 7 29
#drop any rows that have 11 in the rebounds column or 31 in the points column
df = df[(df. rebounds != 11 ) & (df. points != 31 )]
#view resulting DataFrame
df
team name rebound points
2 Spurs Tim 14 22
3 Cavs LeBron 7 29
Risorse addizionali
Come eliminare le righe per indice in Pandas
Come eliminare le colonne per indice in Pandas
Come eliminare righe contenenti una stringa specifica in Pandas