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:
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!
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.
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)
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.
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)
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'))
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'))
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'))
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.
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'))
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.
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.
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.
Para acessar outras publicações de Python, clique aqui!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.