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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *