Blog

Postado em em 23 de outubro de 2023

Diferentes Visualizações de Tabela no Python

Aprenda sobre os diferentes tipos de visualizações de tabela no Python, como elas são e quais opções você pode utilizar.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Diferentes Visualizações de Tabela no Python

Na aula de hoje, eu quero te mostrar os diferentes tipos de visualizações de tabela no Python, quais são elas e como você pode utilizá-las.

Veremos a visualização de tabelas em um arquivo do Jupyter Notebook, onde faremos uso da função Display. Além disso, abordaremos a opção de utilizar a biblioteca Tabulate para arquivos .py, que são comumente usados em editores Python.

Por fim, aprenderemos como transformar uma tabela em um arquivo HTML, tornando-a mais visual e fácil para a visualização das informações no navegador.

Não se esqueça de fazer o download do material disponível, onde temos os códigos que utilizaremos como exemplo para verificar os diferentes tipos de visualizações de tabela no Python, e vamos começar!

Tipos de Arquivos .py e .ipynb

Quando trabalhamos com Python, geralmente nos deparamos com dois principais formatos de arquivos: os arquivos .py e os arquivos .ipynb.

Os arquivos com a extensão .py são os arquivos padrões de Python, e é provável que você já tenha tido contato com eles. Esses arquivos podem ser executados por qualquer interpretador Python.

Por outro lado, os arquivos com a extensão .ipynb são notebooks interativos criados usando o Jupyter Notebook. Esses arquivos são compostos por textos formatados, elementos gráficos e código executável. Isso significa que eles podem conter células com código Python, Markdown e as saídas dos códigos.

O Jupyter Notebook é amplamente utilizado em áreas como análise de dados, machine learning e ciência de dados, devido à sua versatilidade em permitir a inclusão de explicações, visualizações e código executável em um único local.

Para esta aula, vou utilizar o VS Code, pois ele permite tanto executarmos os arquivos .py, quanto os arquivos .ipynb, utilizando uma extensão do Jupyter Notebook.

Visualizações de Tabela no Python Usando Jupyter Notebook

Como mencionei anteriormente, os profissionais da área de dados costumam preferir o Jupyter Notebook por diversas razões, incluindo a facilidade de visualização das informações.

Vamos pegar um exemplo simples para entender como é feita essa visualização no Jupyter Notebook:

import pandas as pd

tabela = pd.read_csv("base.csv")

display(tabela)
Display

Trabalhando com um arquivo .ipynb, temos à nossa disposição a função display, que é nativa dentro do Jupyter Notebook e permite a visualização característica de uma tabela.

Visualizações de Tabela no Python – Print e Tabulate

Ao contrário dos arquivos .ipynb do Jupyter Notebook, em um arquivo Python padrão com extensão .py, não temos a função display para visualizar tabelas. Nesse caso, a alternativa é printar a tabela.

import pandas as pd

tabela = pd.read_csv("base.csv")

print(tabela)
Print tabela

Como podemos observar, ao usar o print, não obtemos uma visualização tão bem estruturada quanto a obtida com o display. Ainda é possível visualizar e entender os dados, mas a apresentação é mais simples e dificulta a compreensão das informações.

Quando nos deparamos com essa situação, uma alternativa é usar a biblioteca Tabulate. Ela nos permite formatar as tabelas presentes em nossos arquivos. Essa formatação pode ser aplicada a tabelas do Pandas, listas de listas e até mesmo dicionários.

O primeiro passo é instalar a biblioteca executando o comando abaixo no terminal do seu editor de código:

pip install tabulate

Caso você não tenha o Pandas instalado, também precisará executar o seguinte comando:

pip install pandas

Feito isso, basta importar a biblioteca para o seu código:

from tabulate import tabulate

Agora podemos visualizar cada um dos exemplos de visualizações com a biblioteca Tabulate. Vamos começar com uma lista de listas:

from tabulate import tabulate

lista = [
    ["Produto", "Preço", "Qtde"],
    ["Iphone", 6000, 50],
    ["Ipad", 10000, 15],
    ["Airpod", 2000, 100]
]

print(tabulate(lista, headers= 'firstrow'))
Print tabulate

