Como Plotar um DataFrame usando Pandas
Updated on
A visualização de dados é uma habilidade essencial para qualquer pessoa que trabalhe com dados. Isso ajuda a obter insights sobre os dados, apresentar resultados de forma mais eficaz e comunicar informações complexas de maneira simples e visual. Neste guia, mostraremos como plotar um DataFrame usando o Pandas, uma poderosa ferramenta de análise de dados em Python.
Quer criar rapidamente visualizações de dados em Python?
PyGWalker é um projeto Open Source em Python que ajuda a acelerar o fluxo de trabalho de análise e visualização de dados diretamente em ambientes baseados em Jupyter Notebook.
PyGWalker (opens in a new tab) transforma seu DataFrame do Pandas (ou DataFrame do Polars) em uma interface visual na qual você pode arrastar e soltar variáveis para criar gráficos com facilidade. Basta usar o seguinte código:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Você pode executar o PyGWalker agora mesmo com esses notebooks online:
E não se esqueça de dar uma ⭐️ no GitHub!
O que é Pandas?
Pandas é uma biblioteca open-source que fornece estruturas de dados de alta performance e ferramentas de análise de dados fáceis de usar para Python. É construída em cima do Matplotlib (opens in a new tab), uma biblioteca popular de plotagem em Python, e oferece uma interface amigável para criar uma variedade de gráficos.
Quais são os benefícios de usar o Pandas para visualização de dados?
O Pandas oferece várias vantagens para a visualização de dados, incluindo:
- Fácil manipulação de grandes conjuntos de dados
- Integração com outras bibliotecas do Python
- Uma ampla variedade de tipos de gráficos
- Personalização para visualizações complexas
Quais são os diferentes tipos de gráficos que podem ser criados com Pandas?
O Pandas suporta uma ampla variedade de tipos de gráficos, incluindo:
- Gráficos de linha
- Gráficos de barras
- Histogramas
- Gráficos de caixa
- Gráficos de dispersão
- Gráficos de hexbin
- Gráficos de área
- Gráficos de pizza
Como importar bibliotecas e conjuntos de dados no Pandas?
Antes de começar a plotar, você precisará importar as bibliotecas necessárias e carregar seu conjunto de dados. Aqui está um exemplo de como importar o Pandas e ler um arquivo CSV:
import pandas as pd
data = pd.read_csv('data.csv')
O que é um gráfico de linha no Pandas?
Um gráfico de linha é um tipo de gráfico que exibe informações como uma série de pontos de dados conectados por segmentos de linha reta. É útil para visualizar tendências e relações entre variáveis ao longo do tempo.
Aqui está um exemplo de como criar um gráfico de linha simples no Pandas:
data.plot(kind='line', x='date', y='price')
Como criar um gráfico de barras no Pandas?
Um gráfico de barras é um tipo de gráfico que exibe dados usando barras retangulares, onde o comprimento das barras representa os valores dos dados. É útil para visualizar dados categóricos e comparar valores entre categorias.
Aqui está um exemplo de como criar um gráfico de barras simples no Pandas:
data.plot(kind='bar', x='category', y='value')
Agora que você tem uma compreensão básica do Pandas e suas capacidades de plotagem, vamos mergulhar em alguns exemplos mais avançados.
Exemplo 1: Gráfico de Linha de Preços de Ações Mensais
Neste exemplo, plotaremos os preços mensais de ações de três gigantes da tecnologia: Facebook, Microsoft e Apple. Primeiro, vamos importar as bibliotecas necessárias e carregar os dados das ações:
import pandas as pd import matplotlib.pyplot as plt stock_data = pd.read_csv('stock_data.csv')
Em seguida, resamplemos os dados para obter o preço médio das ações para cada mês:
monthly_data = stock_data.resample('M', on='Date').mean()
Por fim, plotamos os preços mensais das ações para cada empresa:
monthly_data.plot(kind='line', x='Date', y=['Facebook', 'Microsoft', 'Apple'])
plt.title('Preços Mensais das Ações do Facebook, Microsoft e Apple')
plt.xlabel('Data')
plt.ylabel('Preço das Ações')
plt.legend(['Facebook', 'Microsoft', 'Apple'])
plt.show()
Este gráfico mostra as tendências de preço das ações mensais do Facebook, Microsoft e Apple, permitindo-nos comparar o desempenho das empresas ao longo do tempo.
Exemplo 2: Gráfico de Barras de Vendas de Produtos
Neste exemplo, criaremos um gráfico de barras para visualizar as vendas de diferentes produtos em uma loja. Primeiro, vamos importar as bibliotecas necessárias e carregar os dados de vendas:
import pandas as pd import matplotlib.pyplot as plt sales_data = pd.read_csv('sales_data.csv')
Em seguida, agregamos os dados de vendas por produto:
sales_data_by_product = sales_data.groupby('Product').sum()['Sales']
Por fim, criamos um gráfico de barras simples para visualizar as vendas por produto:
sales_data_by_product.plot(kind='bar')
plt.title('Vendas por Produto')
plt.xlabel('Produto')
plt.ylabel('Vendas (em dólares)')
plt.show()
Este gráfico mostra as vendas de cada produto na loja, permitindo-nos comparar seu desempenho em termos de vendas.```python product_sales = sales_data.groupby('Product')['Sales'].sum()
Agora, criaremos um gráfico de barras para visualizar as vendas de cada produto:
```python
product_sales.plot(kind='bar')
plt.title('Vendas por Produto')
plt.xlabel('Produto')
plt.ylabel('Vendas')
plt.show()
Esse gráfico de barras exibe as vendas de cada produto, tornando fácil identificar os produtos mais vendidos na loja.
Exemplo 3: Personalizando Gráficos no Pandas
O pandas permite que você personalize seus gráficos de várias maneiras, como alterar cores, adicionar rótulos e ajustar o tamanho do gráfico. Aqui está um exemplo de como personalizar um gráfico de linha no Pandas:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
data.plot(kind='line', x='date', y='price', figsize=(10, 6), color='red', linestyle='dashed', linewidth=2)
plt.title('Gráfico de Linha Personalizado')
plt.xlabel('Data')
plt.ylabel('Preço')
plt.show()
Neste exemplo, personalizamos o gráfico de linha alterando a cor para vermelho, usando um estilo de linha tracejada e definindo a largura da linha como 2. Também ajustamos o tamanho do gráfico usando o parâmetro figsize
.
Exemplo 4: Plotando DataFrame do Pandas com Múltiplos Eixos
Às vezes, você pode querer exibir vários gráficos dentro da mesma figura. O Pandas torna fácil criar subplots usando o parâmetro subplots
. Aqui está um exemplo de como criar uma grade 2x2 de subplots:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
fig, axes = plt.subplots(2, 2, figsize=(10, 6))
data.plot(kind='line', x='date', y='price', ax=axes[0, 0])
data.plot(kind='bar', x='category', y='value', ax=axes[0, 1])
data.plot(kind='scatter', x='date', y='price', ax=axes[1, 0])
data.plot(kind='hist', y='price', ax=axes[1, 1])
plt.tight_layout()
plt.show()
Neste exemplo, criamos uma grade 2x2 de subplots, cada um contendo um tipo diferente de gráfico.
Exemplo 5: Adicionando Barras de Erro ao Gráfico Pandas
Barras de erro são úteis para exibir a variabilidade ou incerteza dos pontos de dados em um gráfico. Aqui está um exemplo de como adicionar barras de erro a um gráfico de barras no Pandas:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
data.plot(kind='bar', x='category', y='value', yerr='error')
plt.title('Gráfico de Barras com Barras de Erro')
plt.xlabel('Categoria')
plt.ylabel('Valor')
plt.show()
Neste exemplo, adicionamos barras de erro ao gráfico de barras usando o parâmetro yerr
, que recebe o nome da coluna que contém os valores de erro.
Exemplo 6: Personalizando a Legenda no Gráfico Pandas
Você pode personalizar a legenda em um gráfico Pandas ajustando sua posição, tamanho e outras propriedades. Aqui está um exemplo de como personalizar a legenda em um gráfico de linha:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
ax = data.plot(kind='line', x='date', y='price')
ax.legend(loc='upper right', fontsize=12, title='Preço', title_fontsize=14, frameon=False)
plt.title('Gráfico de Linha com Legenda Personalizada')
plt.xlabel('Data')
plt.ylabel('Preço')
plt.show()
Neste exemplo, personalizamos a legenda definindo sua localização no canto superior direito, alterando o tamanho da fonte para 12, adicionando um título, definindo o tamanho da fonte do título como 14 e removendo a moldura ao redor da legenda.
Exemplo 7: Lidando com Dados Categóricos no Gráfico Pandas
O Pandas torna fácil lidar com dados categóricos ao criar gráficos. Aqui está um exemplo de como criar um gráfico de barras usando dados categóricos:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('categorical_data.csv')
data['category'] = data['category'].astype('category')
data.plot(kind='bar', x='category', y='value')
plt.title('Gráfico de Barras com Dados Categóricos')
plt.xlabel('Categoria')
plt.ylabel('Valor')
plt.show()
Neste exemplo, convertemos a coluna 'category' em um tipo de dado categórico usando o método astype
, que permite que o Pandas trate corretamente os dados categóricos ao criar o gráfico de barras.
Exemplo 8: Plotando Dados com Escalas Diferentes em Múltiplos Eixos
Às vezes, você pode querer plotar dados com escalas diferentes na mesma figura. Você pode fazer isso no Pandas usando vários eixos. Aqui está um exemplo de como criar um gráfico de linha com dois eixos y:
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
fig, ax1 = plt.subplots()
ax1.plot(data['date'], data['price'], color='blue', label='Preço')
ax1.set_xlabel('Data')
ax1.set_ylabel('Preço', color='blue')
ax1.tick_params(axis='y', labelcolor='blue')
ax2 = ax1.twinx()
ax2.plot(data['date'], data['volume'], color='red', label='Volume')
ax2.set_ylabel('Volume', color='red')
ax2.tick_params(axis='y', labelcolor='red')
fig.legend(loc='upper right')
plt.title('Gráfico de Linha com Dois Eixos Y')
plt.show()
Neste exemplo, criamos um gráfico de linha com dois eixos y, um para o preço e um para o volume. Os dados de preço são plotados em azul no eixo y esquerdo, enquanto os dados de volume são plotados em vermelho no eixo y direito.
Conclusão
Com esses exemplos de código, você agora deverá ter uma compreensão sólida de como plotar um DataFrame usando o Pandas. Seja você um iniciante ou um especialista, esses exemplos devem ajudá-lo a criar visualizações bonitas, informativas e envolventes que permitirão entender e comunicar melhor seus dados.
Mais Tutoriais do Pandas: