Olá! Meu nome é Mirla Costa vou te acompanhar neste curso de Data Visualization: estilização de tabelas com Python!
Autodescrição: Sou uma mulher branca, de cabelos cacheados e pretos na altura dos ombros. Uso um óculos de grau de armação redonda e visto uma camisa bege com estampas de folhas. Ao meu fundo, há uma parede lisa arroxeada.
Esse curso é feito para pessoas que desejam aprender a construir visualizações mais interativas, interessantes e até mais bonitas do que aquelas tabelas padrão, tudo isso utilizando Pandas.
Nós vamos construir uma visualização para contribuir em diversos setores dentro de uma grande loja de departamentos online. Para fazer isso, aprenderemos a construir um objeto de estilização, destacar elementos e adicionar visualizações em uma tabela. Além disso, aprenderemos também a realizar diversas interações e construir tabelas formais com Pandas.
Junto a isso, vamos pensar em como mostrar esses dados da melhor forma possível para os departamentos. Então, ao final do curso, saberemos como fazer tabelas chamativas, com uma boa apresentação, além de nos aprofundar nos conteúdos de Data Visualization.
Para ter um bom aproveitamento desse curso, é recomendado que já tenha conhecimento em Python e na biblioteca Pandas. Vamos lá?
Nós trabalhamos com dados em uma grande loja de departamentos online e nos foi repassado um conjunto de dados referente a um relatório de vendas dos anos de 2016 a 2019. A partir deste relatório, temos o objetivo de criar visualizações para vários setores dessa loja de departamento a fim de conseguirmos transmitir essas informações.
Para construirmos essas visualizações e passar essas informações, primeiro precisamos preparar nossos dados. Então, vamos começar!
Nas atividades, temos um notebook para download. Baixe-o e faça seu upload no Google Colab.
Com o notebook aberto no Google Colab, pronto para ser utilizado, a primeira seção que vemos é a de coleta e preparação de dados. Note que nossa primeira linha é um pip install
.
Para fazer esse projeto, utilizaremos a versão 2.0 do Pandas, uma das versões mais estáveis e atuais. Vamos fazer o download dessa versão agora em nosso notebook usando o comando:
!pip instal pandas==2.0.0
Vamos executar essa célula teclando "Shift + Enter" e aguardar o download ser concluído.
Finalizado o download, faremos o upload do nosso relatório, onde constam os dados com os quais trabalharemos. Para isso, clicamos em "Arquivos", último ícone do menu lateral, e vamos em "Fazer upload para o armazenamento da sessão". Em seguida, selecionamos o arquivo "relatorio_vendas.csv", que foi disponibilizado para que você fizesse o download.
Após o upload ser concluído, clicamos nos três pontinhos do lado direito do nome do arquivo e em "Copiar caminho". Fazendo isso, teremos o caminho salvo na nossa área de transferência. Podemos, então, fechar a aba de arquivos e minimizar a visualização.
Na célula seguinte, faremos a importação do Pandas e leremos esse arquivo:
import pandas as pd
df = pd.read_csv('/content/relatorio_vendas.csv')
df
Neste comando, apelidamos o Pandas como "pd" e lemos o nosso arquivo CSV o transformando em um dataframe. Note que passamos o caminho do arquivo entre parênteses. Por fim, chamamos o dataframe para visualizá-lo.
Visualização dos primeiros 5 registros das 5 primeiras colunas.
data_pedido | modo_envio | nome_cliente | segmento_cliente | cidade | |
---|---|---|---|---|---|
0 | 2018-11-09 | Econômica | Thiago Silveira | B2C | Ribeirão Preto |
1 | 2018-11-09 | Econômica | Thiago Silveira | B2C | Ribeirão Preto |
2 | 2018-06-13 | Econômica | Giovanna Lima | B2B | Rio de Janeiro |
3 | 2017-10-12 | Entrega padrão | Ana Júlia da Cruz | B2C | Foz do Iguaçu |
4 | 2017-10-12 | Entrega padrão | Ana Júlia da Cruz | B2C | Foz do Iguaçu |
Agora, temos o conjunto de dados desse relatório de vendas, com várias colunas e dados. Lembrando que esse conjunto de dados já está limpo, então não precisamos nos preocupar com possíveis dados nulos. Só precisamos verificar se todos os dados presentes nesse estão corretamente tipados. Por exemplo, a coluna "vendas" deve ter valores do tipo float.
Além disso, o significado de cada uma dessas colunas está presente nas atividades deste curso. Se você quer saber o que representa cada conjunto de dados de cada coluna desse dataframe, confira as atividades.
Na célula seguinte, vamos verificar os tipos de dados de cada coluna desse dataframe. Para fazer isso, nós utilizamos o .info()
. Então, vamos colocar df.info()
e pressionar "Shift + Enter" para executar a célula.
df.info()
As colunas que precisam ser numéricas, "vendas", "quantidade" e "lucro", são de fato numéricas, tipadas como float, int e float, respectivamente. No entanto, a coluna "data_pedido", possui dados de datas, mas está tipada como object e não como date time.
Precisamos transformar a coluna "data_pedido" para o tipo date time. Para isso, na célula seguinte, chamamos o dataframe df
passando o nome da coluna em questão entre colchetes e aspas simples ['data_pedido']
. Depois igualamos a pd.to_datetime()
, passando o dataframe com a coluna em questão, df['data_pedido']
, a fim de convertâ-la para date time.
df['data_pedido'] = pd.to_datetime(df['data_pedido'])
Teclamos "Shift + Enter", aguardamos um pouco e solicitamos a visualização dos dados novamente.
df.info()
Note que, agora, a coluna "data_pedido" está tipada como datetime. Nossos dados estão prontos e preparados para construir as nossas visualizações.
Para entregar a informação para os outros setores, vamos separar esses projetos de visualização por missões. Nessa aula, vamos dar início à nossa primeira missão: a do time de vendas.
O time de vendas precisa saber quais os 10 maiores clientes por total em vendas, pois isso permitirá que a equipe trace planos e projetos para manter esses clientes comprando em nossa loja. Sendo assim, um ranking com os top 10 maiores clientes por venda pode satisfazer essa necessidade. Façamos isso!
No Colab, vamos para seção "Missão 1: Time de vendas", na qual construiremos a primeira parte desse projeto de visualização que consiste na estruturação dos nossos dados. Não podemos enviar um dataframe completo para o time de vendas e esperar que eles entendam. O ideal é estruturar um dataframe adjacente ao dataframe principal, que possua o conjunto de dados responsável por uma informação específica. Pensando nisso, vamos construir uma tabela com o ranking dos nossos clientes.
Para podermos fazer esse agrupamento dos nomes de clientes por vendas, podemos utilizar .groupby
. Então, vamos gerar um novo dataframe chamado df_cliente_vendas
que será igual a df.groupby()
.
Nós vamos agrupar a quantidade de vendas pela coluna de nomes de clientes. Ou seja, somaremos os valores de venda para cada ocorrência de determinado cliente, assim, poderemos verificar qual é o maior cliente. A coluna que será agrupada é nome_cliente
, então a passamos para .groupby()
entre colchetes e aspas simples.
df_clientes_vendas = df.groupby(['nome_cliente])
Em seguida, fora do groupby()
, colocamos colchetes novamente e incluímos vendas
entre aspas simples. Para fazer a soma, usamos .sum()
.
df_cliente_vendas = df.groupby(['nome_cliente])['vendas'].sum()
Agora, podemos ranquear esses dados com o método .nlargest()
.
df_cliente_vendas = df.groupby(['nome_cliente])['vendas'].sum().nlargest()
Em .nlargest()
, especificamos quantas amostras serão ranqueadas. No caso, 10, que corresponde aos 10 maiores clientes.
df_cliente_vendas = df.groupby(['nome_cliente])['vendas'].sum().nlargest()
Para finalizar, colocaremos .copy()
para não termos nenhum erro nas próximas atualizações do Pandas.
df_cliente_vendas = df.groupby(['nome_cliente])['vendas'].sum().nlargest().copy()
Para tornar isso em um dataframe, usaremos reset_index()
e resetaremos os index que devem constar no dataframe.
df_cliente_vendas = df_cliente_vendas.reset_index()
Em seguida, chamamos df_cliente_vendas
para visualizá-lo.
Nossa célula de comando ficará assim:
df_cliente_vendas = df.groupby(['nome_cliente])['vendas'].sum().nlargest().copy()
df_cliente_vendas = df_cliente_vendas.reset_index()
df_cliente_vendas
Vamos teclar "Shift + Enter" para executar.
Visualização dos 5 primeiros registros das 2 colunas.
nome_cliente | vendas | |
---|---|---|
0 | Maria Luiza Almeida | 64777.54 |
1 | Ana Julia Pinto | 51396.95 |
2 | Ryan Farias | 48178.94 |
3 | Heitor da Mata | 47610.85 |
4 | Maria Clara Gonçalves | 46946.42 |
Note que temos uma tabela que ranquea os nossos maiores clientes pelo total de vendas.
Podemos fazer algumas alterações como, por exemplo, alterar o nome da coluna "nome_cliente" para "Clientes" e "vendas" para "Vendas", utilizando a primeira letra em maiúsculo. Além disso, um ranking normalmente não começa em 0, mas em 1. Então, podemos ajustar esses index para que fiquem da forma que precisamos.
Na célula seguinte, ajustaremos o nome das nossas colunas. Para isso, chamamos o dataframe df_cliente_vendas.columns
e armazenamos uma lista com os nomes das duas colunas.
df_cliente_vendas.columns = ['Clientes', 'Vendas']
Em seguida, criaremos uma nova coluna que será a dos números de ranking. Nós a chamaremos de "Ranque" e atribuiremos a ela os números do index do dataframe somados a 1.
df_cliente_vendas['Ranque'] = df_cliente_vendas.index + 1
Agora nós temos a coluna "Ranque", podemos transformá-la em índice. Para fazer isso, utilizamos o método set_index()
.
df_cliente_vendas.set_index('Ranque', inplace=True)
Por fim, podemos fazer uma nova do dataframe.
df_cliente_vendas
Nossa célula de comando ficará assim:
df_cliente_vendas.columns = ['Clientes', 'Vendas']
df_cliente_vendas['Ranque'] = df_cliente_vendas.index + 1
df_cliente_vendas.set_index('Ranque', inplace=True)
df_cliente_vendas
Visualização dos 5 primeiros registros das 2 colunas.
Ranque | Clientes | Vendas |
---|---|---|
1 | Maria Luiza Almeida | 64777.54 |
2 | Ana Julia Pinto | 51396.95 |
3 | Ryan Farias | 48178.94 |
4 | Heitor da Mata | 47610.85 |
5 | Maria Clara Gonçalves | 46946.42 |
Temos o nosso dataframe pronto para ser transformado em uma visualização para a equipe de vendas. É o que faremos a seguir!
O curso Data Visualization: estilização de tabelas com Python possui 126 minutos de vídeos, em um total de 50 atividades. Gostou? Conheça nossos outros cursos de Data Visualization em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.
Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.
Emitimos certificados para atestar que você finalizou nossos cursos e formações.
Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.
Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.
Emitimos certificados para atestar que você finalizou nossos cursos e formações.
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.
Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.
Acesso completo
durante 1 ano
Estude 24h/dia
onde e quando quiser
Novos cursos
todas as semanas