Maison > développement back-end > Tutoriel Python > Comment puis-je vérifier efficacement les inclusions de plusieurs sous-chaînes dans Pandas ?

Comment puis-je vérifier efficacement les inclusions de plusieurs sous-chaînes dans Pandas ?

Patricia Arquette
Libérer: 2024-12-05 01:29:14
original
887 Les gens l'ont consulté

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

Test de l'inclusion de sous-chaînes de chaînes à l'aide de Pandas

Dans les pandas, il est nécessaire de déterminer si une chaîne contient l'une des sous-chaînes présentes dans une liste. Pour résoudre ce problème, une combinaison de df.isin() et df[col].str.contains() pourrait être utilisée. Cependant, cette approche est considérée comme lourde.

Une solution améliorée

Une approche plus raffinée consiste à tirer parti du | (barre verticale) dans les expressions régulières pour faire correspondre plusieurs sous-chaînes simultanément. Cette technique consiste à concaténer les sous-chaînes de la liste à l'aide de '|'.join() :

searchfor = ['og', 'at']
s[s.str.contains('|'.join(searchfor))]
Copier après la connexion

Cette approche identifie efficacement les chaînes qui correspondent à l'une des sous-chaînes spécifiées, ce qui donne un résultat affiné :

0    cat
1    hat
2    dog
3    fog
dtype: object
Copier après la connexion

Gestion des caractères spéciaux

Il est important de faire preuve de prudence lorsque vous manipulez des sous-chaînes contenant des caractères spéciaux tels que $ et ^ qui ont des significations spécifiques dans les expressions régulières. Pour garantir une correspondance littérale, utilisez re.escape() pour échapper ces caractères :

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

s[s.str.contains('|'.join(safe_matches))]
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal