Panda: come eliminare le righe contenenti una stringa specifica


È possibile utilizzare la seguente sintassi per rimuovere righe contenenti una determinata stringa in un DataFrame panda:

 df[df[" col "]. str . contains (" this string ") == False ]

Questo tutorial spiega diversi esempi di utilizzo pratico di questa sintassi con il seguente DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'],
                   ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'],
                   ' points ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

        team conference points
0 A East 11
1 A East 8
2 A East 10
3 B West 6
4 B West 6
5 C East 5

Esempio 1: rimuovere le righe contenenti una stringa specifica

Il codice seguente mostra come rimuovere tutte le righe dal DataFrame che contengono “A” nella colonna del team:

 df[df[" team "]. str . contains (" A ")== False ]

        team conference points
3 B West 6
4 B West 6
5 C East 5

Esempio 2: rimozione di righe contenenti una stringa in un elenco

Il codice seguente mostra come rimuovere tutte le righe dal DataFrame che contengono “A” o “B” nella colonna del team:

 df[df[" team "]. str . contains (" A|B ")== False ]

	team conference points
5 C East 5

Esempio 3: rimozione di righe contenenti una stringa parziale

Negli esempi precedenti, abbiamo eliminato le righe in base alle righe che corrispondevano esattamente a una o più stringhe.

Tuttavia, se vogliamo eliminare le righe contenenti una stringa parziale, possiamo utilizzare la seguente sintassi:

 #identify partial string to look for
discard = [" Wes "]

#drop rows that contain the partial string "Wes" in the conference column
df[~df. conference . str . contains (' | ' .join (discard))]

team conference points
0 A East 11
1 A East 8
2 A East 10
5 C East 5

Puoi trovare altri tutorial sui panda in questa pagina .

Aggiungi un commento

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