endevor os endevor os galera seguinte vou abrir nosso vs code tá pra gente começar deixa eu até fazer uma marcação zinha aqui na live pra gente começar pronto adicionei a marcação então eu vou abrir aqui uma nova aba do vest code beleza abrir uma nova aba do ves code pra gente começar como é que tá meu áudio tá Safe tá tranquilo música tá atrapalhando não tá tranquilo tudo safe Então bora lá então vou abrir aqui de novo tá nosso nosso projeto igual a gente tinha ontem Vamos Fazer Uma Breve recapitulação tá antes da gente começar
com os dois pés eh o seguinte a gente falou sobre pandas né a gente viu que que é o que que é o pandas é de boa bar acontece eh o que que acontece galera a gente entendeu que pandas é uma biblioteca para manipulação de dados com python que facilita muito a manipulação de dados com python certo muito melhor do que trabalhar com listas e dicionários e a gente viu a primeira coisa que a gente viu foi trabalhar com séries né então a gente viu que a gente pode pegar uma lista simples do Python esse
tipo de lista aqui e converter esse cara esse carinha aqui para uma séries no pandas E aí a jinc fica muito mais divertida porque a gente começa ter métodos que vão ajudar a gente em análise de dados e também a gente pode ver que dá para gerar algumas estatísticas bem legais né para manipular esse dado a gente viu também como descobrir a dimensão da série A gente viu também como fazer navegação dentro dessa dessa série usando os índices e também as posições com a passagem desse jeito e também o lock e o ilock eh então
Lock ilock lembra ano Lock índice ilock posição Lock índice ilock posição e a gente viu por fim que dá para nomear a nossa série tá então só rabiscando pincelando bem rapidamente aí o que que a gente viu e aí depois a gente viu como criar um Data Frame tá então dataframe a gente criou um dataframe do zero um dataframe totalmente do zero como a partir de um dicionário aonde eu tenho a chave que é como se fosse o nome da minha coluna e uma lista de valores associadas né uma lista de valores associado a esta
chave depois mesma coisa para sobrenome uma lista de valores da mesma dimensão que a anterior Isto é mesmo número de elementos associada a uma outra chave e depois idade um mesmo número de elementos aí associada a uma nova chave e aí a gente pegou tudo isso mostramos aqui como que a gente consegue acessar né o primeiro elemento dentro da lista deidades aqui dentro dos meus dados é dessa forma e aí se a gente quiser fazer a mesma coisa com o nosso dataframe a gente pode converter Esse dicionário aqui dicionário de listas para um dataframe aonde
eu eu posso acessar uma coluna desse dataframe ou melhor uma série desse dataframe passando o nome dessa série né ou o nome dessa coluna da mesma forma que a gente poderia passar no dicionário o nome da chave e aí a gente pode navegar nas posições nas linhas dessa coluna por meio do ilock e do Lock ou passando o índice diretamente Tá bom então a gente viu isso a gente viu Como exibir alguns atributos do nosso dataframe como por exemplo quais são os índices desse dataframe E também quais são as colunas desse dataframe outra coisa importante
que a gente viu foi e o do chamado info pra gente descobrir aí qual que é a o tamanho por exemplo da memória ocupada por esse dataframe né dentro da nossa memória RAM e também algumas outras informações como os tipos de colunas que a gente tem a gente viu também o que que acontece quando a gente utiliza o método describe para acessar aí para ele calcular estatísticas descritivas de todas as colunas e por fim a gente viu como observar só uma fatia do nosso dado só uma porção do dado seja no cabeçalho com o r
e seja ali no final como o tail beleza no rodapé aí então R mostra as duas primeiras T mostra as duas últimas porque a gente passou o número dois o Def é cinco se você não colocar nada aqui ele vai mostrar cinco colunas Beleza tem uma breve revisão para Agora sim a gente começar tudo bem tudo bem vamos começar resolvendo os da da aula pode ser rapidão que que vocês acham seria bom né eu tenho que fazer mais exercício perdi aula de ontem sa tá no YouTube Então tá bom eu vou colocar aqui vou criar
aqui dentro do mesmo dia exercício 01p beleza desse jeito e aí que que ele pedindo aqui no Exercício da seguinte lista de dados para uma série pandas e obtenha então eu vou chamar isso daqui de eh séries séries igual a Opa Primeiro vamos fazer assim né Import pandas SPD desse jeito tem que colocar essa tralha e aí pd P séries aqui a gente pode colocar dados igual a tudo isso daqui certo desse jeito então aqui a gente pode colocar dados e ver qual como é que fica a nossas Séries 1 2 3 e tá aqui
tá iniciando ver aula de ontem salvou o dia até go demais mano olha só essa aqui é a nossa série temos essa série que que ele tá pedindo ele tá pedindo a média Então vamos escrever aqui ó média vai ser igual a séries pon min acabou temos aqui a média Olha lá ele quer agora O desvio padrão ses pstd Isso aqui vai ser desvio 1 2 3 e tá lá desvio padrão e por fim o máximo valor então a gente pode fazer máximo vai ser igual a séries P Max e máximo tá lá 42 então
primeiro exercício tá aí beleza passou no macoto você é louco tava chapando coco no macoto gosto demais então é isso né galera a gente tem aí a nossa nossa nosso primeiro exercício Rapidão eu fiz bem no Speed Run aqui só para explicar novamente a gente importa o pandas define Nossa lista de dados converte essa lista de dados para uma série exibe a série depois pega a série e calcula a média e atribui a variável média e exibe a média depois pega as séries e calcula o desvio padrão atribui numa variável chamado desvio e exibe O
desvio tá minha cachorra tá chorandinha aqui já já vou ver que que tá rolando e depois por fim o máximo séries pon Max e acaba Belê eu vou ver o que que tá acontecendo aqui com a Kira e já volto confiram aí o código rapidão bom demais beleza zero problema então eu já vou aqui criar o segundo exercício ex02 Bel Então vamos lá qual que é o exercício 2 o exercício 2 é pra gente pegar aqui esse dataframe tá aqui datame então Import pandas E aí os dados são esses daqui vamos copiar dados E aí
meu DF vai ser igual a pd P dataframe dados vou ter que substituir essas aspas aqui ó por por aspas de verdade desse jeito beleza E se a gente mostrar o DF aqui tá lá ó Que bonito lindo maravilhoso parece uma planilha de Excel certo e aí ele pede para fazer o seguinte o Sumário de cada coluna certo sumário de cada coluna então a gente falou um pouco disso ontem né que é o describe se a gente pegar aqui fizer simplesmente describe ele vai exibir só o Sumário das linhas que são numéricas tá então ele
fez aqui o Sumário da idade Mas se a gente fizer então aqui ó sumário numéricas jeito se a gente fizer isso só o Sumário das numéricas ele vai mostrar isso pra gente mas ele pediu de cada coluna então que que será que acontece se a gente fazer o seguinte a gente pedir para ele a dar nome por exemplo aqui ó nome D nome é uma série certo e eu fizer o describe desse cara que que será que acontece ol só que h que ela não é numérica ele vai falar Quantos elementos tem que não são
nulos Quantos elementos distintos tem que é o Unique Qual que é a maior frequência que tem e aqui ele vai fazer ele vai pegar o maior e no critério de empate ele vai falar que é pela ordem alfabética ao contrário e a frequência então aqui eu tenho informação de que eu tenho três elementos nessa lista nessa séries os três elementos são distintos o elemento mais frequente é o t e ele Acontece uma vez só beleza então a gente não tinha visto isso ontem estou mostrando agora outra coisa que ele pede aqui é a média da
coluna idade então a média da coluna idade vai ser DF na posição idade ponto min então coisa que a gente viu aí também beleza e por fim galera ele pede o último nome da coluna nome como que a gente faz para acessar o último nome da coluna nome para garantir que é o último pra gente ter certeza absoluta que é último melhor trabalhar com ilock na posição men1 e aí a gente tá falando do Napoleão beleza poderia ser teia também mas como ele tá falando só o nome a gente poderia aqui poderia ser o ta
bom ponto tá a gente poderia simplesmente pegar aqui ó e fazer nome P 1 também funcionaria beleza o ta 1 também funcionaria Beleza então isso aqui foi só um uma execução dos exercícios que a gente deixou aí da aula passada ok importante vocês terem tentado fazer OK agora galera agora a gente vai pro dia dois e no dia 2 A gente vai começar a importar alguns arquivos um pouco maiores um pouco mais interessantes beleza ao invés da gente criar o dataframe dentro do Python a gente vai querer importar que é normalmente o que acontece no
dia a dia da gente à ve a gente vai querer importar um arquivo que alguém disponibilizou pra gente e assim por diante a solução vai pro github vai vamos já adicionar lá então vai git.git comit Men M exercícios da primeira aula Git push origem m tá lá já então agora aqui no dia 2 Vamos colocar aqui o o qu Import csvp Então vamos tá nosso primeiro arquivo csv quem no chat não sabe o que é um arquivo csv levanta a mão quem no chat não sabe o que é um arquivo csv todo mundo sabe aí
Tinho não sabe então vamos lá Tinho seguinte um arquivo csv um arquivo csv nada mais é do que um arquivo de texto um arquivo de texto tá um arquivo de texto que é separado por algum um caracter aspas especial beleza e cada linha é um registro Então vou dar um exemplo de arquivo csv temos aqui o arquivo por exemplo products csv olha só que interessante tem o arquivo products csv aqui Command separated vue ou seja eh valores separados por vírgula Beleza então a gente tem aqui olha só 1 2 3 4 5 linhas aonde eu
tenho separação aqui ó é justamente de ponto e vírgula tá vendo ponto e vírgula tá aqui por quê Porque é até tá cagado isso né tá cagado isso aqui precisava ter arrumado mas beleza a gente pode ajeitar isso também beleza Nem sempre é vírgula Exatamente exatamente por isso que eu não queria falar aí mas tá Safe do Safe Beleza então tá claro isso aqui galera tá claro isso aqui então isso aqui é um arquivo csv é basicamente arquivo de texto que tem alguma coisa que separa as informações aí pra gente beleza um outro arquivo csv
esse customer aqui ó olha só tem uma porrada de coisa uma porrada de coisa quantas linhas tem esse arquivo 792 olha só Belê e a primeira coluna ali é justamente a primeira linha é justamente o cabeçalho aí do meu arquivo Beleza então o seguinte Vamos tentar vamos tentar abrir aí um arquivo um arquivo qualquer então primeira coisa a gente vai pegar aqui Ah o o até para mostrar uma outra coisa se eu se eu abrir esse arquivo aqui ó se eu abrir esse arquivo o csv olha só vou abrir ele para vocês verem tá aqui
no no próprio no próprio Excel então ele é isso aqui no Excel ó ele é isso aqui no Excel Belê ó tá aqui ele é isso aqui no Excel show tá aqui esse arquivo no Excel aberto tá aí como que a gente faz para ele aqui no no nosso no nosso pandas né então eu posso colocar aqui ó Import pandas SPD tá lá e aí eu posso colocar aqui ó DF customer Def customers igual a pdre under csv desse jeito e aí eu tenho que passar o caminho deste arquivo então perceba ó eu estou executando
esse código aonde aonde que esse código está sendo executado esse código como a gente tá usando ele de forma iterativa ele vai ser executado aqui dentro da pasta chamada dia 02 então para eu chegar aqui nos meus dados eu tenho que andar um diretório para trás e para andar um diretório para trás é ponto ponto Então quando você usa ponto ponto você tá subindo o nível do seu diretório subindo o nível do seu diretório nós vamos estar aqui no desbravando pandas Então agora eu posso descer pra pasta chamada data e aí eu posso simplesmente passar
o customers então agora sim customers.csv deste jeito tá vamos executar isso para ver o que acontece então eu tô passando aqui tô pegando o pandas e usando o método do pandas a gente estava usando antes a classe A classe de séries e a classe dataframe agora Agora nós estamos usando um método do pandas chamado read csv e a gente só passa aqui o nome csv o endereço do arquivo csv vamos executar para ver o que acontece olha só ele importou ele importou ele importou do jeito que a gente queria é desse jeito que a gente
queria que que tá acontecendo aqui que que tá acontecendo aqui ele está importando tudo como se fosse uma coluna só então a gente tem que a gente eh pode né especificar no momento da Leitura Qual que é o separador então a gente pode colocar uma vírgula aqui e colocar CP igual a ponto e vírgula por quê Porque o padrão é a vírgula então se você quiser passar o mouse passa o mouse em cima de de csv ele vai te mostrar aqui ó várias informações ó várias informações e aí tudo isso aqui de opção para você
utilizar Tá bom então você pode agora deixar assim ó CP igual a ponto e vírgula quando você faz isso olha só que opa pera aí que eu fiz alguma coisa errada deixa eu ver oxe t t t que que eu fiz de errado mano a ao vivo sempre da pipoco né o meu se não colocar R antes do porque provavelmente você tá no Windows que que eu fiz de errado aqui mano só por causa do C deixa eu ver aqui uma coisa meu igual F pera aí deixa eu ver que que aconteceu a gente testou
tudo isso aqui em live Mano era para funcionar será que é Oxe eu tô achando que tá faltando isso aqui vamos ver uma coisa rapidão linha 443 pera aí linha 443 na linha 443 tem algum pipoco Ai que aconteceu na linha 443 Eita cara na linha 443 tem uma tem uma cagada lá acho que foi M clique foi um Miss Clique na linha 453 tem alguma coisa estranha lá agora vai ó não não não eh eh foi um Miss clique eu eu vou vou até atualizar mano posso até atualizar lá o diretório mas eu fiz
cagada Em algum momento lá na hora de subir os dados ó meu nem vai dar pau nem colocando barra contra É É Então esse src PF aí deu algum pipoco cara eh deu cagada Pera aí eu vou arrumar Nossa eu posso até depois ter que editar isso ã deixa eu ver onde que tá os dados que aí eu já vou arrumar aqui desculpa aí galera não tinha percebido Isso foi no momento de ter aberto aí os dados vou deletar esse cara e subir esse de volta pronto pronto tá lá galera Se alguém quiser eh pegar
o dado Eu já subi lá pro pro endereço Tá bom mas é só remover galera é só remover beleza é só remover mas já tá lá beleza então galera olha só que que Nice agora a gente tem isso aqui ó que lindo ó que lindo então a gente tem aqui uma tabelinha a gente tem uma tabelinha que que tem nessa tabela nessa tabela tem o ID do meu do meu consumidor né do meu cliente final tem o nome dele que por acaso são vocês aí do chat né Por Conta do nosso sistema de pontos e
e a quantidade de pontos que essa pessoa tem olha só que da hora então é isso que a gente tá utilizando aí pro nosso curso o nosso próprio sistema de pontos pra gente fazer análise desses dados Beleza então me digga uma coisa galera Me diga uma coisa agora que a gente tem esse Data Frame nas nossas mãos me diga qual que é o tamanho desse dataframe em número de linhas e número de colunas como que a gente encontra isso como que a gente encontra isso fala comigo como que a gente encontra o número de linhas
e o número de colunas então a gente pode colocar aqui o Def customer P Shape tá aqui embaixo né tá aqui embaixo Mas para o atributo que vai trazer essa informação é o shape então o Def P Shape ele traz uma tupla igual a gente viu só que agora com dois valores porque eu tenho linha e tenho coluna então eu tenho 791 usuários e três e colunas tá bom e três colunas Ok olha só que legal 791 e três colunas agora quanto será como é que eu descubro quantos quantos mega Quantos giga Quantos bytes essa
tabela Está ocupando na memória galera tem que dar sub pô galera tem que dar sub começar a fazer livezinha só paraos subs do canal hein aí eu quero ver aí eu quero ver a Carry é é isso sub não joga sub é É isso aí Memory usage isso aí vamos usar info Exatamente exatamente T dominges voltando do Ed já quem voltou doed levantar a mão tá tudo no YouTube ga ga tá tudo no YouTube mano então vamos lá galera quando a gente coloca customer info a gente ter essa informação aqui só que essa informação aqui
ó ela tá estranha só 18 KB que que a gente pode colocar Memory usage e coloca um DIP aqui quando a gente coloca um DIP a gente vai ter agora a real informação aqui de quanto que esse dataset Está ocupando em memória tá bom perfeito se a gente quiser saber uma estatística descritiva da quantidade de pontos da fotografia de quantidade de pontos que os meus consumidores tê como é que eu faço para saber uma estatística descritiva desses pontos a gente pode usar Def customer na posição points P describe desse jeito Olha lá que legal O
problema é que a gente tá falando que esse cara tá com o tipo de tá com o tipo de olha como é que tá aqui tá com tipo de Object Então a gente tem que transformar esse carinha aí para um tipo de inteiro Tá bom então vamos conhecer aí esse cara chamado eh chamado S type E aí aqui a gente pode colocar int desse jeito então quando a gente faz S Type na posição int que que ele tá falando aqui nossa nossa a gente tem mais caquita tem mais caquita aqui no csv mano tem mais
caquita no csv Nossa vamos arrumar na mão 59 a 9 a vamos arrumar na mão aqui vem em float o meu tá em float o meu já veio com int Que desgraça é miss Click é miss Click isso aqui não cabra um arquivo csv Beleza então vou tentar importar de novo vamos ver agora veio como meu veio como in A4 o meu veio com in4 describe Agora sim aqui veio 10059 a aqui veem float comparem comigo aí isso é trabalho de engenheiro de dados Nem tudo cientista mesmo beleza teve gente veio tem gente que veio
float me fala das estatísticas bateu as estatísticas as estatísticas que bateram Todo mundo tá com 791 a média deu 206 o meu veio com Object ainda será que tá com cagada aí Rodrigo tá igual meu 59 a bateu tudo bateu tudo bateu Eu nem consegui ler o arquivo aqui ué tem que apagar velho lá na linha 440 e pouco tinha escrito umas coisas estranhas tem que apagar aquilo lá na última linha na na última coluna tinha um src underline lá tem que apagar Belê então todo mundo bateu aí comigo tá batido mesmo quem fez float
e tal se quem veio como Object tem que corrigir lá ah lá t a test Domingos mandou procura por srz PF e apaga esse cara apaga esse eh src PF aí beleza continu mesmo se apagando Ô Cordeiros mesmo se apagando estranho mano estranho estranha asso linha 453 também acho que é 453 Beleza então olha olha aqui galera vamos vamos ler aqui o que que tá escrito ele tá falando então que Pontos aí a gente tem 791 certo 791 e a média de pontos aí que a galera tem é 206 O desvio padrão é 441 tem
gente que não tem nenhum e quem mais tem tem 4404 4404 tá e a mediana de 58 Olha como a média difer da mediana vocês separaram perceberam como difere a mediana tô falando de 58 e a média tô falando de 206 difere muito a Méia mediana então isso aqui tem uma cara de ser bastante assimétrico né tem uma cara de ser bastante assimétrico é que a média é muito influenciada pelos outl exatamente vamos ver tudo isso no curso de estatística Beleza agora galera vamos lá quero fazer mais algumas coisas aqui com vocês voltando pro Def
customer eu quero descobrir mano eu quero descobrir quem que é E aí agora a gente já vai aprender coisas novas hein eu quero saber quem que é quem que é o rapazinho ou a rapazinho que tem o máximo de pontos quem é que tem o máximo Vocês entenderam quem é que tem o máximo de pontos como é que a gente faz para descobrir quem é que tem o máximo de pontos beleza temos 791 pessoas aí quero descobrir quem é que tem o máximo como que a gente faz então de novo né Se eu olhar aqui
o describe o máximo é 4300 e qu 4304 então agora galera eu vou fazer o seguinte eu quero mostrar para vocês antes da gente ir direto para isso eu quero fazer a seguinte pergunta como que vocês fariam se eu tivesse ó vamos lá bab igual a gente fez com séries ontem eu quero fazer aqui com vocês se eu pegar se eu pegar e fizer o seguinte eu tenho notas aqui notas E aí eu quero eu tenho uma nota aqui ó 4.5 6 7 e e 3.5 beleza eu quero saber a posição de todas as de
todas as notas que são maiores do que cinco eu quero saber a posição de todas as notas que são maiores do que cinco quero pegar só as notas que são maiores do que C como é que eu faço como é que eu eu faria isso eu teria que fazer um for e em notas print notas por exemplo print I perdão tá aqui então eu tô exibindo todas as notas Mas eu só quero agora If I maior do que 5 e aí eu exibo só essas notas certo então é assim que a gente faria um uma
um um filtro digamos assim nas nossas notas se elas forem maiores do que cinco beleza tudo bem Beleza tamo junto aí o que que acontece galera eh como que a gente faz a mesma coisa aqui nos pontos né então o seguinte se a gente pegar se a gente pegar aqui e a gente viu como fazer esse esse if certo a gente viu como fazer esse if Beleza agora uma outra coisa que eu quero fazer como é que eu faria como é que eu faria para somar um ponto para todas as notas como é que eu
faço para somar um ponto em todas as notas fala com comigo eu poderia fazer assim ó notas eh eh for e em notas aí eu posso colocar notas novas aqui notas novas igual a isso aqui e aí for em notas notas novas ponto append e mais um teria que fazer isso aqui né ó teria que fazer isso aqui certo não dá para eu simplesmente pegar minhas notas aqui e somar mais um não dá para eu pegar simplesmente fazer assim ó notas underline mais um por exemplo não dá para fazer isso né ele não vai somar
para cada elemento não funciona ó não dá certo então eu teria que percorrer elemento por elemento e somando um certo é isso aqui que a gente vê realmente quando a gente tá trabalhando com listas agora vou voltar para cá vou voltar para cá quando a gente tá falando de uma série de uma série A gente pode fazer operações escalares e operações vetoriais com essa série Nossa até que nome difícil o que que isso significa significa que eu posso pegar a minha série que ela é um vetor ela é um conjunto de elementos e eu posso
fazer uma operação matemática como por exemplo somar 1000 pontos aqui então perceba eu adicionei 1000 pontos para todo mundo só de eu fazer séries a minha séries mais 1000 que que ele fez ele pegou um escalar que é o número 1000 e somou na minha coluna inteira então é o único valor é o único valorzinho aqui somando na minha coluna inteira beleza ô Lucas beleza V demais é então o que que que acontece se eu pegar o número o a minha série points e somar mais 1000 vai somar para todos os elementos da minha série
beleza perfeito eu posso fazer também - 1000 posso fazer - 1000 e tá lá eu posso fazer vezes ã 10 também funciona e a gente pode fazer também a gente pode fazer também operações lógicas eu posso fazer comparações 1000 para cada índice 1000 para cada valor 1000 para cada valor Beleza se eu fizesse uma coluna que não é número aí vai dar xabu aí vai dar xabu Então olha só se eu quero saber quem que são os pont [Música] maiores do que por exemplo 1000 que que ele vai retornar para mim que que ele tá
retornando para mim beleza que que ele tá retornando para mim ele tá retornando uma série bule ele tá me retornando uma série do tipo bule por quê Porque ele tá aplicando essa condição lógica para todos os valores da minha série beleza ele tá aplicando em todos os valores da minha série então da mesma forma que eu posso fazer operações aritméticas como soma subtração multiplicação eu também posso fazer operações lógicas como comparação como colocar maior menor igual e aí ele me retorna todos os elementos a mesma quantidade de elementos só que agora comparando se é de
fato maior ou menor então essa parte aqui da direita quando eu tô olhando para todos esses falses e tru ele tá me falando se aquela linha é verdadeira para aquela comparação lógica ok ele percorre toda a lista automaticamente não é que ele percorre ele faz uma uma ele faz uma operação vetorial que a gente chama ele não não vai fazer um for aqui tá beleza a gente não precisa pensar que isso aqui é um for beleza Ele só tá aplicando em todos os elementos ele tá aplicando em todos os elementos Ok beleza por que que
a gente tá fazendo isso galera porque agora se eu tenho true e false true e false eu posso fazer o seguinte ó Isso daqui é a minha condição condição Olha só condição aqui na linha 20 eu tenho a minha condição agora eu posso fazer o seguinte se eu pegar DF underline customer na posição condição desse jeito o que que vai acontecer quando a gente digita DF customer na posição condição ele vai retornar ele vai retornar apenas as que são verdadeiras aonde a minha condição é verdadeira perceba que ele começa na linha 1 depois ele pula
para TR depois para 5 depois para 26 depois para 29 depois para 34 e assim por diante Então quando você tá utilizando uma condição lógica no seu código pandas fazendo uma comparação de uma série com algum outro valor isso retorna uma série do tipo booleana você pode passar essa série pra posição do seu dataframe que ele vai retornar só as linhas que são true dessa série é assim que se faz filtro em pandas Beleza é assim que se faz filtro em pandas então agora voltando para o que a gente queria voltando tudo que a gente
queria como é que eu faço para descobrir quem que é a pessoa que mais tem pontos no nosso dataset como é que a gente faz isso então primeiro primeiro aqui a gente pode descobrir qual que é o máximo de pontuação então máximo de pontuação vai ser DF customer points P Max Olha só esse daqui é o máximo de pontos que a gente tem beleza e aí a gente pode pegar agora e falar assim cara o que que como que eu faço para comparar então DF underline customer na posição points igual igual ao qu ao máximo
desse jeito que que isso aqui retorna pra gente vai retornar fals fals fals fals e falso e vai ter alguém que vai ter o mesmo número que o máximo que não tá aparecendo aqui mas vai ter então a gente pode colocar isso aqui como condição desse jeito então essa parte aqui que eu tô selecionando na linha 26 que é DF customer points igual igual a máximo isso aqui essa parte que a gente acabou de falar ela vai ser o qu uma série buana com verdadeiros e falsos E aí eu posso pegar agora o DF customer
e colocar na posição condição e pronto a gente tem aqui a pessoa que tem mais pontos a gente tá pegando a linha inteira da pessoa que é igual igual a máximo O que é comum da gente ver o que que é comum da gente ver é comum a gente ver alguma coisa um pouco mais direta como por exemplo a gente vai remover essa parte da declaração máximo e a gente vai colocar diretamente aqui no lugar do máximo na comparação lógica e pronto então é comum você vê alguma coisa nesse sentido ó nesse sentido aqui e
é mais comum ainda a gente V alguma coisa com o sentido desse jeito que eu tô escrevendo agora que é a condição lógica estar toda aqui dentro deste jeito tá fica meio ripilante mas é comum também então o que que a gente tá fazendo aqui a eu tô mostrando para vocês se acostumarem que que a gente tá fazendo nesse momento aqui a gente tá colocando DF pontos igual igual a um escalar aqui desta maneira na linha 29 isso daqui internamente vai retornar uma série booleana que eu já estou aplicando o filtro beleza T poderia pegar
o retorno Max que veio do describe poderia mas não faz muito sentido tá ô Lucas tá dando para pegar aí cara melhorou Eh cara é tipo filtrar água com filtro de barro o outro filtro torneirinha é boa Legal então é isso OK tá claro galera então isso aqui galera o que a gente acaba de aprender com filtro no pandas é isso apareceu o nome da pessoa apareceu apareceu aqui ó apareceu aqui que que isso daqui retorna galera isso aqui tem cara do quê que que isso aqui tem cara isso aqui eu falo é esse retorno
do da execução o que que esse essa execução aqui quando a gente executa ela com essa condição lógica etc qual que é a carinha dela Qual que é a carinha dela isso aqui tem cara do quê isso aqui que tá selecionado um Data Frame certo tem cara de um Data Frame se isso é um Data Frame se isso é um Data Frame eu consigo navegar nas colunas não consigo navegar nas colunas então se eu quero pegar o nome se eu quero pegar o nome que que eu posso fazer eu não posso aqui depois depois disso
mandar um name Depois de toda essa caralha toda aqui ó depois de DF customer de toda condição lógica no final da linha eu não posso simplesmente pegar aqui e colocar um name para ver que que acontece E aí ele tá retornando isso agora galera agora galera eu sei que tá ficando eu sei que tá ficando meio gigante mas agora que eu quero mostrar uma coisa o por que a gente falou tanto deck e Lock tanto de ilock e Lock se eu quero obter apenas o nome apenas o nome como é que eu faço para obter
esse nome aqui como é que eu faço para obter esse nome porque isso aqui é o quê isso aqui tem cara do quê isso aqui tem cara do quê essa parte aqui que eu tô selecionando esse resultado aqui tem cara de uma série isso aqui tem cara de uma série com uma posição só mas é uma série então para eu obter apenas o primeiro valor eu tenho que dar um ponto Lock ou ilock não não é ilock 466 é ilock na posição zer ilock na posição zero porque é a posição galera é a posição da
série se for C loock eu vou ter que passar o índice e eu nunca vou saber o índice dessa eu nunca vou saber o índice ali do do do cara tá ligado não vai dar para eu saber então eu preciso sempre passar na posição zero então ó isso aqui ficou gigante vamos vamos melhorar isso vamos melhorar isso vamos melhorar Vamos colocar aqui aqui ó condição que a gente pode colocar condição condição vai ser igual a isso aí tá aqui condição condição aí aqui a gente pode colocar DF underline maior que vai ser isso E aí
eu posso pegar DF maior colocar na posição name pon ilock olha só que massa e aí eu chego no marqu zeira olha só que da hora olha só que da hora então a gente tem aqui a condição a condição desse cara aqui de DF customer points igual igual a customer Point na posição máximo é isso beleza aí a gente pega essa condição que vai retornar uma série booleana taca para dentro de Def customer tá aqui dentro de Def customer a gente pega esse Data Frame Def maior e busca a coluna name e pega a primeira
posição que é justamente quem tem o maior Olha lá mas pegar o valor de uma série somente usando não não você pode usar Lock Lock a gente falou disso ontem mas eu não sei que posição que tá Qual que é o índice desse cara entendeu para eu buscar senão eu vou ter que abrir ele e ele pode mudar se eu chumbar ali 400 e alguma coisa e esse cara muda aparece um outro em algum momento aparece um outro ser humaninho que tem mais pontos não vai ser mais o 400 e alguma coisa então o zero
eu garanto que eu tô pegando sempre o primeiro Beleza então isso cara é assim a maior motivação de eu ter falado ontem sobre ACK Lock Tá beleza tá claro galera além desses dois a outra forma cara é mais esses dois mesmo tá ilock Lock ou direto ou Direto você não passa aqui o ilock você passa direto o nome Tamo Junto Tamo junto galera tem gente perguntando aí tá vai ficar tudo salvo no YouTube mano vai ficar tudo salvo no YouTube tá bom tudo salvo no YouTube fala comigo aí galera Não quero perder vocês Deu para
entender como é que a gente faz condições lógicas no nosso no nosso Data Frame de pouquinho em pouquinho mas tamos junto é isso vamos de pouquinho em pouquinho vamos de pouquinho em pouquinho beleza Bom demais então tá bom então tá bom então eu vou até apagar isso daqui porque isso aqui foi só para finalidade de exemplo vamos fazer coisas mais interessantes eu quero saber por exemplo Quem que tá quem que tá entre 1000 e 2000 pontos como que a gente faz isso quem tá entre 1000 e 2000 Pons como que a gente vai fazer um
filtro para pegar entre 1000 e 2000 então a gente pode colocar novamente uma condição que vai ser DF pontos Aqui DF points maior ou igual do que 1000 e agora como é que eu coloco e também ser menor do que 2000 seguinte como a gente tá fazendo essas operações vetoriais no pandas não dá para usar o end a gente vai usar um operador que é o e comercial e a gente tem que colocar esse cara aqui entre parênteses tem que colocar entre parênteses o DF customer points maior ou igual Então a primeira condição lógica ela
fica entre parênteses e a segunda condição lógica aqui menor ou igual do que 2000 também fica entre parênteses tá Então nesse caso aqui a gente tá olhando usando o e Comercial entre as duas condições lógicas E aí aqui a gente vai ter apenas os valores que correspondem justamente ao nosso filtro tá vamos ver se isso aqui é verdadeiro se a gente colocar DF customer na posição condição a gente vai ter só a galera que tá entre 1000 e 2000 Olha só sim Só a galera entre 1000 e não tem ninguém aqui diferente disso tá não
tem ninguém diferente disso vou deixar aqui para vocês verem como que está beleza deu para entender tamo junto muito difícil tô perdendo vocês mano tô perdendo vocês não quero perder vocês fica comigo dá para usar um describe dá dá para usar um describe ponto describe aqui vai pegar só os dados numéricos não tem problema ele mostra olha só Aí a gente mostra o describe qual que é um ponto extremamente importante disso daqui galera tá E vocês estão junto comigo porque agora a gente vai dar mais um passo ainda falando sobre filtro e pode bugar um
pouco a cabeça de vocês tá bom vocês lembram vocês lembram quando a gente falou não sei se eu falei isso acho que eu não falei isso para vocês de listas lembram quando a gente falou declaração de variáveis describe prova que está só sim prova exatamente e lembra quando a gente falou sobre declaração de variáveis e que que eu falei para vocês variáveis eram como o qu o nome da variável era como o qu lá na no no no curso de Python eu falei que as variáveis eram como postites lembra que a gente falou isso as
lives eram como postites E aí o que que acontece o postit a gente vai colando em vários lugares o que que acontece vocês concordam que eu posso ter um mesmo objeto o mesmo objeto aqui ó esse objeto aqui e eu posso colar vários postites nele vocês concordam que eu posso fazer isso eu posso um quadro é o maior exemplo disso tem um quadro com vários posts eu posso ter uma garrafa com vários posits pois bem então vamos supor que a gente crie uma lista chamada a = 1 2 3 4 beleza e aí eu falo
que B ig a a desse jeito então eu vou colocar aqui ó print a print a e print B Olha lá print a e print B beleza certo tudo tranquilo só que aí agora eu vou fazer o seguinte eu vou falar que B vai adicionar vai adicionar um elemento elemento CCO E aí eu vou copiar aqui print a e print B que que aconteceu galera que que aconteceu o que que aconteceu aqui quantas listas existem quantas listas estão existem aqui Só existe uma lista só existe uma lista existe esta lista aqui só que eu tenho
um postit escrito a em cima dessa lista e eu tenho um outro potit também escrito B nessa mesma lista a outra é só referência então aí que tá não é que a outra é referência As duas são referências no Python a gente só trabalha com referências beleza no P tudo é referência o meu a é referência até mesmo os valores até mesmo os valores é dentro da lista são referências por isso que você pode usar qualquer tipo dentro da lista porque cada elemento da lista é apenas referência para os objetos beleza não é que ele
sobrescreve ele só tá apontando é o postit é o potit pensa que é o postit eu tô pegando meu postit e tô colando a minha garrafa se eu alterar essa garrafa se eu abrir essa garrafa vocês concordam que os dois postites ainda estão falando da mesma garrafa que tá aberta agora ela mudou o estado ela mudou para quem pros dois postites porque os postites só estão colados na mesma garrafa Beleza beleza então não é isso não ô de caotic Não é isso não de caotic Não é isso não é a a eh não é que
ele adiciona na a ou não adiciona na a não existe nova lista não não existe nova lista é apenas uma lista é apenas uma garrafa é apenas uma garrafa entendeu Tipo assim mano ó vou tentar dar outro exemplo geladeira geladeira da sua casa geladeira da sua casa você só tem uma geladeira na sua casa se eu mudo se eu mudo a temperatura do freezer a temperatura do freezer também vai mudar para minha esposa pra minha filha para todo mundo porque só existe uma geladeira só que noss três usamos a mesma geladeira então se eu altero
ela eu altero para todo mundo não altero só para mim eu não tenho uma cópia da geladeira minha entendeu se eu quero fazer essa cópia da geladeira eu tenho que fazer aqui B iG pon copy e aí eu copiei agora a lista depois que eu copio a lista eu tô falando assim ó são coisas diferentes três variáis vai na geladeira exatamente Então agora eu separei beleza é como S link no sistema do equivo Linux exatamente Beleza então tá bom tá claro isso galera tá claro isso então agora vamos lá que que por que que eu
tô falando toda essa merda né voltando pro pandas quando a gente faz um filtro como este daqui de pegar o primeiro o valor mais alto né quem que é o valor mais alto e quando a gente faz isso daqui o Python não está criando data frames novos ele não tá criando data frames novos O que é muito bom o que é muito bom por quê Porque isso economiza memória imagine eu ter que pegar um pedaço dataframe e agora Criar novo então o que que ele faz quando ele aplica filtro ele te traz a referência dos
dados filtrados mas ele tá apontando pros mesmos dados Vocês entenderam a diferença entenderam o que que tá acontecendo Então a minha memória não tá explodindo eu não vou começar a explodir não vai começar a criar mais e mais e mais e mais memória é uma consulta é uma consulta só que é uma consulta consulta que ele não duplica o resultado da consulta Ele só tá apontando para os elementos Aonde a condição é verdadeira e ele te mostra aquela aquele conjunto beleza tudo bem parecido com index mais ou menos Então se a gente tentar pegar por
exemplo né pegar esse esse carinha aqui que vai tá na condição né DF under 1 2000 ó Criei um dataframe novo chamado D under 122000 que vai ser igual a nossa condição aqui ó deste desta maneira tá lá olha só tá aqui agora eu vou tentar fazer um negócio eu vou tentar alterar alguma coisa aqui por exemplo vou criar aqui um um campo novo que vai ser points igual a points mais 1000 desse jeito e vou dar um control enter Olha só ó que que aconteceu aqui que que aconteceu aqui que quee tá falando ele
tá falando mano você tá tentando setar um valor na cópia de um Slice FR Data Frame tipo assim você tá por meio de uma referência uma fatia que você pegou Você tá tentando alterar alguns valores velho então o que que acontece se você tá alterando essa galera aqui você pode estar impactando o seu dataset principal você pode estar impactando o seu dataset principal aqui ó esse cara esse cara aqui você pode estar impactando Justamente esse cara por quê Porque você tá alterando uma coluna de uma fatia que está filtrada sacou isso é extremamente perigoso é
que não é a cópia né mas a referência exatamente rofra Então galera se você vai aplicar um ó escuta o que eu tô falando se você vai aplicar um filtro pra depois manipular esse dado se você vai fazer um filtro para depois manipular o dado faça uma cópia deste resultado como que faz uma cópia é só vir aqui depois do seu filtro e colocar ponto copy só isso agora ele não vai reclamar mais Prontinho se você olhar agora tá aqui o seu dataframe novo com ó nem satisfaz mais a condução porque eu Já alterei adicionei
1000 para todo mundo isso é extremamente importante e pouquíssimos lugares dão Atenção para isso certo aqui também tem aquelas Fas de DIP copy no Python tem tá no Python tem o código mas você não precisa disso aqui no no pandas tá você pode usar só o copy é que o Deep copy você quer copiar exatamente o endereço né o Deep copy toda vez vem o Ed Nossa pandas é similar mais ou menos tem suas diferenças aí o objetivo é o mesmo mas tá claro isso aqui galera não entendi o copy você vai copiar o resultado
do filtro é aí eu vou criar um novo objeto o r Cordeiros ele vai e eu vou criar um novo objeto então que que acontece quando eu não tenho deixa eu esperar o Ed que aí eu explico para todo mundo tá vamos fazer se Bora uma pausa me dá só voltar ô ô chagado que aí a gente faz tá ó Então todo mundo voltou do Ed quem voltou é do Ed aí tá com nós todo mundo voltou lá no YouTube exclamação YouTube então o seguinte galera olha só sem o copy sem o copy sem o
copy que que acontece sem o copy acontece que esse dataframe df1 2000 ele não foi duplicado daquela fatia que a gente tá filtrando não é um dataframe novo ele só é uma referência pros mesmos dados do dataframe antigo só que pra fatia que é verdadeira dentro da nossa condição lógica entendeu então eu não estou aumentando o tamanho dos meus objetos em memória ponto quando eu faço pon quando eu faço ponto copy eu estou pegando essas linhas que eu encontrei que são verdadeiras na condição lógica e aí realizando uma nova cópia uma nova cópia para ficar
separada do meu dataframe original Então os dados do Data Frame original continuam lá íntegros certinho e agora eu tenho uma cópia aonde a minha condição foi verdadeira com o ponto copy é um recorte exatamente beleza é isso E aí você pode alterar agora o carinha DF 1000 2000 por quê Porque tá desvinculado ele fez uma cópia dos dados beleza é isso tá bom ufa é isso tamo junto Deu para entender então filtros e copy essa é a primeira parte da aula de hoje beleza se eu quiser filtrar Para justamente tratar os dado original ele vai
ficar me dando esse Alerta ô Bia aí se você quer tratar o dado original Provavelmente você não vai est fazendo filtro certo você não vai tá fazendo filtro então você não precisa se preocupar com isso tá se você não quer se você não quer tratar o dado original você vai tá fazendo filtro aplicando filtro agora se é o dado original você trabalha direto no dado original não precisa fazer filtro tá bom Belê galera é isso Voltamos às 9 em ponto tá bom às 9 em ponto para reduzir uso de memória só com cop não o
contrário mano o contrário contrário o cop você tá gerando Cia você tá aumentando a memória você tá colocando mais objetos em memória sacou sem o copy é para você diminuir o uso de memória só que você está comprometendo a integridade do seu dado sacou Se você não for alterar o seu dado não tem problema é como se usasse um filro Excel alterasse os dados e mudasse os dados a tabela toda Exatamente exatamente salve não sei se você comentou mas o canal do YouTube vai ter exclusivo ou vão ser os membros da não ô ô clil
isso aí ainda não sei exatamente que eu vou fazer né mas eu tô pensando em colocar alguns conteúdos que são gerados a partir das lives lá tá ligado então por exemplo já tem duas coisas lá que foram feitas em live e que são exclusivos para membros que é o primeiro dia do nosso do nosso projeto aí com gol Python e docker e Maria DB eu subi tem uma o primeiro dia e subi hoje o segundo dia tá só para membros então a gente tá fazendo na Twitch e o vod fica aqui mas aí eu não
não faço nenhum tipo de edição fica o o vod cru e E aí lá no YouTube eu faço uma edição e tal fica um recorte bem mais já direcionado é um corte da Live né aqui na Twitch vai ter o vod completo e lá no YouTube vai ter um corte da Live já mais bem editado para facilitar o consumo da Galera Belê E aí eu tô pensando cara como é que eu faço para essas coisas não concorrerem né porque eu quero que a galera tanto seja assinante aqui na Twitch principalmente para não tomar Ed participar
da Live ganhar pontos eh participar ao vivo e lá no YouTube também ter um conteúdo já mais Premium Vamos colocar assim né uma dúvida quando é melhor fazer a manipulação no SQL e quando é melhor fazer no Python com pandas o só gosto mesmo não não é só gosto tá a gente pode falar disso vou até esperar o pessoal voltar porque a gente pode falar disso O pandas galera Eh galera já tá aí quem tá aí quem da aí dá um salve quem d aí quem tá aí no chat dá um eu no no chat
pra gente saber se tem gente aí com a gente já pra gente começar ó nove em ponto hein eu ouvi o black society Sim black Lab society é isso então o seguinte galera Pergunta aí vai Vamos responder pergunta pô mas tô vendo pandas tô vendo SQL né quando que eu uso pandas quando eu uso SQL galera SQL é sempre quando você for trabalhar com grande volumes de dados e que esses dados estão em servidores como por exemplo um banco de dados um banco de dados Oracle SQL server eh um postgre Maria DB mql o que
for você usa SQL você prepara todo o seu dado faz vários joins lá l no SQL e depois você traz isso pro pandas então o pandas ele é utilizado para você analisar o dado e não um dado transacional tá eh por quê Porque o pandas ele vai trabalhar só na sua máquina ou numa máquina reduzida enquanto o banco de dados é um servidor que trabalha com processamento de dados tipo o próprio nome fala banco de dados então ele tá preparado para isso agora o pandas é quando você tá trabalhando na sua própria máquina e você
tá interessado em fazer análises mais avançadas que às vezes o SQL não é capaz de fazer entendeu então use o pandas num volume de dados reduzido depois de você ter juntado várias bases e chegado numa tabela digamos assim final já mais estruturada E aí você só segue na análise daquele conjunto de dados daquele dataset beleza Tá bom por isso não se usa pandas para engenheria de dados na hora de engerir os dados exatamente tá bom Exatamente tudo bem então o seguinte galera vamos lá eh a gente fez coisa para caramba aqui já né a gente
fez coisa para caramba Então vamos revisar antes da gente seguir Porque já já estamos avançando aí no horário não quero deixar vocês mais esperando mas a gente viu como importar dados usando o CS se v a gente viu aqui como eh ver o tamanho dimensão dos nossos dados tá eh a gente viu aqui também qual que é a dimensão do tamanho e memória dos nossos dados a gente fez um describe dos dados a gente viu aqui como fazer filtros no nossos dados utilizando uma condição lógica Lembrando que eu posso pegar uma série e comparar Fazer
uma comparação lógica uma operação lógica dessa minha série com alguma outra coisa que ele vai me retornar uma série nova só de booleanos e aqui a gente viu a mesma coisa E aí a gente se eh mostrou o cuidado que a gente tem que ter em usar o ponto copy e percebam né quando a gente faz a comparação lógica O Retorno dessa comparação lógica é um data frame um dataframe igual ao dataframe anterior com as mesmas colunas só que com as linhas filtradas Tá bom então é isso e que mais Então é isso aí a
gente viu aqui que a gente pode somar valores e tal beleza tá tem algumas coisas que eu pulei então aqui a gente tá falando e dos Filtros né Tudo bem até aqui galera falei aqui uma revisão basicamente pra gente filtrar as coisas e tal eu quero que a gente dê alguns passinhos aí para trás tá e seguinte olhando para esse dataset esse dataset aqui ah a gente viu como fazer aí como andar nas linhas né a gente viu o lock ilock a gente viu como andar nas linhas tá como que a gente anda nas colunas
então a gente viu que a gente pode pegar aqui o DF customer e passar por exemplo name desse jeito né e a gente viu que a gente pode passar o ui ID desse jeito mas como é que eu faço para pegar só duas colunas igual no skl que a gente usa select ui id e name from DF customer né como que a gente faz para selecionar só duas colunas eu quero selecionar o ui ID desse jeito e o name não me interessa mais o points eu só quero id e eu eu quero name quero selecionar
essas duas colunas como que a gente faz para pegar só uma é só eu passar assim que eu tenho uma série Mas eu não quero só uma eu quero as duas eu quero Eide e name como que a gente faz bom é tentador a gente colocar aqui desse jeito né Desse jeito eh com o name né Desse jeito tô falando desse jeito Às vezes a pessoa não tá enxergando aí na tela mas basicamente é o é Tent a gente colocar uid ví name isso aqui não vai funcionar Tá isso aqui não vai funcionar por porque
isso daqui é como se a gente tivesse querendo acessar uma chave chamada id não existe essa chave não existe essa chave então o que que acontece a gente pode passar uma lista de valores aqui dentro por exemplo colunas assim colunas uid isso daqui é uma lista com único elemento se a gente passar olha a diferença se eu escrever só uid desse jeito ó Isso daqui é o qu Que tipo de objeto é isso Que tipo de objeto tem essa cara aqui olha só que tipo de objeto fala comigo vai meu chat chatz lindo que que
tipo de objeto tem esse cara que tá selecionado aqui séries certo se eu colocar agora mais um colchete aqui ó desse jeito eu passei uma lista agora certo tem uma lista ali dentro que eu tô passando uma lista que cara que tem esse objeto aqui agora ó que cara que tem esse objeto aqui que tá mostrando o ui id e uma porrada um dataframe um dataframe de uma única coluna Beleza então essa é a grande gincana se a gente colocar agora aqui name desse jeito Olha só agora a gente tem um dataframe com duas colunas
um Data Frame com duas colunas Beleza então é assim que a gente consegue navegar nas nossas colunas beleza e aí pode às vezes você vai ter um trabalho por exemplo Ai Olha só você mandou aqui esse dataset para mim só que as colunas não estão em ordem alfabética aparecer alguma merda dessa Em algum momento para vocês ai não tá em em alfabética como é que você faz para ordenar as colunas em em alfabética do seu dataframe né Vocês podem se perguntar Vocês podem se perguntar olha só que legal Def customer Não isso não vai funcionar
ô jand não vai funcionar como que você pode fazer bom como que eu obtenho como que eu obtenho as colunas do meu dataframe qual a lista de todas as colunas do meu dataframe como é que a gente obtém a lista de todas as colunas do nosso Data Frame ele é uma lista agora não é não não é isso aqui é uma lista o meu Data Frame continua sendo dataframe tá Então como que a gente faz isso obrigada pela Ride a gente tá no meio de um curso aqui galera não vou conseguir falar tanto mas valeu
demais aí muito obrigado aí sejam todos bem-vindos e bem-vindas tá que que acontece eu tenho aqui o meu dataframe eu tenho as colunas para eu obter essas colunas Como que eu faço ponto cols tá aqui ó ponto colons eu tenho minhas colunas beleza tenho minhas colunas e eu tenho depois do ponto colons eu posso chamar isso aqui de to list eu jogo isso aqui para uma lista Olha só então eu tenho dataframe colums que é um atributo do meu dataframe e essas colunas Eu tenho um método chamado to list joguei isso aqui para uma lista
então eu posso chamar isso aqui de colunas ó colunas simples assim tenho colunas tá aqui minhas colunas beleza lindo maravilhoso eu posso simplesmente fazer um ponto sorte das minhas colunas e eu ordenei a minha lista de colunas então perceba eu não mexi nada no dataframe meu Data Frame tá do mesmo jeito não mexi nenhuma do mesmo jeito que que eu fiz eu só peguei as colunas joguei para uma lista Então agora eu tenho uma lista com o nome das minhas colunas nada a ver com o dataframe não tem nada a ver com o dataframe só
peguei o nome das colunas beleza e eu ordenei em ord alfabética que que eu posso fazer eu posso pegar agora e digitar DF underline customer na posição colunas o que que ele vai fazer ele vai retornar para mim a gente não navegou desse jeito a gente não navegou desse jeito aqui eu tô navegando do mesmo jeito só que passando agora a ordem que eu quero olha só pronto e se eu quero reordenar meu dataset para ele realmente ficar numa ordem diferente daqu ele tinha Originalmente é só eu reatribuir a ele mesmo foi uma pergunta que
surgiu durante o intervalo té E se eu quero fazer uma cópia do meu dataframe pro próprio dataframe antigo tipo o mesmo postit Como é que eu faço pego o seu dataframe e atribui o que que você quer pronto então desse jeito você tá alterando o seu próprio dataframe pronto acabou então eu tô pegando o meu dataframe o postit e colando meu postit em outro lugar sacou é é isso que a gente tá fazendo beleza ão comigo entenderam O que que a gente fez aqui dá para dar um ponto sorte em uma coluna você quer a
gente vai ver isso depois tá a gente vai ver isso acho que amanhã como ordenar os pontos por exemplo né ordenar em alfabética dá para fazer isso a gente vai ver isso depois tem uma espécie de ilock pra coluna Ô Eitor você eu me perdi no to list vamos lá vamos lá vamos lá ó que que acontece mas tem como tem como tem como a gente usar sim tá ock Vai tanto Navegar em linha em coluna A gente pode ver isso depois seguinte Olha só Def customer tá Def customer existe aqui existe aqui um um
atributo chamado col tá só que esse atributo chamado col ele não é exatamente uma lista ele tá mostrando pra gente aqui nessa parte que eu tô selecionando uma lista certo ó index E aí aqui essa parte só que isso não é um tipo lista É um tipo index É um tipo lado pandas que a gente não quer mexer com ele então o que que eu faço eu vou converter isso aqui que tá com tipo Object etc tipo index aqui eu vou converter para ponto list tá poderia fazer isso poderia fazer desse jeito ou poderia simplesmente
converter para lista desse jeito aqui igual a gente converte de inteiro de de float para inteiro de string para inteiro ou de string para float etc dá na mesma é a mesma coisa eu tô convertendo a minhas colunas né o tipo colunas para lista é a mesma coisa então o to list ou passar list eu tô convertendo pra lista por quê Porque agora eu quero brincar isso no formato de lista para poder ordenar por exemplo desse jeito porque se eu tô com uma lista na palma da minha mão eu sei trabalhar com lista facinho certo
no Python a gente viu já lá no primeiro curso de Python como é que trabalh com lista então quero trabalhar com listas ao invés de trabalhar com esse jeito aí index que eu não conheço e não é o foco aqui a gente conhecer ele então vamos trabalhar com lista e faz um ponto sorte na lista para ordenar a lista e acabou Belê ficou mais claro a motivação de usar list então a gente converte pra lista ordena a lista e já era ordenada a lista a gente reatribuições do meu dataframe antigo agora nesse dataframe novo que
é uma view do antigo então tipo o antigo agora tá sem referência nenhuma entendeu é isso e a gente segue com ele aqui desse jeito aqui Belê Então tá Safe do Safe beleza bom demais perfeito agora galera eh tô vendo aqui se eu tô pulando alguma coisa do nosso cronograma tá perfeito como que a gente faz para renomear colunas então por exemplo nesse nosso dataframe nesse nosso dataframe está tudo em ordem e em nome inglês name points Eid como que eu faço para renomear eu quero colocar um nome ao invés de name quero colocar nome
ao invés de points eu quero colocar pontos ao invés de é ID eu quero colocar simplesmente ID ou eu posso manter Eu quero alterar só esses dois nomes aqui eu quero usar o name e quero usar o points como que a gente faz para renomear a o nome das nossas colunas então pode ser que apareça aí para vocês esse tipo de necessidade né como que a gente faz eu posso utilizar o ponto rename ponto rename e aí o que nós queremos renomear nós queremos renomear colons desse jeito então vou renomear colons para renomear colons eu
posso passar um dicionário eu posso passar um dicionário para ser aqui a forma que a gente vai renomear Aonde a chave do meu dicionário vai ser o nome antigo por exemplo name e o valor vai ser o nome novo e eu vou fazer isso aqui para name então a chave do meu dicionário aqui eu tenho um dicionário que a primeira chave é name e o valor associado a essa chave é nome depois uma outra chave chamada points e o valor associado vou até dar um enter aqui o valor associado vai ser pontos se a gente
executar isso se a gente executar isso 1 2 3 e olha só executamos ele tá mostrando para mim um dataframe novo com nome pontos Eid ou seja ele renomeou as colunas que a gente pediu eu passei um dicionário aqui aonde a chave é name e o valor associado a essa chave é nome depois um points o valor associado pontos beleza T isso aqui renomeou o meu dataframe não olha lá então perceba Perceba o rename isso é extremamente importante o rename ele gera um dataframe novo ele não é igual que a gente tinha conversado de tá
apontando pros mesmos valores do Data Frame antigo Não ele tá trazendo para você um dataframe novo ele não alterou o dataframe anterior tudo bem Deu para entender isso galera então o rename ele cria de fato um dataframe novo tudo bem então se eu quero alterar o meu próprio dataframe O que que a gente precisa fazer igual a gente fez aqui aqui em cima na linha 51 52 nessas linhas aqui de cima o que que a gente precisa fazer atribuir a ele mesmo então a gente pode fazer exatamente isso mesmo reatribuir a ele mesmo tá então
agora sim tá aqui nome produtos só tem essa forma não tem uma outra forma Então dentro do nosso dataframe na hora de fazer o rename a gente tem um cara que a gente pode usar então ponto rename Agora vou renomear o nome exatamente cols igual a por exemplo uid do P ID desse jeito vírgula in igual a true o que que é isso quando a gente coloca o implace igual a true o meu rename está renomeando a coluna uid para ID no próprio dataframe no próprio dataframe então eu não preciso fazer essa reatribuições bom tem
vários outros métodos que fazem isso também rename é é um deles a gente vai conhecer outros tá mas o inace faz isso daí pra gente tá bom Belê Tamo junto galera muito embaçado muito embaçado é muita coisa né é muita regrinha é muita é muito comando tá lindo Susa não mudou tem certeza mano e é para mudar cara Normalmente quando acontece esse tipo de erro é culpa nossa dá uma olhadinha aí Então galera a gente avançou para tá eu quero que a gente tente fazer essa mesma coisa com outro arquivo algumas outras coisas com outro
arquivo a gente viu o DF customer eu quero ver outro é justamente isso que eu não tenho essa referência de todos os comandos que eu posso usar é só com o tempo o o r Cordeiros o nosso curso aqui ele vai passar superficialmente por comandos básicos que vai te tirar do zero que vai tipo ter te dar um kit de sobrevivência o que eu tô te entregando Ô Cordeiros é um kit de sobrevivência cara tá ligado para você poder começar de algum lugar sacou E aí depois você vai cada vez mais aprimorando esses conhecimentos tá
então aqui é só o começo mesmo o que eu quero é que por exemplo Ah eu fazia tudo isso no R eu quero começar a fazend no Python é muito difícil começar a fazer no Python Porque você não conhece nada o que eu quero fazer aqui com vocês é olha vamos dar o primeiro passo juntos vamos olhar do começo ao fim coisas básicas que agora vocês podem começar E aí vocês podem sair do R sair do Excel e tentar fazer as coisas no Python agora beleza é isso Demorou então e eu tô vendo aqui as
informações a gente tá dentro da aula tá a gente tá no ritmo dentro do esperado tá então galera eu quero que a gente Tenta abrir outro arquivo e aí a gente vai tentar abrir junto esse arquivo eu quero que vocês interagem bastante comigo porque tem mais alguns truquezinhos tá até aqui tá tudo bem Fala comigo a gente fez os filtros a gente viu como navegar nas colunas usando listas aqui então Sempre que você quiser navegar nas colunas mudar a ordem das colunas etc usem listas beleza e aí agora a gente viu como renomear colunas perfeito
estamos junto agora vamos lá vou pegar um outro csv aqui tá vou colocar Import csv2 aqui ó Import csv 02p um outro arquivo tá E aí a gente vai tentar importar o products Vamos tentar importar o products então Import pandas SPD E aí DF vai ser igual a pdre csv pon P bar datata bar products P csv se a gente tentar importar isso vamos ver o que que acontece olha só a gente tem exatamente o mesmo problema que tinha no momento anterior então a gente pode passar o CP igual a ponto e vírgula beleza E
tá lá que que aconteceu aqui galera tá aqui mano a exclamação exclamação agenda velho exclamação agenda mas eu vou tentar colocar assim tá então o que que tá acontecendo aqui galera conversa comigo mais um AD Nossa a gente perde 4 minutos da Live mais de 4 minutos vai 6 minutos quase da Live com ed código ficou assim hã Por que que você fez isso TAM Engine Python E por que C non o c tem que ser ponto e vírgula o CP tem que ser ponto e vírgula e você não precisa dar Engine Python não você
der uma visão sobre o vest code também no começo da aula cheguei agora eh nas aulas de Python sim fo único jeito que deu certo perguntei pro chat GPT Que estranho dá um estranho TAM porque o o arquivo é o mesmo que o meu o csv já tem uma coluna de índice uma coluna de índice exatamente que a gente chama de header tá bom que a gente chama de header Beleza depois a gente vê junto estranho E então vamos lá galera voltando do Ed né então a gente tem que colocar o c que a ele
vai mostrar qual que é o problema disso galera a gente tem aqui nesse arquivo a gente não tem um cabeçalho a gente não tem um cabeçalho então eu posso depois essa vírgula posso dar um enter aqui e aí novamente passar a mão ele tem aqui ó header tá vendo header Vamos tentar passar um header n aqui ó header igual a n para ver que que acontece tá então colocar uma vírgula aqui uma vírgula aqui olha só heer None olha só que legal olha só tá aqui o qu não aconteceu nada aqui seu aqui não aconteceu
nada caraca que achei que era erro do meu Ah não boa então quando a gente coloca header None ele corrige aqui ó ele tá pegando agora isso aqui Mas se a gente quiser se eu tentar vamos tentar aqui colocar ó ID vou tentar aqui vou me arriscar aqui name description será que dá certo vamos ver não sei se vai dar certo isso aqui não dá certo não posso fazer isso aqui beleza então vamos colocar n mesmo vamos ver se tem mais alguma coisa acho que tem colons aqui acho que é names ó vamos tentar names
names igual a ID name description agora vai ó que beleza ó que beleza então a gente pode importar um arquivo e passar algumas informações eu só vou comentar esse cara para ver se continua funcionando continua funcionando Olha só se eu for passar names se eu for passar names eu posso ignorar aqui o header tá eu posso ignorar o header posso simplesmente apagar o header e colocar deste jeito aqui ó Belê e pronto a gente corrigiu beleza eu quero que vocês tentem fazer um exercício agora tá a gente tem alguns minutos aí a gente tá adiantado
eu quero que vocês tentem fazer um exercício eu quero que vocês eh renome esse dataframe tá então DF eu quero dar um print no DF e eu não quero mais que esteja por exemplo name e description eu quero que esteja nome e descrição eu quero que importe desse jeito mas depois aqui na linha de baixo eu quero que vocês renome essas duas colunas para nome e e descrição como que a gente faz isso exercício para vocês Deu para entender Deu para entender o que que é muito obrigado pelos subs aí viu galera quem tá descarregando
o sub go demais é obrigado sempre a utilizar head n podemos a partir a partir logo pro names é como eu falei a gente pode partir sair do names se você colocou o name você ignora o header igual eu fiz aqui ó nem tem mais o header aqui nem tem mais o header aqui o blash fe nem tem mais já ignorei Belê exercício feito vamos ver vamos ver V eu quero ver alguns eus aí pode repetir a atividade Bruno dado que a gente importou o arquivo desse jeito a gente importou o arquivo desse jeito com
essa sintaxe aqui aqui com a sintaxe do pd read P pá CP igual a ponto e vírgula names igual não sei que beleza eu quero que vocês façam o uma mudança no nome da coluna name para nome e da description pra descrição e reatribuir isso para a variável DF pra gente mostrar o DF agora com o no lugar de name nome no lugar de description descrição é isso me manda o código aí muita gente já fez ah lá ok God Então vou pegar aqui ó do Ilan fez desse jeito ó que legal então ele não
utilizou o inl e tá tudo bem olha só que legal tá lá DF igual a rename colums pá P pá e beleza Olha só o Chelo gusa Ele usou implace então o Chelo gusa fez por exemplo vou pegar aqui ó vou copiar aqui o dele tá aqui vou alterar aqui só para dar uma quebra zinha de linha tá aqui e também funciona tá bom aí ó bom demais beleza Opa esse aqui tá errado hein ó esse aqui tá errado o do o do o do chello tá errado aqui tinha que ser name hein ó ponto
negativo para você agora tá certo beleza agora tá certo tudo bem aspas D simples tanto faz tanto faz Belê bom demais galera que bom e agora galera a gente tem quero o que muda os arpl já expliquei explicou durante a transmissão mas basicamente ele vai alterar o próprio objeto você não precisa reatribuir o objeto ele altera o próprio objeto Então galera a gente tem mais 20 minutinhos aí no máximo mais 20 minutos eu quero mostrar para vocês como que a gente importa dados do Excel porque vocês podem bater a cabeça aí com dados do Excel
tá então eu vou abrir aqui um novo arquivo e colocar Import Excel ponp Então vamos lá pro Excel novamente tralha percent percent Import pandas SPD E aí agora DF vai ser igual a PD read under Excel Olha só se a gente colocar defre só da gente colocar df. read vai aparecer uma de coisas clipboard csv Excel feather fwf gbq vocês sabem que é gbq boas práticas Qual que é a melhor maneira ou não depende xizado depende tá a gente vai ver isso mais pra frente cara gbq é Google Big query Google Big query exatamente tem
como você fazer uma conexão junto com o Google bigquery e pegar dados do bigquery pandas tá bom e hdf HTML Jon orc Parque picle SAS spss skl query sk table stata table uma porrada beleza uma porrada então agora a gente vai fazer Excel Excel tá E aí eu vou passar o endereço do Excel então pon pon bar datata bar transactions pon xlsx desse jeito beleza que que vai acontecer aqui 1 2 3 e 1 2 3 e de alguém deu pau de quem deu pau não é possível que de ninguém deu o pau de alguém
vai dar pau o meu tá pensando o meu deu ruim ah lá ahá lá beleza obrigado blash Fi que que acontece Olha só vamos ler esse erro aqui tá vamos ler esse erro aqui ó o erro que apareceu foi esse erro ó tá Import error né deu esse erro aqui que que acontece que que é esse erro esse erro é porque o Python ele precisa ele precisa eh conhecer como importar Excel o pandas precisa saber como importar Excel então ele fala olha tá faltando uma dependência chamada Open P XL beleza Open Pie XL Então você
vai copiar isso vai copiar esse Open Pie XL Vou colocar aqui ó colocar aqui e aí aqui no cantinho direito ó bem aqui ó aqui embaixo no cantinho direito debaixo do dessa parte aqui que a gente tá vendo dessa parte aqui aqui embaixo dessa parte que tá escrito código que a gente executou connect to base etc aqui embaixo onde tá escrito Type Python você vai digitar assim ó exclamação PIP install Open P XL beleza Open P XL e Dá um enter pay aliás shift enter shift enter beleza beleza para quem teve esse erro do Open
P XL É isso aí executou você pode fechar esse cara aqui ó Fecha essa parte do interative Pode fechar e executa de novo aqui Belê E aí vai funcionar e é isso se não deu erro galera é porque não tava instalado é porque já estava instalado senão deu erro Belê Então galera mesma pergunta me falem aí quantas linhas e quantas colunas tem esse dataframe quantas linhas e quantas colunas tem esse dataframe por quê Porque o notebook é um lixo mano notebook eu vou ter que usar o y. Python notebook não vale a pena não vira
mano aqui eu consigo versionar código aqui eu ten um arquivo ponp aqui tá tudo integrado no vs code o ambiente do vs code é muito mais agradável que do Júpiter uso o Google collab nem com uma arma apontada na minha cabeça df. Shape então Def P Shape mostra pra gente quantas linhas e quantas colunas olha só que G como é que eu faço para ver as primeiras cinco linhas do meu dataframe galera vamos lá como é que eu faço para ver as primeiras cinco linhas do meu dataframe e o notebook code o ripilante se não
for ponto pai é o ripilante a gente já tá fazendo isso ó a gente já tem aqui tudo que a gente precisa df. Red Olha só df. R temos aí as primeiras cinco linhas do nosso dataframe Olha só se a gente quer as cinco últimas se a gente quer só a só a caa do nosso dataframe a gente pode fazer df. Tail Belê go demais perfeito se eu quero ordenar as minhas colunas aqui eu quero que primeiro seja uid depois points depois aid customer e depois a data da transação como que a gente faz primeiro
ID depois points depois a de customer depois data transação como que a gente faz isso colunas igual vamos lá uuid vírgula points vírgula ID customer vírgula DT transaction Então olha só a gente criou a gente criou uma coluna uma uma lista de valores aqui na ordem que a gente quer e aí agora a gente tem DF na ção colunas ó Que Beleza deixa eu tirar esse cara aqui ó Que beleza tá lá legal tão me acompanhando galera Tamo Junto a gente pode até fazer DF igual a isso aqui ok show demais ah por que que
ele não tá mostrando ah porque eu não pedi para mostrar aí pronto Ok alterou ó alterou perfeito agora galera Ah e por último quanto que esse cara ocupa de espaço né df. info Memory usage Memory US Memory usage Olha só 4 me acho que é o maior Data Frame que a gente uso até agora 4 m 4 m Belê tudo bem até aqui tranquilo perfeito aí agora galera por último último de tudo último de tudo eu queria que a gente visse o formato parquê então a gente viu o formato csv a gente viu o formato
XLS e agora nós vamos ver o formato Parque o parque galera é um tipo de objeto bastante utilizado aí no mundo de Big Data e também no mundo de engenharia de dados galera que trabalha com engia de dados vê muito e pode ser que em algum momento vocês se deparem com um arquivo desse o que que é um arquivo do tipo Parque um arquivo do tipo parquê é esse cara aqui ó é esse cara aqui e aí eu a gente pode tentar até abrir ele aqui ó Open anyway E aí vai aparecer um monte de
símbolo umas coisas estranhas quer ver ó 1 2 3 e olha só Aí você fala T que loucura é essa que que é isso tá Que é essa T que que acontece o formato parquê galera ele é um formato que ele é um binário tá então o XLS também é um binário a gente tentar abrir o XLS ó Tenta abrir o xlsx aqui ó Tenta abrir também vai acontecer a mesma coisa ó acontece a mesma coisa o XLS Ele também é um binário que que é um Binário um binário é normalmente um tipo de arquivo
que programas específicos conseguem ler então o Excel é um programa específico que lê o formato XLS lê salva e tal por quê Porque tem formatação tem eh eh a parte de formatação condicional tem fórmula tem uma de coisas não é só um simples arquivo de texto certo ã E aí o arquivo parqu ele tem umas particularidades o arquivo parqu para início de conversa se eu entrar aqui em data e colocar LL - h o meu arquivo parquê Olha só o meu arquivo das transações aqui Ah é não muda muito não não mas o arquivo parquê
galera ele é um arquivo otimizado para leitura e armazenamento tá então o que que ISO significa significa que ele ocupa menos espaço do que se eu tivesse um arquivo de texto e ele eh também é lido de uma forma mais rápida do que arquivo csvs então se eu tenho um arquivo csv de 1 bilhão de linhas e um arquivo parquê de 1 bilhão de linhas o arquivo parquê é lido mais rápido você consegue ler ele mais rápido do que o arquivo csv e o tamanho desse arquivo em disco vai ser menor também ele tem um
nível de compressão então é por isso que a galera de Big Data gosta de usar parquê porque ele vai facilitar a leitura e ele também Vai facilitar aí o seu custo vai melhorar o seu custo de armazenamento tá bom explicado Para que serve então exatamente então a gente pode fazer agora aqui um Import underline Parque P P E é isso ó lá ó tabela de 1 ter virou 10 GB bizarro então novamente vamos lá pandas SPD E aí DF vai ser igual pdre par E aí pon bar datata bar transactions underline cart PP desse jeito
parque e DF Prontinho foi olha só tá aqui beleza tá lá temos tudo aí belê God E aí a gente pode fazer exatamente as mesmas coisas e quantidade de linhas renomear fazer uma gincana enfim a gente pode fazer qualquer coisa tá bom tamo junto Então galera na aula de hoje a gente viu até aqui a gente viu isso aqui a gente viu isso aqui a gente viu tudo isso daqui e a gente viu isso daqui cara eu não vou mostrar o a viu e desistir como é que eu faço para arriscar isso tá bom bom
então amanhã a gente vai focar bastante nessa parte aqui transformação Beleza então tudo isso daqui a gente viu certo eu posso até passar um risquinho verde aqui assim ó pay pay não tô mentindo para vocês certo vocês estão aí comigo a gente fez tudo isso não minto aqui tem coragem e amanhã vai ser isso aqui