Maison > développement back-end > Tutoriel Python > Comment puis-je effectuer efficacement une correspondance partielle de chaînes dans les DataFrames Pandas ?

Comment puis-je effectuer efficacement une correspondance partielle de chaînes dans les DataFrames Pandas ?

Patricia Arquette
Libérer: 2024-12-16 15:15:15
original
882 Les gens l'ont consulté

How Can I Efficiently Perform Partial String Matching in Pandas DataFrames?

Correspondance partielle de chaînes dans les DataFrames Pandas

Le filtrage d'un DataFrame en fonction de critères de chaîne est une tâche courante dans l'analyse des données. Bien que les correspondances de chaînes exactes soient simples à l'aide de l'opérateur ==, les correspondances de chaînes partielles nécessitent une approche différente.

Une option consiste à utiliser des expressions régulières, comme le démontre l'extrait de code dans la question :

re.search(pattern, cell_in_question)
Copier après la connexion

Cependant, pour les DataFrames volumineux, cette approche peut s'avérer inefficace en raison de sa nature itérative.

Une solution vectorisée utilisant les méthodes Series.str de Pandas est disponible et fortement recommandé pour de meilleures performances :

df[df['A'].str.contains("hello")]
Copier après la connexion

Cette méthode utilise la fonction intégrée contain() pour vérifier si une sous-chaîne est présente dans une série de chaînes. Il renvoie un masque booléen qui peut être utilisé pour filtrer le DataFrame.

Dans les versions antérieures de Pandas (avant la 0.8.1), une syntaxe légèrement différente était utilisée :

df['A'].apply(lambda x: "hello" in x)
Copier après la connexion

Peu importe Selon l'approche que vous choisissez, la correspondance partielle de chaînes dans Pandas DataFrames est un outil puissant pour filtrer les données de manière efficace et efficiente.

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