Observe que, ao usar o tabulate, fazemos um print do resultado da função tabulate, passando como parâmetros a lista que desejamos exibir e o cabeçalho (headers), que pode ser uma nova lista ou a primeira linha (firstrow) da lista que você está passando.

Além disso, é possível personalizar ainda mais o formato da sua tabela, passando para a função tabulate o parâmetro tablefmt. Esses formatos, você pode verificar na documentação da biblioteca.

from tabulate import tabulate

lista = [
    ["Produto", "Preço", "Qtde"],
    ["Iphone", 6000, 50],
    ["Ipad", 10000, 15],
    ["Airpod", 2000, 100]
]

print(tabulate(lista, headers= 'firstrow', tablefmt='fancy_grid'))
Tabulate formatado

Para utilizarmos a função tabulate com um dicionário, basta fazer algumas alterações nos parâmetros que você passará. Primeiro, passe o dicionário e para o headers (cabeçalho) passa o valor de ‘keys’, já que, para um dicionário, as chaves são os cabeçalhos.

from tabulate import tabulate

dic_produtos = {
    "Produto": ["Iphone", "Ipad", "Airpod"],
    "Preço": [6000, 10000, 2000],
    "Qtde": [50, 15, 100]
}

print(tabulate(dic_produtos, headers='keys', tablefmt='fancy_grid'))
Tabulate dicionário

O mesmo princípio se aplica quando estamos trabalhando com uma tabela Pandas.

from tabulate import tabulate
import pandas as pd

tabela = pd.read_csv("base.csv")

print(tabulate(tabela.head(), headers='keys', tablefmt='fancy_grid'))

Como temos uma tabela muito extensa, estamos passando tabela.head() como parâmetro para visualizar apenas os primeiros elementos da tabela. No entanto, dependendo do tamanho da sua tabela, você pode passar a tabela completa.

tabulate dataframe

Observe que a visualização da tabela pode ficar desorganizada, pois nossa tabela possui muitas colunas, o que ultrapassa o tamanho disponível para exibir no terminal. Mas, se a tabela for menor, a visualização funcionará normalmente. Vamos fazer isso com apenas algumas colunas:

from tabulate import tabulate
import pandas as pd

tabela = pd.read_csv("base.csv")

colunas = ["CustomerID", "idade", "sexo"]
print(tabulate(tabela[colunas].head(), headers='keys', tablefmt='fancy_grid'))
tabulate dataframe reduzido

Dessa forma, conseguimos uma visualização adequada da nossa tabela. No entanto, observe que, mesmo com a tabulate, a visualização pode ser limitada, dependendo do tamanho do dataframe, e não será tão adaptável quanto a função display permite.

Visualizações de Tabela no Python – Tabela em HTML

Por fim, outra maneira de visualizar uma tabela no Python é convertendo-a em um arquivo HTML.

Dessa forma, você pode visualizar a tabela completa no seu navegador. Para tornar o exemplo mais simples, vou usar novamente tabela.head(100) para pegar apenas os 100 primeiros itens, mas você pode fazer o mesmo para a tabela completa.

from tabulate import tabulate
import pandas as pd

tabela = pd.read_csv("base.csv")

tabela.head(100).to_html("tabela.html")

Ao executar este código, será gerado um arquivo chamado tabela.html, que, ao ser aberto, permitirá que você visualize a tabela diretamente no navegador do seu computador.

Tabela no HTML

Conclusão – Diferentes Visualizações de Tabela no Python

Na aula de hoje você aprendeu sobre as diferentes visualizações de tabela no Python e como utilizá-las em seus projetos.

Exploramos as diferenças entre os arquivos .ipynb e .py, bem como as opções de visualizações de tabela no Python associadas a cada um deles.

Além disso, te mostrei como utilizar a biblioteca Tabulate para criar tabelas visualmente mais atraentes e de fácil compreensão. Também demonstrei como converter uma tabela em um arquivo HTML, permitindo a visualização no seu navegador.

Agora, você está bem preparado para escolher o editor e o tipo de arquivo que melhor atendem às suas necessidades ao trabalhar com tabela no Python e dados que exigem análise e visualização.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador