Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich effizient nach mehreren Teilzeichenfolgen in einer Pandas-DataFrame-Spalte suchen?

Wie kann ich effizient nach mehreren Teilzeichenfolgen in einer Pandas-DataFrame-Spalte suchen?

Patricia Arquette
Freigeben: 2024-11-30 12:17:11
Original
921 Leute haben es durchsucht

How Can I Efficiently Check for Multiple Substrings Within a Pandas DataFrame Column?

Testen der Teilstringpräsenz im Pandas DataFrame unter Verwendung mehrerer Teilstrings

In Pandas die Kombination von df.isin() und df[col].str. Die Verwendung von „contains()“, um zu überprüfen, ob eine Zeichenfolge eine Teilzeichenfolge in einer Liste enthält, kann mühsam sein. Dieser Artikel bietet eine alternative Lösung unter Verwendung regulärer Ausdrücke und der Methode str.contains().

Betrachten Sie zur Veranschaulichung eine Reihe s, die ['cat','hat','dog','fog',' Haustier']. Um alle Elemente zu finden, die entweder „og“ oder „at“ enthalten, außer „pet“, kann der folgende Code verwendet werden:

searchfor = ['og', 'at']
jointed_regex = '|'.join(searchfor)
s[s.str.contains(jointed_regex)]
Nach dem Login kopieren

Die Ausgabe lautet:

0    cat
1    hat
2    dog
3    fog
dtype: object
Nach dem Login kopieren

Indem Sie die Teilzeichenfolgen mit einem „|“ verbinden Zeichen kann die Methode str.contains() effektiv alle Teilzeichenfolgen innerhalb der Zeichenfolgenelemente abgleichen.

Umgang mit Sonderzeichen

Beachten Sie dies beim Umgang mit Teilzeichenfolgen, die Sonderzeichen enthalten B. $ oder ^, müssen diese mit re.escape() maskiert werden. Dadurch wird sichergestellt, dass die Zeichen während des Abgleichvorgangs wörtlich interpretiert werden.

Wenn searchfor beispielsweise ['money', 'x^y'] enthält:

import re
safe_searchfor = [re.escape(m) for m in searchfor]
s[s.str.contains('|'.join(safe_searchfor))]
Nach dem Login kopieren

Dieser Code entgeht dem Sonderzeichen und sorgt für eine genaue Übereinstimmung der Teilzeichenfolgen.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient nach mehreren Teilzeichenfolgen in einer Pandas-DataFrame-Spalte suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage