La manipulation de données textuelles dans Pandas

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire présente la manière de manipuler des données textuelles dans pandas. Nous allons apprendre à stocker des données textuelles, à utiliser des méthodes de chaîne de caractères pour le prétraitement et la transformation des données, et à extraire des sous-chaînes à l'aide d'expressions régulières. Nous allons également apprendre à créer des variables fictives pour les algorithmes d'apprentissage automatique.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.

Stockage de données textuelles

En pandas, vous pouvez stocker des données textuelles de deux manières : en utilisant un tableau NumPy de type object ou un type d'extension StringDtype. Nous recommandons d'utiliser StringDtype car il est plus sécuritaire et plus spécifique que le type générique object.

import pandas as pd

## créer une série avec le type `object`
s1 = pd.Series(["a", "b", "c"], dtype="object")

## créer une série avec `StringDtype`
s2 = pd.Series(["a", "b", "c"], dtype="string")

Utiliser les méthodes de chaîne de caractères

Pandas fournit une série de méthodes de traitement de chaînes de caractères qui facilitent la manipulation des données de type chaîne. Ces méthodes excluent automatiquement les valeurs manquantes/NA.

s = pd.Series(
    ["A", "B", "C", "Aaba", "Baca", np.nan, "CABA", "dog", "cat"], dtype="string"
)

## convertir en minuscules
s.str.lower()

## convertir en majuscules
s.str.upper()

## calculer la longueur de chaque chaîne
s.str.len()

Extraire des sous-chaînes

Vous pouvez extraire des sous-chaînes à l'aide d'expressions régulières. La méthode extract accepte une expression régulière avec au moins un groupe de capture.

## extraire le premier chiffre de chaque chaîne
s = pd.Series(["a1", "b2", "c3"], dtype="string")
s.str.extract(r"(\d)", expand=False)

Vérifier des chaînes de caractères

Vous pouvez vérifier si des éléments contiennent ou correspondent à un motif en utilisant respectivement les méthodes contains et match.

## vérifier si chaque chaîne contient le motif "a"
s.str.contains("a", na=False)

## vérifier si chaque chaîne correspond au motif "a"
s.str.match("a", na=False)

Créer des variables indicatrices

Vous pouvez créer des variables indicatrices à partir de données de chaîne de caractères en utilisant la méthode get_dummies.

## créer des variables indicatrices
s = pd.Series(["a", "a|b", np.nan, "a|c"], dtype="string")
s.str.get_dummies(sep="|")

Sommaire

Dans ce laboratoire, nous avons appris à traiter les données textuelles dans pandas. Nous avons appris à stocker les données textuelles, à utiliser les méthodes de chaîne de caractères pour le prétraitement et la transformation des données, à extraire des sous-chaînes à l'aide d'expressions régulières, à tester si des éléments contiennent ou correspondent à un motif, et à créer des variables indicatrices. Ces techniques sont fondamentales pour le traitement des données textuelles pour les algorithmes d'apprentissage automatique.