Introdução a Biblioteca Pandas

Lucas Ribeiro
Tech@Grupo ZAP
Published in
5 min readJul 14, 2020
Foto de Max Duzij em Unsplash

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?

  1. Fácil uso e aprendizado da biblioteca.
  2. Porta de entrada para o mundo de Data Science.
  3. 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
Visualizações as colunas em formato de linhas.

Dimensões do DF

Retorna a quantidade de linhas e colunas

df.shape
Linha e coluna.

Informações

df.info ()
Vermelho: retorna número de linhas não nulas. Amarelo: Tipo de cada coluna. Verde: Memória Usada

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.

Para mais detalhes

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
)
Média do preço, Dias do mês x Mês Regressão Linear em linha

--

--