Maison > développement back-end > Tutoriel Python > Comment puis-je vérifier efficacement si une série Pandas contient une sous-chaîne d'une liste donnée ?

Comment puis-je vérifier efficacement si une série Pandas contient une sous-chaîne d'une liste donnée ?

Susan Sarandon
Libérer: 2024-11-30 01:37:10
original
887 Les gens l'ont consulté

How Can I Efficiently Check if a Pandas Series Contains Any Substring from a Given List?

Test de l'inclusion de sous-chaînes de chaînes dans Pandas

Recherche d'une méthode efficace pour déterminer si une chaîne dans une série Pandas contient l'un des éléments d'une liste spécifiée des sous-chaînes ? Une requête à ce sujet peut être consultée ci-dessous :

Requête originale :

Existe-t-il une fonction pandas qui combine les fonctionnalités de df.isin() et df[col] .str.contient() ? Mon objectif est d'identifier tous les cas où une série contient une sous-chaîne d'une liste donnée.

Solution proposée :

Une approche suggérée dans le forum utilisait une compréhension de boucle et de liste. pour vérifier chaque sous-chaîne de la série. Cependant, une solution plus concise et efficace existe.

Solution basée sur Regex :

Exploiter l'expression régulière | opérateur, on peut construire une expression régulière qui correspond à chaque sous-chaîne de la liste donnée. Cette expression régulière peut ensuite être utilisée avec str.contains pour filtrer la série pour les valeurs souhaitées.

import re

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

Cette approche est plus efficace que la méthode itérative et permet d'obtenir efficacement le résultat souhaité.

Gestion des caractères spéciaux :

Si les sous-chaînes contiennent des caractères spéciaux avec une signification regex, tels que $ ou ^, ils doivent être échappés en utilisant re.escape() pour garantir qu'ils sont interprétés littéralement.

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