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.