Python: Visualizando dados com Matplotlib e Seaborn

O Python é uma linguagem que tem a notoriedade de ser amplamente utilizada no mundo da análise de dados em geral. Esse ponto forte não se dá somente por sua força na realização de cálculos, de forma rápida e fácil, mas também pela possibilidade de criar gráficos úteis para a análise dos dados e na comunicação de resultados. No post de hoje, mostraremos duas bibliotecas importantes do Python para a criação de gráficos: Matplolib e Seaborn.

Primeiro carregamos as bibliotecas necessárias para que possamos trabalhar com os dados no Python.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
# !pip install python-bcb
from bcb import sgs

Para os exemplos dos gráficos iremos importar os dados através do Sistema Gerenciador de Séries do Banco Central. Utilizaremos duas séries: a variação do IPCA mensal e o desemprego medido pela PNADC.

ipca = sgs.get({'IPCA' : 433}, start = "2010-01-01")
desemprego = sgs.get({'desemprego' : 24369})
data = desemprego.merge(ipca, on = 'Date', how = 'left')

Matplotlib

O Matplotlib é uma biblioteca do Python com a funcionalidade de criar gráficos 2D. Tem como ponto positivo a variedade de gráficos e formas de construção em conjuntos com diversas bibliotecas para análises de dados e entre outros formatos.

Matplotlib transformas os dados em figuras, cada uma contendo uma ou mais eixos, especificando os pontos gráficos em coordenadas x-y. Para cada tipo de gráfico existe um função específica, que a depender da forma em que os dados necessitam se dispor no gráfico, deve ser indicado pelos seus argumentos.

Vemos um exemplo com a série da variação mensal do IPCA. Como a data se insere dentro do índice do data frame, e existe uma única coluna contendo os dados, o plot do Matplotlib reconhece automaticamente como devem ser utilizados os eixos, sendo apenas necessário especificar os dados na função.

O resultado é um gráfico de série temporal em que o eixo x são as datas ordenadas e o eixo y corresponde aos valores do IPCA mensal. A cada mês demonstra a variação desses valores.


plt.plot(ipca)
plt.style.use('default')

Continuando com o mesmo data frame, vemos agora um gráfico de Histograma, que demonstra a frequência de valores da nossa série. Quanto mais frequentes determinado valores, maior será a barra denotada pelo eixo y.  Vemos que os valores entre 0,25% e 0,50% são os mais recorrentes para o IPCA mensal. Como queremos apenas um vetor de dados para criar este gráfico, acessamos a coluna IPCA para que seja possível utilizar o gráfico.
O Matplotlib também possibilita realizar mudanças estéticas e textuais nas figuras. Vamos realizar algumas mudanças:

plt.hist(x = ipca['IPCA'],
         color = "darkblue",
         bins = 20)
plt.title("valores de jan de 2010 a jan de 2022")
plt.suptitle("Histograma da variação mensal do IPCA")
plt.style.use('ggplot')

Podemos ver uma relação entre duas variáveis a partir de um gráfico de dispersão. Vemos qual a relação entre o desemprego e o IPCA.

plt.scatter(x = data['desemprego'], y = data['IPCA'])
plt.title("Relação Desemprego x IPCA")
plt.style.use('classic')

Seaborn

Outra biblioteca muito utilizada para a construção de gráficos com o Python é o Seaborn, que é baseado no Matplotlib e provê uma interface mais elaborada para construir gráficos com enfoque estatístico.
O Seaborn possui como propósito a simplicidade de construir um gráfico com enfoque para análise de dados, sem dar a preocupação ao usuário de ficar se preocupando com detalhes visuais.
Iremos repetir os gráficos construídos anteriormente, porém, com o Seaborn.
Assim como o Matplotlib, o Seaborn possui uma função para cada gráfico, a diferença está nos argumentos e os elementos padrões.
Vemos como podemos criar um gráfico de série temporal da variação mensal do IPCA.
sns.set_theme()
sns.lineplot(data = ipca)

Com o Seaborn, podemos ver a melhora gráfico e de elemento para o Histograma.

sns.displot(data = ipca, x = 'IPCA', kde = True)

E também a facilidade criar gráficos de correlação com retas de regressão.

sns.regplot(data = data, x = 'desemprego', y = 'IPCA')

Quer aprender mais sobre Python?

Confira nossos cursos de Estatística com Python e Python para Economistas. Nestes cursos elencamos os principais pontos para conhecer o mundo do Python e a aplicação de problemas reais.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como analisar a relação de risco-retorno de ações?

O que é retorno? O que é o risco? Como exatamente os definimos e como podemos avaliar os ativos com base nessas medidas? Neste artigo, apresentamos uma introdução concisa à análise e gestão de ativos financeiros, destacando a eficácia do Python na coleta, tratamento e análise de dados financeiros. Exploraremos como utilizar a linguagem para avaliar o risco-retorno de ações.

Retropolando a série do desemprego no Brasil

Nosso objetivo neste exercício será estender a taxa de desemprego fornecida pela Pesquisa de Nacional por Amostra de Domicílios Contínua (PNAD Contínua) através daquela fornecida pela Pesquisa Mensal de Emprego (PME). Serão construídas duas séries: uma normal, outra dessazonalizada. Faremos todo o exercício utilizando o Python.

Variáveis Instrumentais no R: qual o impacto do gasto de segurança no crime?

Diversos métodos econométricos têm como principal finalidade melhorar o processo de investigar o efeito de uma variável sobre a outra, e um importante método encontra-se no uso de Variáveis Instrumentais na análise de regressão linear. Mas como podemos utilizar essa ferramenta para auxiliar no estudo da avaliação de impacto?

Neste post, oferecemos uma breve introdução a esse importante método da área de inferência causal, acompanhado de um estudo de caso para uma compreensão mais aprofundada de sua aplicação. Os resultados foram obtidos por meio da implementação em R, como parte integrante do nosso curso sobre Avaliação de Políticas Públicas utilizando esta linguagem de programação.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.