Introdução a Biblioteca Pandas
Aqui no Grupo Zap as pessoas do Chapter de Data Analytics usam bastante a linguagem Python para criação de análises exploratórias de dados. Temos um grande enfoque na biblioteca Pandas e resolvi falar um pouquinho mais dessa biblioteca que nos ajuda no dia-a-dia.
Pandas é um biblioteca para manipulação e análise de dados, escrita em Python. Essa é a biblioteca perfeita para iniciar suas análises exploratórias de dados, pois ela nos permite ler, manipular, agregar e plotar os dados em poucos passos.
Quadro de dados
Em uma simples definição, DataFrame é como se fosse uma planilha de Excel ou uma tabela de banco de dados. É composto por colunas, linhas e índice. Quando nós lemos algum arquivo de dados, ele se torna um DataFrame para o Pandas.
Porque pandas é tão popular?
- Fácil uso e aprendizado da biblioteca.
- Porta de entrada para o mundo de Data Science.
- Na minha opinião, Pandas é uma das melhores bibliotecas para realizar análises exploratórias. ❤
Bibliotecas complementares
Pandas não anda sozinho, segue algumas bibliotecas que nos ajudam a refinar nossas análises:
Seaborn, Estatística e visualizações.
NumPy, Bibliotecas para funções matemáticas.
Matplotlib, Visualizações de dados.
Scikit-Learn, Classificação, clusterização e regressão.
Antes de começarmos a codificar
Você deve configurar um ambiente Anaconda para executar esta biblioteca. Eu recomendo um destes ambientes:
Instalando Pandas
# Celula do jupyter
! Pip instalar pandas# Terminal
pip install pandas
Importando a biblioteca
importar pandas como pd
Lendo arquivo de dados
Existem muitas funções nativas para ler seus dados, normalmente iniciando por pd.read_[extensão]
CSV
df = pd.read_csv('caminho_arquivo.csv', sep='separador')df = pd.read_csv ('vendas_202005.csv', set = ';')
Excel
df = pd.read_excel('caminho_arquivo.xlsx', sheet_name='guia')df = pd.read_excel ('vendas_202005.xlsx', sheet_name = 'Jan')
Conhecendo seus dados
Head
df.head ()
T (Transposição)
df.T
Dimensões do DF
Retorna a quantidade de linhas e colunas
df.shape
Informações
df.info ()
Estatísticas Descritivas
Retorna medidas de tendência central.
df.describe ()
Quantidade, média, desvio padrão, valor mínimo, 25% da coluna, 50% da coluna (média), 75% da coluna e valor máximo.
Trabalhando com colunas
Adicionando uma nova coluna
df['nome_da_coluna'] = valor ou condição que retorna um valor df ['nm_mes'] = df ['data']. dt.month_name ()
Excluindo uma coluna
# Tome cuidado, pois irá apagar do seu DataFrame.
#Não apaga do arquivo.
# Se apagar sem querer, só ler novamente o arquivo inicial.del df ['nome_da_coluna']
Filtrando o DataFrame
#Uma Condição
df[ df['nm_coluna' == 'XPTO' ] ]#Múltiplas Condições
df[ (condição 1) & (condição 2) ... ]#Exemplo
df [(df ['date']> = '2020-05-01') & (df ['date'] <= '2020-05-31']]
Pivotando ou agrupando
Pivotando
pd.pivot_table (df #Nome do DataFrame
, índice = "dia" #Linhas
, colunas = "month_nm" #Colunas
, values = "price" #Valor
, aggfunc = "mean" # Função de Agregação
)
Agrupamento
df.groupby (['month_nm', 'day']). agg (
{'price': 'mean'
, 'order_id': 'count'
}
) .reset_index ()
Visualização
Geralmente adicionamos gráficos em uma variável para usar outras propriedades como título, nome do eixo y, nome eixo x, legenda e cores.
BoxPlot
ax = df.boxplot (coluna = ['preço'])
Gráfico de barras
ax = df.plot.bar (x = 'mês', y = 'preço', figsize = (16,5), rot = 0)
Gráfico de linhas
ax = df.plot.line (x = 'data', y = 'preço', figsize = (16,5), marcador = 'o', legenda = ['preço']) ax.set_xlabel ('Data')ax.set_ylabel ('Price')
ax.set_title ('dia após dia x preço total de venda')
ax
Gráfico de Pizza
ax = df.plot.pie (x = 'month_nm', y = 'preço', figsize = (8,8))
Histograma
ax = df ['preço']. hist (figsize = (10,5))
Lmplot - Seborn
Mostre a linha de tendência. Normalmente usamos esse gráfico em regressão linear.
#New DF
dfLR = pd.DataFrame (
df.groupby (['dia', 'month_nm', 'month']))
.agg (
{'preço': pd.Series.mean}
) .reset_index ()
)#Chart
ax = sns.lmplot (
data = dfLR # Nome do quadro de dados
, x = "dia" # linha
, y = "preço" # coluna
, matiz = "month_nm" # quebra de pontos (cores)
, col = "mês" # gráficos pausa
)
Visualize o código no Github
Continue aprendendo Pandas
E ai, gostou das bibliotecas? Essas são apenas algumas que utilizamos :)
Página de vagas: https://jobs.kenoby.com/designprodutoeengenharia
Agradecimentos a Manuele Ferreira e André Maldonado ❤