Trouver des chaînes à Pandas

Trouver des chaînes à Pandas

Cet article vous aidera à comprendre diverses méthodes que nous pouvons utiliser pour rechercher une chaîne dans un pandas dataframe.

Pandas contient la méthode

Les pandas nous fournissent une fonction contient () qui permet à la recherche si une sous-chaîne est contenue dans une série Pandas ou DataFrame.

La fonction accepte une chaîne littérale ou un modèle d'expression régulière qui est ensuite adapté aux données existantes.

La syntaxe de fonction est comme indiqué:

Série.Str.contient (motif, cas = true, drapeaux = 0, na = aucun, regex = true)

Les paramètres de fonction sont exprimés comme indiqué:

  1. modèle - fait référence à la séquence de caractères ou au modèle regex pour rechercher.
  2. cas - Spécifie si la fonction doit obéir à la sensibilité à la casse.
  3. drapeaux - Spécifie les drapeaux pour passer au module Regex.
  4. n / A - remplit les valeurs manquantes.
  5. expirat - Si c'est vrai, traite le modèle d'entrée comme une expression régulière.

Valeur de retour

La fonction renvoie une série ou un index des valeurs booléennes indiquant si le modèle / la sous-chaîne se trouve dans le dataframe ou la série.

Exemple

Supposons que nous ayons un exemple de données de données illustré ci-dessous:

# Importer des pandas
Importer des pandas en tant que PD
df = pd.DataFrame ("Full_Names": ['Irene Coleman', 'Maggie Hoffman', 'Lisa Crawford', 'Willow Dennis', 'Emmett Shelton'])
df

Rechercher une chaîne

Pour rechercher une chaîne, nous pouvons passer la sous-chaîne comme le paramètre de modèle comme indiqué:

Imprimer (DF.noms complets.Str.contient ('shelton'))

Le code ci-dessus vérifie si la chaîne «Shelton» est contenue dans les colonnes Full_Names du DataFrame.

Cela devrait renvoyer une série de valeurs booléennes indiquant si la chaîne est située dans chaque ligne de la colonne spécifiée.

Un exemple est comme indiqué:

Pour obtenir la valeur réelle, vous pouvez passer le résultat de la méthode CONTAINS () comme index du dataframe.

Imprimer (df [df.noms complets.Str.contient ('shelton')])

Ce qui précède doit revenir:

noms complets
4 Emmett Shelton

Recherche sensible à la casse

Si la sensibilité à la caisse est importante dans votre recherche, vous pouvez définir le paramètre de cas sur TRUE comme indiqué:

Imprimer (DF.noms complets.Str.contient ('shelton', cas = true))

Dans l'exemple ci-dessus, nous définissons le paramètre de cas sur True, permettant une recherche sensible à la casse.

Puisque nous recherchons la chaîne minuscule «Shelton», la fonction doit ignorer la correspondance en majuscules et retourner faux.

Regrex Recherche

Nous pouvons également rechercher en utilisant un modèle d'expression régulière. Un exemple simple est comme indiqué:

Imprimer (DF.noms complets.Str.contient ('wi | em', cas = false, regex = true)))

Nous recherchons toute chaîne correspondant aux modèles «wi» ou «em» dans le code ci-dessus. Notez que nous définissons le paramètre de cas sur False, ignorant la sensibilité des caisses.

Le code ci-dessus doit retourner:

Fermeture

Cet article couvrait comment rechercher une sous-chaîne dans un pandas dataframe à l'aide de la méthode contient (). Vérifiez les documents pour plus.