Partielle String-Übereinstimmung in Pandas DataFrames
Das Filtern eines DataFrames basierend auf String-Kriterien ist eine häufige Aufgabe bei der Datenanalyse. Während exakte Zeichenfolgenübereinstimmungen mit dem ==-Operator unkompliziert sind, erfordern teilweise Zeichenfolgenübereinstimmungen einen anderen Ansatz.
Eine Möglichkeit ist die Verwendung regulärer Ausdrücke, wie durch den Codeausschnitt in der Frage gezeigt:
re.search(pattern, cell_in_question)
Für große DataFrames kann dieser Ansatz jedoch aufgrund seiner iterativen Natur ineffizient sein.
Eine vektorisierte Lösung mit den Series.str-Methoden von Pandas ist verfügbar und für eine bessere Leistung dringend empfohlen:
df[df['A'].str.contains("hello")]
Diese Methode verwendet die integrierte Funktion enthält(), um zu prüfen, ob ein Teilstring in einer Reihe von Strings vorhanden ist. Es gibt eine boolesche Maske zurück, die zum Filtern des DataFrame verwendet werden kann.
In früheren Versionen von Pandas (vor 0.8.1) wurde eine etwas andere Syntax verwendet:
df['A'].apply(lambda x: "hello" in x)
Unabhängig davon Je nachdem, welchen Ansatz Sie wählen, ist der teilweise String-Abgleich in Pandas DataFrames ein leistungsstarkes Tool zum effizienten und effektiven Filtern von Daten.
Das obige ist der detaillierte Inhalt vonWie kann ich einen teilweisen String-Abgleich in Pandas-DataFrames effizient durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!