2016-10-09 4 views
1

Ich habe ein Muster:Wie lösche Zeilen in Python Pandas DataFrame mit regulären Ausdrücken?

patternDel = "(\\((MoM|QoQ)\\))"; 

Und ich möchte alle Zeilen in Pandas Datenrahmen, wo Spalte df['Event Name'] Spiele dieses Muster löschen. Was ist der beste Weg, es zu tun? Es gibt mehr als 100.000 Zeilen im Datenrahmen.

+0

einfach passen und halten klar zu sein, wenn Sie Spalten mit dieser Zeichenfolge importieren, werden sie zu konvertierenden '“ (\ ((MoM | QoQ) \)) ", es sei denn, sie sind rohe Saiten. Es wäre hilfreich, eine Stichprobe der Daten hinzuzufügen, um die beste Antwort zu erhalten. – shawnheide

Antwort

5

str.contains() gibt eine Reihe von booleans, die wir zu indizieren unsere Rahmen nutzen können

patternDel = "(\\((MoM|QoQ)\\))" 
filter = df['Event Name'].str.contains(patternDel) 

Ich neige dazu, die Dinge zu halten, wir wollen im Gegensatz Zeilen zu löschen. Da Filter Dinge darstellen wollen wir, dass wir ~ alle Zeilen zu bekommen verwenden löschen, die sie nicht

df = df[~filter] 
Verwandte Themen