Maison >développement back-end >Tutoriel Python >Comment puis-je rechercher efficacement des chaînes contenant des sous-chaînes spécifiques dans une série Pandas ?

Comment puis-je rechercher efficacement des chaînes contenant des sous-chaînes spécifiques dans une série Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-06 11:39:121015parcourir

How Can I Efficiently Find Strings Containing Specific Substrings in a Pandas Series?

Test des sous-chaînes de chaîne dans Pandas

Dans Pandas, vous pouvez rencontrer des scénarios dans lesquels vous devez déterminer si une colonne de chaîne contient l'une des plusieurs sous-chaînes . Ceci peut être réalisé en utilisant les fonctions isin() et str.contains(), mais une approche plus efficace est disponible.

Pour rechercher toutes les chaînes contenant l'une des listes de sous-chaînes, vous pouvez utiliser le canal d'expression régulière caractère (|) dans str.contains(). Par exemple, étant donné une série s = ['cat','hat','dog','fog','pet'] et les sous-chaînes souhaitées ['og', 'at'], vous pouvez exécuter le code suivant :

import pandas as pd

searchfor = ['og', 'at']
result = s[s.str.contains('|'.join(searchfor))]

Cette opération créera une série avec tous les éléments de s qui correspondent à l'une des sous-chaînes recherchées, à l'exclusion de pet.

Il est important de noter que les caractères spéciaux ayant une signification spécifique dans les expressions régulières, tels que $ et ^, doivent être échappés à l'aide de re.escape(). Cela garantit qu'ils sont traités comme des caractères littéraux lors de la correspondance.

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!

Déclaration:
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