Olá, bem-vindo, bem-vinda à nossa terceira aula da imersão de dados com o Python. E aqui agora a gente vai começar a criar gráficos, plotar eles, fazer gráfico de barra, gráfico de pizza, fazer análises muito mais visuais baseado naquela base de dados de salários de quem trabalha na área de dados. E lembre-se, no final dessa aula a gente vai dar uma senha, que é a senha que você tem que anotar para você conseguir emitir o seu certificado no final da imersão. E se você tiver dúvidas, quiser conhecer pessoas, quiser fazer coisas diferentes e mostrar o que
você está fazendo, ali no nosso Discord é o lugar perfeito para isso. Você consegue conhecer pessoas, ver o que outras pessoas estão fazendo e trocar ideia, o link está aqui junto desse vídeo. Vamos lá então, gente? Bora para a aula 3. Recapitulando, na aula anterior, a gente fez todo aquele processo de tratamento dos dados, removemos os dados nulos, também tratamos aquela coluna que tinha ali o ano, transformando os dados do tipo float inteiro e agora está tudo certinho. E veio para a parte que eu gosto muito, eu curto demais plotar os gráficos, eu acho que
criar visualizações torna o processo muito mais interessante para quem está vendo ali o que você fez, né? Perfeito, concordo bastante, Val. No mundo corporativo, esse é um passo, porque o primeiro e o segundo passo são super críticos, o que nós vimos na primeira, na aula 1 e na aula 2, mas eles são Um pouco mais o que acontece embaixo do capô, quem está ali trabalhando e mexendo nos dados. Mas é nesse momento que você já tem o dado organizado e limpo, que você precisa entregar valor para quem vai tomar decisão na hora da empresa. Os
stakeholders, os executivos que vão olhar aqueles dados e falar "Poxa, com isso eu consigo, me ajuda ali na tomada de decisão". Só que eles não vão abrir o Python, abrir aqui o Colab, a ideia é que você mostre os gráficos para que fique mais fácil essa análise do que está acontecendo e aí, consequentemente, tomar a decisão. Então, esse é um passo super importante agora e vamos ver como é que funciona. Vamos lá, vamos lá, eu estou ansioso para aprender aqui junto. Tudo bem. Vamos começar de novo checando as primeiras linhas dos nossos dados para relembrar
o que a gente tem de informação? Vamos lá, então é o nosso DF limpo, né, underline limpo, no caso. A gente pode dar um .head aí. Legal. Maravilha! Então a gente tem essas informações aí, senioridade, contrato, cargo, salário, etc. A gente pode começar aqui já testando um negócio que é bem simples de implementar, que é plotar um gráfico com a própria biblioteca Pandas, porque além de ter uma biblioteca usada para criar as tabelas que são os data frames, fazer uma série de análises, ela também é capaz de criar gráficos. É claro que a gente não
tem uma capacidade muito grande de customizá-los, mas é possível já criar um gráfico de uma forma bem rápida. Perfeito! Uma ideia que eu traria aqui é pegar essa coluna que a gente tem ali o nível de experiência e mostrar qual é a contagem dos valores ali das categorias que a gente tem dentro dela. Lembra? Senioridades que a gente tinha ali o nível sênior, pleno, executivo, etc. Vamos tentar plotar isso? Vamos lá! Para conseguir fazer isso, como que a gente faz, né Vinícius? A gente precisa acessar a nossa coluna ali de interesse. Perfeito! Então como que
a gente acessa a coluna? Importante vocês ir Pensando um pouco antes de não só copiar, lembra que a gente falou, sempre tem o nome da nossa base de dados, que no caso é o DF limpo, né? Exato. E temos o nome da coluna que a gente quer trabalhar, então sempre o nome da base, DF limpo, entre colchetes, o nome da coluna que é senioridade, mas a gente faz com, Em que aspas, mais 50 anos, sempre o nome das variáveis entre aspas. Será que o pessoal lembra como a gente calcula a frequência das categorias, hein, Vinicius?
É, não sei não. A gente fez algo parecido lá no começo, na aula passada, como que tinha que contar valores, né? Então, a gente contou ali alguns valores na aula passada. Na primeira aula, na verdade. Na primeira aula, é verdade, na aula 1. E a gente usou a função aqui que chama valueCounts. Você lembrava a versão? Mais ou menos. Daqui a pouco ele já vai decorar tudo aí. É o value online count. Abre e fecha parênteses. E agora a gente vai falar, dar um outro comando aqui que é o plot. Então a gente chamou os
valores que a gente quer, a coluna daquela nossa base de dados. Agora a gente vai falar "plota esse gráfico". Então vai falar ".plot" e vai falar o tipo de dado que a gente quer. barra, que tipo de gráfico que a gente quer. Nesse caso, então, .plot, a gente vai abrir parênteses, que a gente vai passar os parâmetros que a gente quer. O primeiro ponto é o tipo, que é um kind. Ele até falou aqui também, kind igual, no caso a gente vai usar aqui para exemplificar, vamos usar o barra, que é um bar, entre parênteses,
vírgula, e aí outra informação que a gente pode colocar é um título para essa imagem que vai ser gerada. Então a gente põe title igual E entre aspas também, você coloca o nome que você quiser. Senioridade. Põe distribuição de senioridade, alguma coisa assim. Distribuição de senioridade. E aí é só rodar e vamos ver o que sai. Ele está marcando um pouco vermelho aqui, talvez esteja com algum erro, vamos ver. Vamos dar uma olhadinha. Ah, é porque você colocou o kind igual a bar e colocou um parênteses depois do bar. tem que tirar esse parênteses e
deixar ele lá no final. Vamos ver se agora vai dar certo. Esses parênteses são um negócio, né? E lembrando, a gente deu aquela dica, né? Deu problema aqui de parênteses, alguma coisa, pede para a IA dar uma revisada. Eu não preciso pedir porque tem duas pessoas incríveis aqui que sabem. Se você estiver sozinha, a IA ajuda você. Perfeito. E veio aí um gráfico, o gráfico de barras, que foi exatamente o que a gente pediu. Legal. Vamos entender esse gráfico, acho que você pode tirar um zoom um pouquinho, talvez, para a gente, Então, a gente tem
aqui, o gráfico vai ter o eixo X, que é o eixo aqui na horizontal, e o eixo Y na vertical, né? No eixo X, nós temos as nossas categorias, que são, então, sênior, pleno, júnior e executivo, e aí, no eixo Y, a gente tem a distribuição, ou seja, a contagem de cada categoria, a gente está indo aqui de 0 até 80.000, né? Perfeito. Temos o título ali em cima, temos um gráfico, né? É claro que aí vem aquela coisa, daria para customizar ele muito mais usando ferramentas mais apropriadas para isso. E aí eu já trago
aqui uma próxima dica para o pessoal, que são duas bibliotecas que são muito famosas para dados em Python. A gente tem a Matplotlib e tem a Seaborn. Aí a gente vai começar a usá-las agora para conseguir melhorar aqui os gráficos e deixar os resultados ainda mais legais. Legal. Bora lá então. bandas ela é limitada, a gente não consegue customizar a música. É, a gente consegue fazer uma coisa ou outra, mas se a gente quiser um nível mais legal assim de resultado, a gente tem essas outras que são mais voltadas para isso mesmo, e aí fica
mais bacana o resultado. Entendi, legal. Vamos começar com a Seaborne? Vamos, vamos lá. Uma coisa que eu acho que vale, talvez a gente dá uma discutida rápida antes de passar para as bibliotecas, que é um pouco do problema que a gente quer resolver. Então, obviamente, estamos numa imersão de dados com Python, então estamos aprendendo a usar, mas é sempre bom ter em mente porque que isso é importante. Então, aqui nós estamos analisando uma base que, como a gente falou na primeira aula, que veio do Kaggle, que é uma plataforma que tem várias bases de dados,
vários desafios lá que você pode Tem até competição, né? Competições, que você pode testar os seus conhecimentos, inclusive ganhar prêmios, então vale muito depois acessar. mas é uma base baseada numa base de dados real, um problema real, que é profissionais de dados no mundo, eu quero entender onde eles estão, quanto eles ganham, etc. Então, eu poderia talvez fazer um paralelo aqui, que é um problema de RH da empresa. Poxa, eu quero saber como que está a distribuição do meu time e entender salário, então esse poderia ser um dos tipos de problema de negócio que a
gente está resolvendo. E aí a gente começa a visualizar, aqui tentando fazer uma analogia, né, talvez a gente tenha um problema no futuro dessa empresa, porque eu tenho mais do que o dobro ou de sênior do que pleno, será que eu vou conseguir manter, e eu tenho poucos juniores, como que eu estou treinando, eu estou formando novas pessoas, não estou? Então essa pode ser um insight que a gente pode começar a tirar decisão, os dados é para isso, para começar a analisar e tirar insight e visualmente começa a ficar mais fácil de entender o que
está acontecendo, então isso é bem importante. E fica bem mais fácil de entender do que olhar uma tabela, por exemplo, né? Muito mais! Imagina uma tabela com 133 mil linhas, para você ficar no Excel olhando, acho que nem abre o Excel com essa quantidade de linhas. Eu até comentei com o Vinícius mais cedo, né, que quando eu trabalhava com dados no início, na minha iniciação científica, lá na época da faculdade, isso foi 2008, faz um tempinho aí já, eu mexia com o Excel, então era o dia inteiro, um monte de planilha lá, com muitas linhas
e usando o Python a gente consegue verificar porque é muito mais fácil trabalhar, com uma linha de código a gente consegue criar aqui um gráfico, então facilita muito a vida para automatizar coisas e, enfim, ter mais facilidade nos processos. Com certeza. Muito bem, então agora a gente vai usar essas outras libs que vocês mencionaram, né? Vamos lá, vamos aprender um pouquinho das outras bibliotecas e o que que elas podem nos ajudar. Uma das bibliotecas que é bastante conhecida e aval se for é a Seaborn. Vamos começar então por ela logo na sequência, acho que vale
a pena. Então, lembra que tudo que eu tenho que já está instalado no meu ambiente, que é o Google Colab, que nós escolhemos, que ele já tem um monte de coisa instalado, eu só importo e eu posso usar. Então, o Seaborne é uma delas, porque ela já é bem conhecida, então a gente só vai importar import, Seaborne, e aí sempre a gente dá um apelido, nesse caso o apelido mais usado de Seaborne é S-E, Então, importamos a biblioteca, está pronta para ser usada. Perfeito. E o legal dessa biblioteca, a gente consegue incrementar com ela os
gráficos com coisas estatísticas, a gente pode colocar, por exemplo, barra de padrão, dá para fazer um monte de coisa que não daria, né, usando só pandas. Então a gente poderia testar agora, ainda falando sobre esse nível de senioridade, calcular o salário médio para cada um dos níveis. Quanto será que, em média, o pessoal que é sênior está ganhando, o pessoal que é júnior, enfim, bora fazer isso daí? Então, para criar o gráfico vai ser bem simples, a gente vai chamar a biblioteca, né, que é a SNS, a gente apelidou ali, E a gente pode continuar
seguindo o mesmo tipo de gráfico, né Vinícius? Fazer um gráfico aqui de barras? É, só para seguir o padrão, vamos seguir com um gráfico de barra que vale a pena. E aí para isso ela tem uma função que é a barplot, serve então justamente para plotar um gráfico de barras. Ele até me sugeriu aqui já. Deixa eu ver o que ele sugeriu aí. É, vai ser mais ou menos isso, mas eu vou falando aqui. A gente então pode começar da seguinte forma: vamos definir primeiro quem são os nossos dados, a gente vai passar um parâmetro
data. São os dados, né? O data vai ser igual a o df limpo, que é o que a gente está trabalhando agora. Volta, se eu puder só fazer um adendo super rápido, desculpa. Abre o parênteses aí, Marcel, por favor. Antes de você digitar qualquer coisa, está vendo que ele dá um exemplo, como está meio cinzinha, claro, vocês vão ver, ele dá um exemplo. Quando você está chamando ali o barplot, ele vai falar, você tem que passar uma base, que nesse caso ele está chamando DeX, E aí você vai passando o que você quer dessa base,
então ele está dando um exemplo ali, df limpo senioridade, count valor porque na anterior, e a gente usou essa variável nessa coluna. Então é sempre legal que ele ou ele é autocompleta, mas mesmo quando ele não autocompleta, ele te dá um exemplo do que você precisa passar para isso funcionar. Então aí a Val já estava falando, a primeira coisa vai passar a base de dados, então a gente vai seguir, porque a gente não vai usar exatamente esse exemplo que ele está dando, Vamos fazer um exemplo mais, usando agora, fazendo uma outra análise que é a
parte de salário, né? Mas vamos lá. Perfeito, vamos lá então. Então a gente faz o quê? DF limpo aqui? Isso, deixa eu dar uma olhadinha se está tudo certinho. Então, primeiro a gente precisa definir o parâmetro que é o data antes de colocar o DF limpo. Então vai ser data igual, aí agora a gente coloca o DF underline limpo ali, beleza, vamos dar uma vírgula agora e definir quem vai ser o nosso X. Quem que vai ser o nosso eixo horizontal ali? No caso vai ser a senioridade, certo? Então a gente pode colocar É o
que ele está me sugerindo aqui já, inclusive. Exatamente isso! O senioridade e o salário ali também. Só que o Y não vai ser o salário, porque o salário está em diferentes moedas, lembra? Só que a gente tem a coluna que é o USD, que o salário está em dólar, então está tudo padronizado já, então é melhor usar o USD. Perfeito? Então a gente vai pegar o Y igual USD que a gente trocou de nome lá no começo, né? Acho que na primeira aula. Exatamente. Beleza. E a gente coloca para rodar? A gente já pode rodar
desse jeitão aí, vamos lá. Tirar o zoom, pronto. Já veio aí então o nosso gráfico, ele traz para a gente então a média dos salários para cada uma das nossas categorias, né? Então, claramente, a barra executiva ali seria maior, porque a galera C-level, em segundo lugar a gente está com o sênior, depois o pleno e, por fim, o júnior, que faz todo o sentido, né? Só que, assim, do jeito que esse gráfico está, vocês acham que ele está fácil de visualizar, de entender logo de cara os valores? Podia ser melhor. Podia ser melhor. O que
falta nesse gráfico, se a gente parar aqui para pensar, será que não falta primeiro um título? Porque aqui a gente sabe que é o dinheiro aqui, que é a quantidade em dólar no nosso lado vertical. Mas seria legal ter um título para especificar, que é o salário médio. Que é o salário em dólar. Que é em dólar. Inclusive é o salário anual. A gente não chegou a comentar isso até o momento. Mas você olha aqui, pô, 200 mil dólares? Será que a pessoa está ganhando isso por mês? Claramente não, tá. Quando a gente vê essas
bases de dados, essas vagas, inclusive, fora do país, Geralmente, o valor, ele é anual. Então, tem todo esse ponto. E aí, se a gente quiser personalizar esse gráfico, colocar títulos e outras informações, eu recomendo que a gente comece a usar Matplotlib em conjunto com essa biblioteca. Na verdade, né, Vinícius, tanto o Pandas quanto o Seaborne usam ela por trás dos panos, né? Elas são construídas usando a Matplotlib por trás, assim. Então, a gente pode importar ela agora e começar a adicionar mais coisas no gráfico. Vamos fazer isso? Legal. Até porque, como aprendiz aqui, eu vi
esse gráfico e não vi tanta diferença do gráfico anterior que a gente plotou só com o Matlab. É, com só com a Pandas. Perdão, com a Pandas. Isso. Então agora que a gente começa a ver a diferença que a gente usa as duas em conjunto. A gente vai usar tudo em conjunto agora. Então a import Ela já está também instalada aqui no Colab, então para importar ela a gente vai colocar o import Matplotlib. Só que a gente vai usar um módulo específico dela, que é um módulo chamado "pyplot". Então vai ser ".pyplot". Deixa eu ver
se está se Ele está até me sugerindo várias das coisas que vocês estão dizendo aqui. Ah, então está tudo certo já. SPLT, que é o apelido dela. Perfeito, é isso mesmo. Então você pode executar essa célula. Legal. E agora a gente pode ir para a próxima linha de código e começar a criar, então, o nosso gráfico com mais informações, tá? A primeira coisa que a gente pode fazer é até definir o tamanho da imagem, porque aqui ele gera um tamanho automático para a gente, mas é possível formatar isso, deixar o gráfico ou mais largo ou
mais alto, a gente pode customizar esse tipo de coisa também. Como que a gente faz, hein? Isso é bem importante, porque também tem aquela velha história, né? Como mentir com os dados, né? Então, às vezes também você deixa numa escala que não favorece muito a visualização, Esse ponto que a Val trouxe é bem importante, então vamos fazer uma primeira visualização simples, baseado então no exemplo anterior, mas só colocando alguns elementos a mais, né. Perfeito. Então, a gente vai usar o Matplotlib, que é o PLT, agora, .figure, de figure, de figura em inglês, e aí a
gente vai ter, nós estamos definindo essa figura que vai ser gerada. Então, os parâmetros que vão ser passados, pode abrir e fechar parênteses, vai ter o tamanho, por exemplo, da figura, então é "fig size fg size" perfeito e aí eu tenho que igual, e aí lá dentro eu vou passar também novamente mais dois parâmetros que é o tamanho, então nesse caso vamos usar um tamanho meio padrão que é 8 e 5 e eu faço 1,5 aqui? isso, 8,5 perfeito, fecha os dois, aí vocês podem testar depois com tamanhos diferentes aí que fica Essa é a
primeira parte. Legal, definimos o tamanho da figura, agora a gente tem que definir o que a gente quer na figura. A primeira linha vai ser, você pode até copiar e colar da anterior, que a gente vai usar lá o Seaborne para gerar o gráfico igual ao anterior, só que no anterior a gente não definiu o tamanho, né, então aqui a gente já definiu o tamanho, agora o segundo, a segunda linha é exatamente igual ao que nós fizemos anteriormente. Agora a gente vai incluir informações como a avó comentou, que podem deixar a visualização mais fácil de
entender, né? Então a primeira coisa, vamos colocar um título na imagem. Então "plt.title" e aí a gente abre parênteses e coloca entre aspas o nome que a gente quer, poderia colocar aqui, sei lá, "salário médio por nível de senioridade", por exemplo. Olha isso. Olha aí me sugerindo aqui, "pode senioridade". conforme a gente vai colocando, ele vai aprendendo cada vez mais sobre o nosso nossos dados. Exato. E aí depois a gente vai colocar nomes nos nossos eixos X e Y. A gente precisa por vírgula aqui quando vai passando de um para o outro no final, não
precisa, não precisa. Então a próxima vai ser o que que nós queremos colocar de nome no nosso eixo X, né? Para colocar no eixo X é PLT, mais uma vez o Matplotlib, ponto X, que é o eixo que a gente quer colocar o nome e Label, que nesse caso, título é o título geral da imagem. Label, a tradução seria rótulo, então a gente quer colocar um rótulo naquele eixo que a gente está trabalhando. Nesse caso o nosso eixo X é a senioridade, que está aparecendo ali. Então "plt.xlabel", tudo junto, abre parênteses, senioridade entre aspas. E
aí agora faz a mesma coisa isso aqui muda o X para Y PLT Y label e no eixo Y nós temos o salário médio né em dólar então a gente pode pular salário médio e entre parênteses USD para ficar claro que é a gente pode até colocar salário médio anual para deixar mais anual, perfeito. Salário médio anual, perfeito. E aí por fim, então criamos, falamos o tamanho que a gente quer, que informações que tem que ter título, label, de cada eixo, aí beleza, definimos tudo agora é só mandar aparecer essa imagem então o último comando
é plt.show e o show é mesmo de "apresente a imagem para mim" plt.show abre e fecha parênteses e roda. Ele até apareceu antes sem usar esse plt.show, né? Só que quando a gente não usa o plt.show ele coloca um texto em cima do nosso gráfico agora quando a gente usa o plt.show ele mostra apenas o gráfico sem nenhum texto, sem nada. Você pode voltar, Márcia, acho que é para mostrar. Fazer um sem PLT. Não, não, só volta o Sobe um pouquinho para o gráfico. Tá vendo lá, apareceu. Access, blá blá blá, um código que não
é tão legal para visualização. E no que nós fizemos agora, fica só a imagem bonitinha, perfeita, sem nada. Exatamente. Legal. Perfeito, agora a gente já tem aí o nosso gráfico, hein? Só que tem aquele detalhe que eu comentei, né? Em relação aqui à ordem das nossas barras, nas colunas aqui no caso, será que não seria mais interessante ordenar as barras do maior para o menor valor? Porque existem várias dicas da gente criar gráficos melhores, para que o público consiga já olhar sempre o gráfico, já entender o que está tendo ali de resultado e que essa
informação seja mais Seja processada de forma mais rápida. E uma das dicas para fazer isso é realmente deixar do maior para o menor valor, porque facilita esse processo, certo? Perfeito. Sempre deixar em ordem facilita, né? E aí como que a gente deixa em ordem, né? Tem um truque aqui que a gente vai fazer, um truque não, é uma coisa bem legal, na verdade, que a gente não chegou a fazer nas aulas anteriores, que é usar um método chamado Group By da Biblioteca Pandas, que esse método consegue fazer agrupamentos e ordenações depois. Esses agrupamentos sempre são
feitos de acordo com alguma estatística, só que nesse caso a gente quer, por exemplo, obter a média do salário por nível de senioridade, certo? Então a gente pode fazer um agrupamento dessa forma, pegar o valor médio e depois ordenar do maior para o menor valor. Bom, mas como que a gente faz isso, né? Vamos lá, a gente vai fazer o seguinte, vamos colocar o nosso DF limpo, então, DF underline limpo. Aí a gente vai dar um ponto e usar esse método que é o Group By. Certo. E aí, como que a gente faz para acontecer
esse agrupamento? A gente vai ter que abrir primeiro parênteses, passar qual é a coluna que a gente vai usar para agrupar, que no caso é a coluna "senioridade". E a gente passa entre aspas. Entre aspas, isso, perfeito. Certo. Beleza. Agora, a gente vai abrir colchetes do lado disso E vamos passar qual é a coluna que a gente vai calcular uma estatística, que no caso é a média. Então, agora, entre colchetes e aspas, a gente vai colocar o USD, que é a coluna onde tem os valores, certo? Foi aí, colocou, deixa eu dar uma olhadinha, entre
aspas de novo. Ah, o USD é entre aspas. Entre aspas também. Perfeito. E agora, depois do colchete ali, a gente vai dar um ponto. Esse último parêntese pode deletar. Ah, tá, boa. Beleza, a gente vai dar um ponto e colocar agora o min para calcular a média. Então, min vai abrir e fechar parênteses. Perfeito. E agora vamos usar um método novo que a gente também não usou ainda, duas coisas novas, que é o método para fazer ordenação. A gente vai dar um ponto e colocar sort underline values, então ele vai fazer, ordenar os valores, né,
traduzindo aí. Perfeito Só que aí para ordenar do maior para o menor valor, a gente vai ter que definir um parâmetro aqui dentro Então você vai abrir os parênteses aí depois dos sort values e vai colocar o parâmetro "ascending" Ah, ele já está até indicando aí Ele está super indicando o que vocês estão falando, o que você quer book? Olha, está sabendo me ajuda bem E aí ele vai ser igual a false, igual a false, que ele vai conseguir fazer essa ordenação certinha Você pode até executar isso para ver o que vai acontecer Ó, veio
aí então, ele calculou ali pra gente a média do salário para cada uma das categorias e trouxe, realmente, do maior para o menor valor. Agora, a gente pode armazenar isso dentro de uma variável para passar como parâmetro para o Seaborn conseguir fazer a ordenação. Entendi. Como que a gente faz isso aí, hein, Vinícius? Legal, não sei se vocês vão lembrar, muito importante, Ricardo. Lembra que na aula passada, a gente criou variáveis que a gente salvou quantidade de linhas e de colunas, e salvou para ficar mais bonitinho. Então, uma variável é isso, a gente armazena alguma
informação lá dentro para que depois a gente possa usar de maneira mais fácil, não tem que ficar refazendo todo o código. Então, o que a gente vai fazer? Super simples, vamos pegar toda essa linha que nós usamos agora, que a gente acabou de rodar, que é o def limpo, o group by, porque ele já pegou toda essa informação, só que ele pegou e só printou na tela para gente, agora a gente vai pegar toda ela e salvar numa variável. Certo? Então vamos lá, vamos dar um nome para essa variável, pode criar uma linha de código
nova, Marcel, por favor, pode fazer uma linha nova, vamos dar um nome, como a gente está ordenando, vamos dar um nome de ordem, então essa variável chama ordem, o que ela vai receber, né, igual, aí você pode copiar tudo que está lá na linha anterior, df limpo, group by, senioridade, que é essa informação que a gente quer salvar, e a gente só vai acrescentar um ponto que é assim, ponto ponto index, E isso vai juntar toda essa informação e salvar na variável ordem que a gente está criando. Certo, é um .index mesmo. .index. E rodou.
Aí você pode até exibir chamando ordem ali embaixo, só para a gente entender qual que é o resultado. Quando a gente faz um p, pode ser na mesma linha, ou outra linha, pode digitar a ordem, ele vai aparecer. Então, quando a gente chama ali, quando a gente usa esse .index, ele vai pegar o nome de cada uma das linhas que a gente tinha ali, que estão sendo o nosso index desse dataframe que foi criado ali atrás, e ele traz para a gente aqui então uma lista contendo a ordem certinha, que é executivo, sênior, pleno e
júnior. Perfeito! Como agora a gente usa isso dentro do código do gráfico? Você pode pegar o mesmo código do gráfico que a gente fez agora há pouco, Esse daqui, já com o matplot. Aí você vai copiar esse código, vai colar Ali embaixo, e agora, o que que a gente vai fazer? ali na linha do SNS, ponto barplot, a gente vai adicionar um novo parâmetro, então você vai no final ali, depois do y igual ao SD, isso, vai dar uma vírgula e vai colocar o parâmetro order de ordem, e esse parâmetro vai ser igual a o
que? Ordem? Que a gente acabou, ah é, mas isso mesmo! Você acabou de criar. Veio aí, agora a gente pode executar tudo isso. E veio aí! Boa! Aí agora você me diga, qual gráfico está mais fácil de visualizar, esse de agora ou o anterior? Com certeza esse. Com certeza. Olha aí, a dica da ordem realmente ajuda. E o que que é legal, né? Nós estamos criando tudo do zero para que todo mundo possa aprender passo a passo, entender. Mas uma vez que está pronto, a gente pode, as mudanças, as evoluções são simples de fazer. Então,
eu estava aqui vendo, a gente está fazendo e a gente poderia falar "Ah, mas se eu quisesse ver o contrário?" É só você ir lá na linha anterior, onde a gente criou a ordem, e em vez de ascendente e false, coloca true e roda as três linhas de novo. Vamos ver o que vai acontecer. Olha lá, já colocou do menor para o maior. Então está criado o padrão daquele gráfico. as informações que eu quero e agora eu posso ir manipulando também, então isso é bem legal. Perfeito, legal. Depende do storytelling que você quer dar quando
você vai apresentar para os stakeholders, né? Exatamente. Perfeito. Bom, agora a gente já conseguiu então criar um primeiro gráfico aqui finalizadinho, mas vamos agora explorar uma outra variável e testar um outro tipo de gráfico que também é bem usado? Nós temos ali a variável que é o salário, que é o USD, que está o salário em dólares. Como será que está a distribuição salarial? Será que as pessoas estão ganhando mais, menos? Como que isso está distribuído ali ao longo dessa amostra que a gente tem? Acho que é um ponto importante para a gente analisar agora.
Perfeito. Excelente, porque, de fato, uma coisa é você saber a média. A média já te ajuda em algumas análises, que foi o que nós fizemos, mas a média, ela pode ser distorcida por os valores que estão lá. Então saber como está distribuído esses valores é uma fonte muito rica de informação. Então, além do gráfico de barra, o histograma é um outro tipo de plot que é muito usado para entender como que está isso. Então vamos lá. Faz todo sentido. A gente começa definindo o tamanho já do tamanho? Pode ser, vamos começar com o tamanho também.
Esse aí a gente pode até deixar o tamanho um pouquinho diferente para ele ficar mais largo e a gente conseguir visualizar melhor. Eu já testei um tamanho aqui, eu vi tão bom, que é o tamanho com 8,4. Tá, então plt.fig, ele até me ajudou aqui. Opa, colocou muita coisa, apertei. E aí você falou 8,4. 8,4, exato. E aí o esquema vai ser o seguinte, agora, a gente vai para a próxima linha, vamos chamar o cbar, né, SNS. E agora a gente vai usar uma outra função, não vai ser mais barplot, porque agora é um histograma
que a gente vai fazer. No histograma a gente usa a função histplot. Então, Histplot está aqui, está aí. Aí agora a gente abre os parênteses e vamos passar algumas informações. A primeira informação é qual coluna a gente quer analisar, que é a coluna USD. Certo. Então vamos pegar o df limpo, definir ali o USD, colocando entre colchetes do lado. Então a gente chama df limpo e coloca colchetes entre aspas aqui aspas. Isso, em aspas, perfeito. Maravilha. Agora a gente vai dar uma vírgula e colocar um outro parâmetro, porque esse parâmetro a gente pode ir testando
depois para ver como que o gráfico vai ficar. Mas é um parâmetro chamado bins. E ele vai definir para a gente qual que vai ser o intervalo entre as barras que vão ser geradas por esse histograma, os intervalos que a gente vai ter ali no final. Vamos testar esse bins igual a 50 para começar. Mas a gente depois pode testar e ver o que acontece, né, Vinícius? Exato. Mas a gente deixa esse 50 assim, aberto mesmo, aberto. Aberto, exato. E aí tem um último parâmetro também que a gente pode colocar, que é um tal de
KDE, que é uma linha que ele vai adicionar no nosso gráfico para a gente entender como está a distribuição de uma forma ali mais fácil de visualizar. Aí a gente pode colocar esse KDE igual a true, igual a verdadeiro. Tá bem. Bom. Foi? Aqui é que você não fechou o colchete do USD. Ó, depois do USD você fecha o colchete e aí você tira o colchete ali do final. Pronto. E tira também que tem um parênteses a mais, né? Sim. Ah, agora foi. Ah, esse negócio de chave. Beleza. Se vocês não programarem LISP. Agora a
gente vai para aquelas coisas de colocar o título, os eixos. Então vamos colocar o nosso título. Pode até copiar o do outro para ficar mais fácil. Vamos pegar aqui, né? É o título, o label do X, do Y e o plot show. Sempre essas três, essas quatro. Ah, e o show também. E o show também. A gente só substitui as informações, né? Então, o título poderia ser algo como distribuição dos salários anuais? Distribuição dos salários. Vários, vamos mais, Possonioridade? Não, não vai ter possonioridade. É, não, agora é geral. Aí a nossa label X, ela vai
ser o que agora? Ela vai ser o salário, né? Salário. Salário em USD, que são os dólares aí. E o nosso label Y, agora vai ser a frequência, porque quando eu tenho um histograma, ele vai mostrar pra gente qual que é a frequência de cada um desses valores. Sim. Tá? Então, vamos lá? Vamos rodar agora então, né? Vamos rodar. Opa. O que aconteceu aí? Ah, é bins, se escreve BINS. INS. Você colocou feijões aí, Marcelo. Você falou bins, eu pensei, é bins no feijão? Não, eu não consigo. Tem o antigo netbeans ali já. Aí eu
pensei, nossa, foi longe no netbeans. Foi longe. Boa. Bom, temos aí o histograma. O histograma não é um gráfico tão comum, que as pessoas têm tanta familiaridade por aí. Acho que é mais realmente para quem trabalha com dados. A gente agora pode explicar um pouquinho como ele funciona, então, né. A gente definiu esses BINs igual a 50, então os valores estão indo de 50 em 50. A gente está começando aqui em zero, né, e está indo até quantos dólares aqui? Até 800.000, né? 800 Caramba! Passou um pouquinho, né, aparentemente. Mas quem que está ganhando 800
mil dólares por ano aí? Algum vice-presidente de alguma grande empresa, né? E aí o legal é que com esse tipo de gráfico a gente consegue entender como que está a distribuição nos valores. Existem alguns tipos de distribuição, né Vinícius? No caso dessa daqui, ela está voltada para o nosso lado esquerdo, né? São os valores mais baixos, certo? O que quer dizer então para a gente? Então, é um bom ponto, desculpa, eu estava aqui refletindo sobre o gráfico, é muito interessante. Porque o que essa distribuição nos mostra, né? A maioria dos salários, obviamente, não são salários
baixos, mas nessa avaliação, ela está concentrada Nos valores mais baixos, não é o que a gente chama de uma distribuição normal, por exemplo. É quando estaria no meio assim. Estaria bem no meio essa distribuição, bem distribuído. O pico estaria exatamente no meio dessa distribuição e aqui a gente vê que não é o que acontece. Então nós vemos que a maioria dos salários, eles estão ali na faixa de 150 mil, mais ou menos, ali entre os 100 e os 200, e depois vai tendo poucas pessoas ali perto de 700, 800 mil, então a gente consegue ter
um pouco melhor essa ideia, né? Perfeito. A gente pode até diminuir os bins para ver o que acontece? Eu acho que vale fazer umas mudanças até para o pessoal entender. Pessoas sempre testem para entender os parâmetros, mas vamos fazer alguns aqui. Primeiro vamos mudar. Eu ia até perguntar isso para a gente poder explicar até o que é o Bins exatamente, o que é o KDE, que para mim também não ficou super claro. E uma das coisas que eu noto aqui é beleza, que não ficou no meio. A distribuição geral, mas ao mesmo tempo, pode ser
que seja várias exceçõeszinhas que faz com que não fique no meio. Exatamente. Exato, isso mesmo. Então vamos lá, primeiro vamos mudar o tamanho da figura. Coloca, sei lá, 8 e 2 de vez de 8 e 4. Tá. Vamos ver o que acontece. Está vendo que ela diminuiu a altura da imagem, certo? Não ficou pior para visualizar, certo? certo? Porque ficou mais difícil aqui. Como muda para 5 e aí no lugar do 8 coloca lá, 2 também vai, 2 e 5, vamos ver o que acontece. Então, olha lá, agora o encurto ficou pior ainda, não dá
para ver. Então o que estamos vendo, o primeiro número ali, ele corresponde à largura, né? Vamos colocar 10 aí e o segundo a altura. Perfeito. podem mudar para ver o que fica melhor para vocês visualizarem, esse é o primeiro ponto. O segundo, agora vamos mexer nos parâmetros ali, bin, como a Val falou bin, é essa a largura das barras que estão aparecendo. Vamos mudar de 50 para 500, só para ficar bem claro aqui o que vai acontecer. Olha lá, ficou quase que não dá para ver, né, o que está acontecendo. Quanto maior o valor mais
granular vai de forma granular, porque quanto a granularidade que eu tenho, agora de vez de 500, coloca 5, então estava 50, aumentamos em 10 vezes, vamos diminuir em 10 vezes. Também não tem. Agora, agora ficou umas barras muito grandes, né, então para quem estudou série de fourier, essas coisas em algum momento da escola, vai lembrar um pouco disso, porque como a barra fica muito grande, a distribuição a gente não consegue visualizar bem, então 50 ali se encaixa, fica legal. Boa. E o terceiro ponto é o KDE, se vocês perceberem, ali tem uma linha azul, até
quando a gente colocou o 5 até ficou mais claro, está vendo essa linha azul que está contornando meus dados, né? Se você colocar false lá então no KDE, e rodar, vai perceber que essa linha não está mais ali, Certo. Essa linha é como se fosse um desenho de como está ali as minhas barras, de como estão as barras distribuídas, né? Perfeito. Eu poderia ter só as linhas? Poderia? Poderia ter um outro tipo de gráfico que você consegue fazer só com a linha. Entendi. Só que aqui a gente quis mostrar, né, o que também é uma
padrão. É, perfeito. Então acho que agora a gente conseguiu visualizar bem, né, bem legal. Deixa eu voltar aqui para deixar com a linha. Perfeito. Veio aí? Boa! Legal! E aí, Marcel, tem um outro tipo de gráfico que também dá pra ver distribuição e esse acho que é menos comum ainda pra quem não tem experiência com dados, que é um tal de boxplot. A gente consegue ver com mais detalhes ainda a questão de como os dados estão distribuídos e consegue ter uma visão mais estatística ainda. Vamos testar como que esse gráfico fica? Vamos lá! Vamos lá!
A gente faz um PLT Isso. Ponto, ah não, primeiro faz o tamanho da figura. Pode ser um 8,4, 8,5, acho que fica legal. 1,5. Aí agora a gente vai usar o SNS de novo, né? Só que agora a função vai ser a função boxplot. Boxplot, já tinha até aparecido. E agora é bem fácil porque a gente pode definir tanto como X ou como Y, depende da orientação que a gente queira que essa caixa apareça no gráfico. Certo. Vamos definir como X mesmo, para a gente entender. Vale até para comparar com o de cima, vai dar
uma boa explicação aqui. Então a gente vai colocar o X igual, aí nós vamos chamar o underline limpo, abrir os colchetes, abrir as aspas e colocar o USD lá dentro. USD, opa. Perfeito. E agora é só definir ali, no caso, o título, né? Então, plt.title. A gente pode copiar, né? As definições de Pode, pode. Só que agora a gente só tem o eixo X, não tem o Y, você pode apagar o Y, mas esse gráfico ele é o boxplot, ele faz o que? O que é o título dele? Vamos ver agora, mas vamos, põe o
título boxplot salário. Boxplot salário, vamos ver o que ele faz. E aí no caso o label X vai ser o salário em USD, né? Tá bom, vamos lá. Perfeito, vamos lá. Ah, o show ele vai aparecer também com show, mas vai aparecer o. É, ele mostra aquele texto. Não tem problema, se você colocar o PLT show, vai sumir esse texto, mas fica tranquilo, podemos deixar isso. Beleza, rodando aí. Esse Boxplot é muito legal, essa visualização é bem importante, bem técnica, né, vamos dizer assim. Eu acho que não seria um gráfico legal, por exemplo, para levar
para um relatório, para um dashboard, porque uma equipe ali que não seja técnica, vai olhar para esse gráfico e vai falar "Tá, mãe, que que é esse trem, né? Que que é isso? Mas a gente vai comentar, então, agora. Então, ele também mostra pra gente a distribuição, né? Só que ele mostra a distribuição com algumas caixinhas, né? É uma caixa que ela vai possuir sempre uma extremidade de um lado e uma extremidade do outro. Isso vai representar a variância pra gente. Então, qual é o meu valor mínimo e qual é o meu valor máximo ali
que eu tenho, certo? Aí, nota que essa caixa, ela tem uma linha no meio. Essa linha no meio é a nossa mediana, tá? Então a gente já consegue entender isso, já visualizando o gráfico, pô, essa linha do meio é mediana, ela está entre 100 mil e 200 mil, né? Beleza, aí a gente também tem os quartis aqui, né? Tem o quartil de 25% e tem o de 75%, legal! E nota que acima de uma das extremidades aqui, no caso da extremidade direita, tem vários pontinhos. O que será que são esses pontinhos? Aí você me pegou.
Esses pontinhos são nada mais, nada menos que outliers. Ou seja, dados que estão discrepantes, que estão fora desse intervalo que a gente está visualizando aqui. Então é justamente o que a gente comentou ali em cima, que parecia que o histograma estava pra lateral justamente porque tinha muitas exceções. Exato. Perfeito. Então ele reforça o que a gente viu ali no histograma. Ele reforça e traz uma visão diferente, né, eu acho, assim, complementar no sentido de que quando você olha o histograma, é o que a gente costuma chamar de cauda longa, né, porque você vai tendo ali
várias exceções ao longo do tempo e aqui a gente consegue ver melhor essas exceções e como que está essa distribuição. Voltando mais uma vez para um problema de negócio, que sempre a gente usa a tecnologia para resolver um problema de negócio. Pensa que você é uma empresa de RH, recentemente a gente viu a própria Meta contratando pessoas do Google, da AWS, enfim, da própria OpenAI. Então, pense que você é uma empresa que quer, talvez, atrair os melhores talentos de Data Science. Perfeito. Que salário que eu tenho que ter para atrair os talentos? Aqui você vai
saber, se você for abaixo provavelmente você não vai conseguir atrair, porque você está da média para baixo. Exatamente. Então, se você quiser atrair os melhores, você vai poder fazer uma estratégia de compensação que tanto atraia, mas que também não faz, não saia muito do que é muito fora do padrão. Então, aqui você começa a resolver esse tipo de problema. E se fosse o caso que ele está dando um exemplo, poderia até separar, por exemplo, pelo nível de experiência, né? pelo cargo em específico eu quero ver os salários aqui para cientista de dados então poderia filtrar
só para essa galera Então realmente daria para acho que esse é um bom teste para a gente fazer na sequência né Vamos fazer um uma quebra vamos vamos por cargo por todos por cargo ou por senioridade vamos fazer pelo pelo pela senioridade né de cada um dos níveis né Bora lá vamos lá vamos criar mais uma então pdt Figure vou copiar aqui o tamanho Bora, isso, copia aqui para facilitar. Antes de colocar, a gente coloca a primeira ordem, porque agora a gente vai trabalhar com várias variáveis né, então você coloca lá, vamos criar uma variável,
que é a ordem que a gente quer, então ordem e senioridade. Só para aparecer pela ordem, então, né? Aqui como que está, e aí igual entre, ele já até me deu uma sugestão. Ele deu uma sugestão, deixa eu ver. Vamos dar uma olhada aqui Não, não é essa sugestão, não vai nela não. Às vezes ele faz sugestões erradas. É bom de pontuar isso. O que você vai fazer é criar uma lista, na verdade. Criar uma lista, então a lista é sempre colchete, né? E aí você coloca os níveis, que é Júnior, sempre entre aspas, né?
Júnior, vírgula, plenum, sênior e executivo. Legal. Agora a gente continua da forma que nós fizemos anteriormente. Tamanho da figura, chamamos o SNS, agora Vamos usar o Boxplot, que é o que a gente acabou de usar anteriormente, e aí dentro do Boxplot, mais uma vez, vamos usar a mesma coisa, agora a gente vai incluir senioridade, então X é igual senioridade entre entre aspas. Senioridade ou ADF limpa senioridade? Pode ser só senioridade mesmo. E no eixo Y, aí vírgula, né, Y vai ser o SD, que é o salário, correto? E aí nós vamos Definir os dados que
vão ser capturados, no caso data é igual df limpo e depois a ordem que a gente quer, então order é igual a ordem de senioridade que é a variável que nós criamos anteriormente. Perfeito ordem de senioridade. E agora sempre tem aquelas quatro linhas padrões que é para o título, label do X, do Y e o show. Vou copiar aqui. Perfeito. Então, aqui a gente está falando Agora a gente está falando de uma distribuição salarial por nível de experiência ou senioridade, né? Pode colocar as duas opções. Ou senioridade. Beleza. Legal. Saiu aí o gráfico, né? É,
fica bem mais interessante para analisar. Olha que interessante, então, a gente agora tem uma caixa para cada nível. E o legal é que a gente ordenou, então agora dá para ver bonitinho aqui, fazendo todo sentido, a questão do júnior, do pleno sênior executivo. Dá para entender como a mediana deles está diferente, sendo a mediana, tanto do sênior quanto do executivo, bem mais altas que os outros. A gente também consegue visualizar todos esses "outliers" aí, né? E é justamente o que o Vinícius falou, a gente consegue criar uma estratégia, por exemplo, se a gente fosse fazer
contratações, se fosse uma empresa, por nível, inclusive. "Ah, não, agora nosso foco é trazer mais junior, que a gente viu que tinha pouco junior, não nos gráficos lá em cima. Então, poxa, vamos trabalhar na mediana, não, vamos trabalhar acima da mediana para poder trazer muita gente. Então você consegue fazer uma cidade mais aprofundada aqui, isso é legal. Ah, muito shóia. Uma outra coisa interessante, também tentando fazer um paralelo por grandes empresas, se a gente olha aqui, como é um dado real, é bem interessante. A gente vê que existem alguns outliers de sênior que ganham mais
do que os executivos. porque principalmente nesse ramo de data science a gente tem algumas pessoas técnicas que são referências globais né são especialistas muito bons então eles muitas vezes acabam ganhando mais do que eu de fato executivo é um pouco disso que não são todos mas são algumas referências que são Tecnicamente muito bons e acabam tendo salários maiores do que o do que os executivos é bem legal entender isso eu só não entendi ali o Júnior que tá ganhando muito tem alguns Júnior E também é um outro, pode ser um problema, né? Se eu tenho
um júnior com esse salário, será que ele não deveria ser pleno ou sênior? Mas poderia ser uma questão de país, né? Pode ser uma questão socioeconômica aí no meio, né? Tem várias questões aí que podem Essa é a beleza da análise de dados, né? Muitas hipóteses, temos que analisar os dados para tentar entender o que está acontecendo. Uma outra coisa que eu colocaria nesse gráfico a mais, que a gente não mexeu até agora, são cores. Até agora a gente usou a cor padrão, que é esse azul aqui, mas é possível, por exemplo, deixar uma cor
para cada caixinha. Como a gente está trabalhando com categorias diferentes, a gente pode fazer esse processo. Mas dependendo do caso, a gente poderia destacar, por exemplo, só uma categoria, mexer com essa coisa de pegar o dado e contar uma história com ele. Perfeito. Bom, eu vou dar uma dica aqui de como colocar cores em todos, tá? Quando a gente vai criar ali o nosso código do sns.boxplot, A gente pode ir lá no final, depois do parâmetro "order", e colocar mais dois parâmetros Mas fora da chave, dentro do parênteses do ordem? Dentro do parênteses, é, se
você quiser copiar esse código, colar para a gente só adicionar, e a gente compara o resultado e tal. Então, depois do "order", igual a ordem senioridade, a gente vai dar uma vírgula e colocar um parâmetro chamado "pallet", que é paleta, né? P, A, L, E, dois, t e e E assim, existem vários tipos de paletas. Se o pessoal consultar a documentação do Seaborn, vai ter lá várias possibilidades que eles podem usar, também dá para criar a nossa própria paleta, enfim, tem uma possibilidade grande de coisas aqui. Eu vou colocar aqui o nome de uma paleta
para você, que é uma paleta para variável categórica. Então a gente vai ter uma cor diferente para cada categoria, que é a paleta chamada "SET2". Então é com S maiúsculo, "SET2" e precisa ser entre aspas, eu esqueci de falar esse detalhe. E aí tem um outro detalhe que teve uma atualização na biblioteca Seaborn recentemente e para que a cor funcione você precisa passar um outro parâmetro. Então depois disso a gente vai dar uma vírgula, a gente vai colocar um parâmetro chamado "HUE" esse parâmetro ele vai definir "Por qual variável as cores serão definidas?" Nossa, ficou
estranho a minha frase. Eu vou explicar de novo. Esse parâmetro, ele vai colocar uma cor para cada categoria da variável que a gente especificar para ele. Certo. No caso, eu quero comparar o que? A senioridade, né? Então eu vou colocar esse parâmetro igual e "senioridade" entre aspas. Agora vamos ver se deu bom. Aí, agora está certinho. Pode rodar? Pode rodar. veio aí, legal É claro, essa foi uma sugestão de cor aqui que eu estou dando, mas tem outras, né, enfim, mas agora a gente já consegue diferenciar, pô, cada uma é uma categoria, tem esse detalhe
agora Legal Bacana, né? E aí eu poderia depois, se eu quiser dar uma cor só para o pleno, posso dar uma cor só para o cine Daria para fazer, para destacar alguma informação, se a gente tivesse trabalhando, sei lá, só com o sênior, enfim, daria para fazer isso também Ótimo Bom, incrível, né? A gente já conseguiu criar vários gráficos aqui, só que agora tem uma coisa a mais bem legal que eu acho legal a gente começar a explorar. São os gráficos interativos. Até agora a gente criou gráficos estáticos, né? A gente não consegue, sei lá,
passar o mouse em cima dele e ver qual que é o valor de cada barra, de cada coisa. Só que se eu for criar um dashboard, por exemplo, um relatório final ali, para o stakeholder, para pessoas interessadas nesse negócio aqui, É legal ter esse tipo de gráfico, né? Que a gente consiga realmente ter uma interatividade ali E tem uma biblioteca em Python que dá para fazer isso Vocês conhecem ela? Eu já usei algumas vezes Vamos aprender? Estou aprendendo aqui Vamos lá O nome dela é Plotly, então a gente vai importar agora e começar a usar
Então a gente vai colocar o import Plotly A gente vai usar o módulo express dela Então vai ser .express e o apelido dela é PX PX, legal! até me sugeriu isso mesmo aqui também. Não, sucesso então. Ótimo, então a gente poderia talvez dirar com AI esse primeiro gráfico. Vamos tentar? Já importou, ele já saiu mais ou menos. Já importou, é, vamos pedir para ele então um gráfico aí. Tá bom. Um gráfico por média salarial, um gráfico de média salarial e por senioridade, por senioridade? Em barras? Em barras. Em barras. É sempre legal especificar bem o
que a gente quer, né? E a gente pode falar usando a Plotly. Usando o Plotly. Fala que é o Plot express ou não precisa? Eu acho que ele vai entender. Creio, né? Vamos verificar agora. O que ele traz para a gente. Vamos ver o que aconteceu aqui. Então, ele começou criando aquele esquema de fazer o group buy, né? Agrupando a senioridade, pegando ali o valor médio dos dólares, beleza? Ele está fazendo aqui um "sort values" para ordenar os valores. Legal. Resetou ali o index. O que é o reset index? Isso aqui é algo novo que
a gente não tinha feito ainda. Pois é, esse reset index não tinha acontecido ainda, mas lembra que cada coluna vai ser indexada? Ela vai ter um valor? Quando a gente reseta o index, a gente tira aqueles valores e pega só o nome ali da coluna. Aliás, os valores da primeira coluna que a gente tem, no caso aqui vão ser A senioridade, né? Então ele vai pegar esses nomes. Entendi. E aí aqui ele colocou o X senioridade, no Y o salário, o USD, criou o título e deu as labels. Labels é algo novo também que a
gente não tinha usado ainda. É, labels não são os rótulos, né? Que nem a gente estava trabalhando com o label do eixo X, do eixo Y. Não, os rótulos de cada barra. Exato. Perfeito, ele só colocou numa forma diferente, mas a gente estava colocando linha a linha, label do X, label do Y, aqui ele colocou labels e já colocou todos numa linha só. Mas é a mesma. E agora tem um fig.show, ó. Ele armazena tudo numa variável chamada fig, depois exibe com esse show ali no final. Beleza? Vamos ver o que acontece, né? Vamos lá.
Vamos usar, Vibe coding, Vibe coding, Vibe coding, deu certo! Olha lá, funcionou super bem, muito bom, muito bom. E aí você pode passar agora o mouse em cima das barras, ele vai trazer, olha lá, ele abre aquela informação lá em cima, que legal. Nível, Quanto que é aí o salário médio do sênior? Então aqui está R$ 172.850 A gente conseguiria chegar nesse valor exato com gráfico estático? Não, né? Não, a gente teria que te que calcular a média para conseguir separar. Exato. Então, bem bacana, né? Bem legal. Agora acho que a gente pode começar a
criar então outros gráficos usando plotly para depois, no final, eu conseguir fazer um relatório bem bacana, hein? Perfeito. Vamos fazer isso então? Tem um gráfico que ele é muito polêmico. Eu queria trazer aqui para essa mesa. Eu vou trazer essa polêmica. Vocês acham que pizza é só para comer mesmo ou dá para fazer um gráfico de pizza? Eu gosto do gráfico de pizza com bom uso, né? Tem que ter bom senso, que dá para fazer um desastre com ele. Depende de quantos pedaços vai ter, né? Não pode pedir uma pizza com cinco sabores diferentes, aí
não faz sentido. Não faz sentido. Exato, assim, é um tipo de gráfico que a gente deve usar com precaução, né? Eu diria que no máximo usar com três categorias, acho que fica legal. No máximo, é, perfeito. Que é igual a um sabor de pizza mesmo. Exatamente. Vamos criar então um gráfico desse aqui? A gente pode copiar a lógica do de cima, dado que a gente está usando a mesma lib ou como é que funciona isso? Poderia pegar aqui tudo o de cima? A gente vai ter que mudar algumas coisinhas, mas pode pegar. A gente muda
as variáveis, né? Exato. Eu acho que para esse gráfico de pizza tem uma variável que é bem bacana para trabalhar que é aquela em relação a se o trabalho é remoto, se ele é presencial ou híbrido, porque são só três categorias, então vai ficar perfeito. Então o X seria Na verdade, a gente vai ter que fazer um negócio antes, a gente precisa, antes de tudo, contar a frequência de cada categoria desse trabalho remoto, tá? Então, a gente pode começar criando uma variável aí. Vamos chamar de remoto contagem? Ok, remoto contagem. Underline contagem, a gente vai
dar um igual, chamar o nosso df underline limpo, passar ali a coluna remoto, né, entre colchetes e aspas, Aí a gente vai dar um ponto value counts, que é aquele que vai fazer, é o método que faz ali a contagem da frequência de cada categoria. Acho que eu não enrolei aqui. Espera lá. DF limpo. Exato. Verificar aqui. Abre chaves, né? É, colchetes. Colchetes, perdão, remoto. Coloca remoto entre aspas, legal. Dá um ponto value underline counts, aí abre e fecha parênteses. a gente também vai dar aquele ponto reset underline index que ele já sugeriu ali, perfeito.
Agora a gente vai para a próxima linha e vai definir quais são as colunas que a gente vai ter do que a gente está calculando aqui, né? Calculando não. É, calculando, a gente está calculando a frequência, então está certo. A gente vai colocar aqui, remoto underline contagem e vai dar um ponto columns que aqui a gente está definindo as colunas dessa variável. Dessa contagem que a gente está fazendo. Aí a gente vai dar um igual para criar uma lista. Vamos passar as seguintes informações dentro dessa lista. Primeiro é o tipo de trabalho, né? Então pode
ser tipo underline trabalho, entre aspas. E depois a gente vai dar uma vírgula e colocar a próxima coluna, que vai ser a quantidade. Então, quantidade, perfeito. Feito isso, a gente agora pode criar o nosso gráfico dentro dessa variável fig aqui. Só que agora, ao invés de ser um gráfico de barras, né, vai ser um gráfico de pizza, que é o Então a gente troca bem aqui, no px.bar para px.pai. É porque na verdade também é gráfico de torta, né? Pode ser torta ou pizza. A gente traduz para pizza, mas pode ser Aí o que a
gente vai passar para esse pai aí? A gente vai colocar o remoto underline contagem. Então a gente tira o senioridade média salarial para colocar o remoto underline contagem. Isso. E agora a gente não vai ter nem x nem y, na verdade, a gente vai trabalhar um pouquinho diferente nesse gráfico. A gente vai colocar uma variável não, um parâmetro aqui chamado "names". Esse "names" vai ser igual ao tipo underline trabalho que a gente acabou de criar ali em cima, entre aspas, tá? Beleza. A gente vai dar uma vírgula aí para a próxima linha. A próxima linha
vão ser os valores, ou seja, quais são os valores de cada tipo de de trabalho, então a gente vai colocar values, o sinal de igual, aí a gente vai abrir aspas e escrever "quantidade". Uhum, quantidade. Beleza, dá uma vírgula agora, vamos para a próxima linha, é que você está colocando tudo junto na mesma linha, né? Mas pode ser separado depois da vírgula. Pode ser com Isso! É que eu acho que fica mais Eu vou tirar esses aqui de baixo, dado que a gente não vai usar mais. A gente vai usar qual título, sinal de mantém.
Então tá bom. E labels não, né? Labels, deixa eu conferir, labels não. Então, vou remover também. Beleza. Aí, ali depois, agora dos valores, né, a gente vai colocar agora o título, então, que pode ser algo como proporção dos tipos de trabalho. Faz todo sentido. Porque lembra que um gráfico de pizza, ele vai mostrar pra gente a proporção, né, a porcentagem ali do todo que a gente tenha. E aí, beleza, feito isso, agora a gente, ele está reclamando de alguma coisa ali. Faltou as aspas ali, fechei aspas agora. Aí depois do título a gente vai para
a próxima linha que vai definir o seguinte, nesse momento a gente pode ou criar uma pizza ou criar uma rosca. A gente tem essas duas opções. Vamos? Ai, desculpa, eu ia falar, vamos criar a primeira pizza e depois a gente põe para uma pessoa. Pode ser, pode ser. Tira então a vírgula ali, Marcel, por favor, depois da última linha e vamos rodar, vamos ver o que acontece. Tá, e veio aí um gráfico. Veio um gráfico de pizza. Já trouxe até calculadinho o percentual. E aí você passa o mouse em cima e traz a quantidade também,
né? Por causa dessa biblioteca que nós estamos usando, que é o Potley, que ele é para gráficos interativos, como a Val comentou. E aí eu consigo filtrar, vamos ver, eu quero ver o presencial. Ah, e fez o contrário, tirou o presencial. Exato, legal. Então eu posso, quero ver presencial contra híbrido. Isso. Exatamente, muito legal. Bacana, né? Muito bom. Bom, e se a gente quiser converter numa rosca agora? A gente vai ali depois do título, a gente vai dar uma vírgula e vamos colocar um outro parâmetro, que é um parâmetro que é HOLE. Ah, o buraco.
É o buraco. É o buraco. Esse buraco a gente pode definir igual a 0.5. Você vai mudando esse parâmetro valor, ele vai aumentando ou diminuindo o buraco ali da rosquinha. Vamos rodar aqui. Ah, legal. Eu acho mais bonitinho assim. Eu também acho, pessoalmente, né? E aí uma outra coisa que a gente pode colocar é exibir tanto a porcentagem quanto o label que a gente tem de cada parte ali da rosquinha. Como que a gente faz isso, né? Depois que a gente definiu a figura, antes do fig.show, a gente pode colocar o fig, e aí a
gente vai usar um ponto e dar um update underline traces. Certo. Aí a gente vai abrir parênteses, e vai colocar o parâmetro text info, vai dar um igual aí, e aí a gente vai abrir aspas e colocar "percent", em inglês, né, de porcento ali, mais Label, tudo junto. Desse jeito, assim? Tá certinho, então vamos executar para ver o que acontece agora. Olha, e agora a gente entendeu Bem melhor, bem melhor. Já facilita bastante a visualização, né? Legal. E eu imagino que, de acordo com o ano que a gente filtra e depois no futuro, vai mudar
muito essas proporções. Certamente, em 2021, a proporção do trabalho remoto era muito maior. E agora a gente está com essa visualização aí, considerando todos os anos. Hoje está bem legal essa visualização, né? E o gráfico interativo, de barra, histograma, gráfico de rosca ou pizza. Então já dá para começar a ter análises cada vez mais profundas e visuais em cima do que estamos aprendendo. Exato. Com certeza vocês, que estão seguindo a nossa dica, estão colocando a mão na massa, mas a gente quer desafiar vocês. Ó, vem aí um desafio. Vamos deixar um desafio para a galera.
Então, para a próxima aula, pelo que nós acabamos, qual foi o último gráfico? Nós vimos o salário por nível de cargo, vimos o trabalho híbrido e remoto, mas talvez faria sentido entender agora salário pelo país que a pessoa está, porque pode ter uma diferença muito grande. Nós não fizemos esse gráfico, já fizemos a análise desse dado, mas não geramos nenhum gráfico. Como que seria uma visualização super legal que daria para ver Salário por país. Então, vamos deixar isso aqui, galera. Vamos especificar mais ainda e pegar o cargo de cientista de dados? Legal, porque a gente
viu que tem muitos cargos diferentes, 390 cargos. Então, pegar um cargo, cientista de dados, que ali na base vai estar como data scientist, né, em inglês, e gerar uma visualização de salário médio por país. Como será que a gente faz o momento possível que você conseguir? E usando o plot, que é o gráfico interativo aqui. É isso, o gráfico interativo. Então esse é o desafio, usem, pode usar a AI aqui do próprio Colab, o Gemini, pode usar o ChatGPT, pede ajuda no Discord, enfim, façam esse desafio e vamos ver o que cada um gera e
na próxima aula a gente traz uma ideia de como a gente resolveria, mas queremos ver como vocês resolveriam esse problema. E a gente quer ver você mandando isso lá no Discord passando com a gente. Exatamente, interagindo com o pessoal e anota aí a senha dessa aula para você conseguir emitir seu certificado assim é mateplotlib. Mateplotlib, só anotar. A gente espera vocês na próxima aula então. Isso aí. Tchau, tchau.