Manejo de datos de texto en Pandas

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica introduce cómo manejar datos de texto en pandas. Aprenderemos cómo almacenar datos de texto, utilizar métodos de cadenas para el preprocesamiento y transformación de datos, y extraer subcadenas utilizando expresiones regulares. También aprenderemos cómo crear variables ficticias para algoritmos de aprendizaje automático.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos el problema para usted de inmediato.

Almacenar datos de texto

En pandas, puede almacenar datos de texto de dos maneras: utilizando una matriz de NumPy con tipo de datos object o un tipo de extensión StringDtype. Recomendamos utilizar StringDtype porque es más seguro y específico que el tipo de datos genérico object.

import pandas as pd

## crear una serie con tipo de datos `object`
s1 = pd.Series(["a", "b", "c"], dtype="object")

## crear una serie con `StringDtype`
s2 = pd.Series(["a", "b", "c"], dtype="string")

Utilizar métodos de cadenas

Pandas proporciona una suite de métodos de procesamiento de cadenas que facilitan la operación sobre datos de cadena. Estos métodos excluyen automáticamente los valores faltantes/NA.

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

## convertir a minúsculas
s.str.lower()

## convertir a mayúsculas
s.str.upper()

## calcular la longitud de cada cadena
s.str.len()

Extraer subcadenas

Puedes extraer subcadenas utilizando expresiones regulares. El método extract acepta una expresión regular con al menos un grupo de captura.

## extraer el primer dígito de cada cadena
s = pd.Series(["a1", "b2", "c3"], dtype="string")
s.str.extract(r"(\d)", expand=False)

Probar cadenas

Puedes comprobar si los elementos contienen o coinciden con un patrón utilizando los métodos contains y match respectivamente.

## comprobar si cada cadena contiene el patrón "a"
s.str.contains("a", na=False)

## comprobar si cada cadena coincide con el patrón "a"
s.str.match("a", na=False)

Crear variables ficticias

Puedes crear variables ficticias a partir de datos de cadena utilizando el método get_dummies.

## crear variables ficticias
s = pd.Series(["a", "a|b", np.nan, "a|c"], dtype="string")
s.str.get_dummies(sep="|")

Resumen

En este laboratorio, aprendimos cómo manejar datos de texto en pandas. Aprendimos cómo almacenar datos de texto, utilizar métodos de cadena para el preprocesamiento y la transformación de datos, extraer subcadenas utilizando expresiones regulares, probar si los elementos contienen o coinciden con un patrón y crear variables ficticias. Estas técnicas son fundamentales para el procesamiento de datos de texto para algoritmos de aprendizaje automático.