Manipulação de Dados de Texto em Pandas

Beginner

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

Introdução

Este laboratório introduz como lidar com dados textuais em pandas. Aprenderemos como armazenar dados textuais, usar métodos de string para pré-processamento e transformação de dados, e extrair substrings usando expressões regulares. Também aprenderemos como criar variáveis dummy para algoritmos de machine learning.

Dicas da VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Armazenando Dados Textuais

No pandas, você pode armazenar dados textuais de duas maneiras: usando um array NumPy com object dtype ou um tipo de extensão StringDtype. Recomendamos o uso de StringDtype porque é mais seguro e específico do que o genérico object dtype.

import pandas as pd

## create a series with `object` dtype
s1 = pd.Series(["a", "b", "c"], dtype="object")

## create a series with `StringDtype`
s2 = pd.Series(["a", "b", "c"], dtype="string")

Usando Métodos de String

O pandas fornece um conjunto de métodos de processamento de string que facilitam a operação em dados de string. Esses métodos excluem automaticamente valores ausentes/NA.

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

## convert to lowercase
s.str.lower()

## convert to uppercase
s.str.upper()

## calculate the length of each string
s.str.len()

Extraindo Substrings

Você pode extrair substrings usando expressões regulares. O método extract aceita uma expressão regular com pelo menos um grupo de captura.

## extract the first digit from each string
s = pd.Series(["a1", "b2", "c3"], dtype="string")
s.str.extract(r"(\d)", expand=False)

Testando Strings

Você pode verificar se os elementos contêm ou correspondem a um padrão usando os métodos contains e match, respectivamente.

## check if each string contains the pattern "a"
s.str.contains("a", na=False)

## check if each string matches the pattern "a"
s.str.match("a", na=False)

Criando Variáveis Dummy

Você pode criar variáveis dummy a partir de dados de string usando o método get_dummies.

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

Resumo

Neste laboratório, aprendemos como lidar com dados de texto em pandas. Aprendemos como armazenar dados de texto, usar métodos de string para pré-processamento e transformação de dados, extrair substrings usando expressões regulares, testar se elementos contêm ou correspondem a um padrão e criar variáveis dummy. Essas técnicas são fundamentais para processar dados de texto para algoritmos de aprendizado de máquina.