Visualização de Dados com Pandas

Pandas é sem dúvida a biblioteca de análise e manipulação de dados mais popular em Python. Torna extremamente fácil manipular dados na forma tabular. As várias funções dos Pandas constituem uma poderosa e versátil ferramenta de análise de dados.

A visualização de dados é uma parte essencial da análise de dados exploratórios. É mais eficaz do que números simples ao fornecer uma visão geral ou resumo de dados. As visualizações de dados nos ajudam a entender a estrutura subjacente dentro de um conjunto de dados ou explorar as relações entre variáveis.

Pandas não é uma biblioteca de visualização de dados, mas é capaz de criar gráficos básicos. Se você está apenas criando gráficos para análise exploratória de dados, o Pandas pode ser muito útil e prático. Você não precisa usar uma biblioteca de visualização de dados adicional para essas tarefas.

Neste artigo, criaremos váriosp plots usando apenas Pandas. Nosso objetivo é explorar o conjunto de dados de habitação melbourne disponível no Kaggle.

Vamos começar importando bibliotecas e lendo o conjunto de dados em um dataframe.

import numpy as np
import pandas as pd
df = pd.read_csv("/content/melb_data.csv", usecols = ['Price', 'Landsize','Distance','Type','Regionname'])df = df[df.Price < 3_000_000].sample(n=1000).reset_index(drop=True)df.head()

O parâmetro usecols da função read_csv permite a leitura apenas das colunas dadas do arquivo csv. Eu também filtrado os outliers em relação ao preço. Finalmente, uma amostra aleatória de 1000 observações é selecionada usando a função amostral.

Podemos começar com a criação de um gráfico de dispersão das colunas de preço e distância. Um gráfico de dispersão é usado principalmente para verificar a correlação entre duas variáveis contínuas.

Podemos usar a função plot de Pandas para criar muitos tipos diferentes de visualizações. O tipo de parcela é especificado com o parâmetro tipo.

df.plot(
x='Distance',
y='Price',
kind='scatter',
figsize=(10,6),
title='House Prices in Melbourne')

Não observamos uma forte correlação entre o preço e a distância. No entanto, há uma ligeira correlação negativa para as casas com preços mais baixos.

Outro tipo de parcela comumente usado na análise de dados exploratórios é o histograma. Divide a faixa de valor de uma variável contínua em lixeiras discretas e conta o número de observações (ou seja, linhas) em cada caixa. Assim, temos uma visão geral estruturada da distribuição da variável.

O código a seguir gera um histrograma de preços.

df['Price'].plot(
kind = 'hist',
figsize = (10,6),
title = 'Distribution of House Prices in Melbourne')

A maioria das casas custa entre 500 mil e 1 milhão. Como você notou, aplicamos a função de gráfico a uma série (df [‘Preço’]). Dependendo do tipo de gráfico, podemos usar a função de gráfico com dataframe ou série.

Os boxplots podem demonstrar a distribuição de uma variável. Eles mostram como os valores são distribuídos por meio de quartis e outliers. Podemos usar a função boxplot do Pandas da seguinte maneira.

df.boxplot(
column = 'Price',
by = 'Type',
figsize = (10,6))

Este boxplot representa uma distribuição dos preços das casas. O parâmetro “by” agrupa os pontos de dados pela coluna fornecida. Passamos a coluna Type para o parâmetro by para que possamos ver a distribuição separadamente para cada tipo.

As casas do tipo “h” são mais caras que as outras em geral. Os outliers (ou seja, valores extremos) são representados com pontos. A altura das caixas é proporcional ao quanto os valores estão espalhados. Assim, caixas mais altas indicam mais variação.

Uma vantagem de usar o Pandas para criar visualizações é que podemos encadear funções de análise de dados e funções de plotagem. Isso meio que simplifica a tarefa. Por exemplo, as funções groupby e plot.bar podem ser usadas para criar um gráfico de barras dos preços médios das casas em diferentes regiões.

Primeiro agrupamos os preços por nome de região e calculamos a média. Então, a função plot.bar é aplicada ao resultado.

df[['Regionname','Price']].groupby('Regionname').mean().sort_values(by='Price', ascending=False).plot.bar(figsize=(10,6), rot=45, title='Average house prices in different regions')

A função sort_values pode ser usada para classificar os resultados em ordem ascendente ou descendente para fazer a trama parecer melhor. As casas mais caras estão localizadas na região metropolitana sul.

Conclusão

Vimos como pandas podem ser usados como uma ferramenta de visualização de dados. Está muito além das bibliotecas dedicadas de visualização de dados, como Seaborn e Matplotlib. No entanto, pandas oferece uma maneira mais prática de criar parcelas básicas durante o processo de análise exploratória de dados.

Obrigado.

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store