Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich effizient nach mehreren Teilstring-Einschlüssen in Pandas suchen?

Wie kann ich effizient nach mehreren Teilstring-Einschlüssen in Pandas suchen?

Patricia Arquette
Freigeben: 2024-12-05 01:29:14
Original
799 Leute haben es durchsucht

How Can I Efficiently Check for Multiple Substring Inclusions in Pandas?

Testen der Einbeziehung von String-Teilstrings mit Pandas

Bei Pandas besteht die Notwendigkeit zu bestimmen, ob ein String einen der in einer Liste vorhandenen Teilstrings enthält. Um dieses Problem zu beheben, könnte eine Kombination aus df.isin() und df[col].str.contains() eingesetzt werden. Dieser Ansatz gilt jedoch als umständlich.

Eine verbesserte Lösung

Ein verfeinerterer Ansatz beinhaltet die Nutzung des | (Pipe-)Zeichen in regulären Ausdrücken, um mehrere Teilzeichenfolgen gleichzeitig abzugleichen. Bei dieser Technik werden die Teilzeichenfolgen in der Liste mithilfe von '|'.join() verkettet:

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

Dieser Ansatz identifiziert effizient Zeichenfolgen, die mit einem der angegebenen Teilzeichenfolgen übereinstimmen, was zu einem verfeinerten Ergebnis führt:

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

Umgang mit Sonderzeichen

Beim Umgang mit Teilzeichenfolgen, die Sonderzeichen wie $ und enthalten, ist Vorsicht geboten ^ die in regulären Ausdrücken bestimmte Bedeutungen haben. Um eine wörtliche Übereinstimmung sicherzustellen, verwenden Sie re.escape(), um diese Zeichen zu maskieren:

import re
matches = ['$money', 'x^y']
safe_matches = [re.escape(m) for m in matches]

s[s.str.contains('|'.join(safe_matches))]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich effizient nach mehreren Teilstring-Einschlüssen in Pandas 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