o [Música] Olá pessoal vamos lá para mais uma aula então da disciplina de introdução à Ciência de dados mas já falar sobre a biblioteca num pai sobre o filho Eduardo Santarém né E a gente vai para continuidade no nossos estudos Abril até quando um pai né é abreviatura de numérica ao Python é um dos pacotes mais importantes para processamento numérico em Python Pessoal lembrando que matemática é o cerne né do data-size amanhã dos pacotes de processamento com funcionalidades científicas vão utilizar Por baixo ou um pai muito importante que a gente conheça ele então né eu e é muito utilizado para o rei né as listas né no pai tu não tem muito sinônimo de a rede não se usa muito isso mas eu nosso conhecido Array são listas e também para Array multidimensional né que são as nossas matrizes né então aqui chamado de Array multidimensional comprar o médicas rápidas né tem uso de Laços e além de outros muitos recursos vão ver que quando a gente começa a usar Python para quem programado em outra linguagem muito operação que a gente vai fazer com essas estruturas como listas e como matrizes né a gente não vai ficar usando laço já tem já próprias bibliotecas já facilitam esse processo Não vai faz isso é importante pessoal o profissional de data Science precisa dominar um pai e principalmente as estruturas de dados do pai tão como os os arreios multidimensionais principalmente se você não sabe isso você não compreende para agora estuda isso entender esses arreios multidimensionais do pai tu é muito importante basicamente a diz que a gente vai falar daqui para frente tá no não vai nas outras bibliotecas em tudo para que a gente vai fazer é bom a Biotec um pai é um assunto muito antes seria possível a gente fazer uma disciplina né só disso né dá para falar isso por muito tempo tiver bordar aqui algumas características que eu considero bastante importante da biblioteca né e é muito importante que vocês recorram ao livro O texto ao site da biblioteca sempre recorri ao site da biblioteca né e testar muito as funcionalidades né experimentar as funcionalidades do num Pai Algumas funcionalidades importantes de data site aqui um pai ajuda a resolver essa operadora alterações rápidas em vetores nem listas né para tratamento limpeza geração de subconjuntos transformações e outros processamentos operações para tirar a ordenação unicidade operações de conjuntos estatísticas descritivas agregação e sintetização de dados expressões lógicas né condicionais na forma de expressão ao invés de usar laços com desvio tipo if else entre essas coisas né É fundamental eu como aumentar você compreender isso para ser um ótimo profissional de data-size se você em seu programa em outra linguagem né Prepara sua mudança de paradigma não tem essa questão do laço ficar rodando para acontecer as coisas quando a gente tem é estruturas multidimensionais aqui é um pouco mais a própria a própria biblioteca já faz isso para gente tem que compreender como é que isso funciona Além disso o pessoal diferença de performance é brutal né dez cem vezes mais rápidos que outros processos que a gente vai usar Berotec um pai por exemplo a manipulação de dados em grupo agregação transformação aplicação de funções para grupos de dados também é uma das características muito importantes aqui w-teca no pai entre outras né bom é quantos motivos que tornam a biblioteca num pai tão importante é o fato dela ter sido Projetada para ser muito eficaz ao lidar com os arreios de dados muito grandes é big deita então não se esqueça para isso que serve ou não pai para acelerar o nosso para dar performance os nós e é provável que mais adiante muito prefiro usar a deu até capando as por exemplo né a biblioteca panda na verdade né ela era originou a partir de um pai para atividades com arrays multidimensionais e é para mais algumas tarefas vão perceber que às vezes urbanas é tem desempenho melhor às vezes um pai tem um desempenho melhor mas a grande maioria das vezes um pai vai ter desempenho melhor bom o MBA rei né objeto de a Reny M dimensional and the Array é um container rápido e flexível para grandes conjuntos de dados em Python é assim né que o ou não pai chama a sua lista né o seu Array de Array e pra gente realização de operações matemáticas em blocos inteiros né com sintax semelhante a operação com dados escalares Aquele dados únicos entre faz uma operação de uma matriz multidimensional né Por um vetor né de uma vez e você faz com um x mais um e faz Exatamente isso para grande quantidade esse dados estruturados dessa forma a todos os elementos em um Array são do mesmo tipo quando eu tenho MBA reino importa quantas dimensões eu tenha eles são sempre do mesmo tipo aí por meio do atributo shape É possível saber a dimensão do objeto e o atributo de Type permite saber o tipo do dado do Array a uma lista pessoal de atributos de funções de métodos possíveis para o líder rei e coloco o link aqui né que a referência da biblioteca mas é muito importante que a gente conhece a isso né Quanto mais a gente especializar nessas biotech melhor a gente fica para para sair a nossa desenvolvimento ainda tá sai Ball eu vou fazer uma demonstração né mostrar um pouco do que a gente pode fazer com um pai a gente vai fazer um processo para demonstrar as principais funcionalidades do num pai esse notebook né esse caderno de anotação que já viram como é que é ele vai ficar disponível para download do material de apoio dessa segunda tá aí para você fazer downloads esse material que eu vou produzir agora com vocês vocês vão poder download e todos os notebooks que vai fazer daqui para frente todos sem esse tá bom tá disponível para vocês poderem baixar e acompanhar o processo tá joia então baixem estudem usem isso aí da maneira que acharem melhor a demonstração vai sempre ser usando o Google Colégio quando eu tinha falado aqui para frente vai sempre usar isso é importante pessoal que todo o processo que eu faça né seja replicado por vocês para que vocês possam se aprofundar e solidificar os conhecimentos Então fez uma vez não entendeu Faz de novo não entendeu de novo vem aqui assistir ao não entendeu de novo vai lá na biblioteca da vai lá na no site da biblioteca e tentar ler tenta compreender o processo vai no livro O texto né para entender o que cada uma das funções dos atributos faz a gente poder usar melhor ou não vai vamos lá para demonstração então bom pessoal agora a demonstração eu já tenho aqui né conjunto de notebook na verdade um Google qual é bem né Tem um notebook aqui né total que tomar para o Hulk notebook quer dizer o confundam de farmácia Google Web eu tenho aqui ó com 350 Univesp = 5 a sessão procuravam achar né esse esse motivo que vai tá disponível para vocês eu coloquei aquela demonstração de um pai informações a respeito aí vamos começar então agora a desenvolver essa atividade é uma primeira coisa importar biblioteca sempre eu vou usar Berotec um pai outras né que a gente vai usar a gente vai precisar importar essa minhateca comandos básicos do Pai então tem que ter importar mas as bibliotecas eu preciso é a primeira coisa né é o importe aqui ó e aí eu vou usar um pai a biblioteca eu vou usar essa peça que já tá ajudando aqui né NP e seu padrão todo mundo usa para importar meu até quando um pai como np para depois a gente usar um IP para poder indicar quem está usando a biblioteca num pai vou dar o shift entra como você já sabe Ele vai executar o comando Beleza agora eu vou gerar dados aleatórios eu vou gerar um ano de a rede 2 por 3 ou seja eu vou gerar duas listas com 3 A e menos ou seja vou geralmente a rede duas dimensões para fazer isso né como que eu vou fazer olha só dados e não é igual NP né que é o nosso num pai. Ele já vai abrir aqui uma possibilidade aqui de funções e atributos enfim eu vou tirar aqui um rendon para gerar valores randômicos tá. o Ryan ND tá aqui em cima eu vou dizer que eu quero gerar é uma lista né um objeto n-dimensional com são duas listas com três elementos por isso dois por três uma de executar Ele criou e agora um de conectar aqui ficou e olha só ele criou aqui valores aleatórios né ele tem uma lista que percebeu que aqui ó e é uma lista que em cima, uma lista aqui embaixo com três valores cada uma tá então é muito importante que você compreenda isso muitas vezes eu vou executar um comando em baixo vou digitar o nome da variável para gente poder ver qual o conteúdo dela Se acostume com isso eu vou fazer isso sempre tá outra coisa é mostrar o tipo de Array que foi gerado nesse caso aqui ó para eu saber né Como que ele foi gerado dados pontos de type e executei olha só ele gerou todos vendo aqui no ideia é eu falei isso né todos os dados são do mesmo tipo então ele gerou todos como flor de 64 e gerou randômico aqui não especifiquei o tipo né ele gerou todos como forte vamos ver tamanho e quantidade de menções como que eu faço para ver isso né então aqui eu vou colocar dados pontos Shape eu vou saber olha gerou o MDA rei de 2 por 3 fica como a gente mudou gerar aqui mais aqui é o que uma maneira de você pegar qualquer a rede nacional e olhar qual que é a configuração dele e eu posso ver quantas dimensões ele tem também se eu quiser que a sua primeira parte poder ter feito isso aqui ó dados pontos e nem fim eu queria mostrar duas certo vamos continuar pessoal só usando Essas funções usando usando as possibilidades Então a primeira coisa vou criar aqui agora né é tentar utilizar criando uma maneira diferente eu vou especificar eu vou criar uma lista aqui né assim que eu criei uma lista em Python e eu vou colocar aqui por exemplo no meu 125 7.
8 por exemplo, 1. 25 quando eu estabeleço essa minha lista aqui né Agora eu vou pegar e vou criar um ND Array baseado nessa lista é só isso é uma estrutura simplesmente do Python né Agora eu vou criar uma ideia rei que é uma lista que é uma estrutura do não pai então eu vou fazer dado os dois na minha variável né vou colocar lá e pronto a rei e aí eu vou colocar aqui está então ele vai se basear nessa lista aqui para gerar né esse dados 2 a executar executou E aí vamos criar esse dados 2 quem criou a minha lista percebam que horas colocou o. A 1.
2. 5. Mais não tinha isso aqui porque como eu tenho dado aqui que é frouti ele cria todo meu Array com dados do tipo fold tá então isso é uma coisa importante a gente saber para não se confundir agora vou criar uma outra lista porque amar está dois aqui ó eu vou criar ela com um formato um pouco diferente né 1,2, 3,4 e vou colocar aqui um 4,3 2,1 Então eu tenho aqui uma lista de duas dimensões também do Python de executar beleza e agora que que eu vou fazer vou criar uma ideia rei tá vou lá pra dar os 3 = NP.
Array a lista dois mandar executar uma de executar bonitinho Executor vamos ver como é que ficou esse dados três olha só percebam que aqui agora ele não colocou os pontinhos né Eu tenho um Array criado pelo não pai só que ele cumpriu com números inteiros por quê Porque grande parte dos que eu especifiquei estavam como números inteiros Eu já queria como números inteiros tá joia volta no continuar que outras maneiras de criar a Reis Então como que será que a gente tem outras maneiras aí de criar Reis uma das coisas que são interessantes né E que a gente vai usar muitas vezes ainda tá size é criar né um Array com valores especificados né com valores um com valores 0 ou num pai tem isso tudo que é um dado 10 aqui ó e eu tenho LP. Zero que é uma função que cria né uma rede 10 posições todos com valor zero eu só vou criar Vamos ver aí esse dado 0 o Cláudio criou uma Rei todo o valor zero até Exposições com vou usar podia ter especificado quando os valores eu queria ter meu rei pode ser uma Rei maior inclusive de várias dimensões enfim é agora vamos criar a mesma coisa né o dado 0 e com a mesma instrução que eu tinha né para criar um Array com valores 0 só que eu vou criar com duas dimensões são 2,3 aí ele vai criar parecido com aquele que a gente tinha visto lá no começo da aula Nem sempre eu tô dando shift enter aqui tá para poder executar ver que ele roda que fica o verdinho olha só ele criou agora valores eram né com dimensão são duas listas com três valores cada uma não é isso que eu acabei de criar tem também uma outra função né que cria com valores um então por exemplo tem aqui ó dados do criar um dados um aqui igual eu vou colocar np. com ans Onix né E aí com cinco valores é dá uma coisa do zero só que agora ele vai criar com valores um Então vamos ver aqui se dados Um criou lá com todos os valores de um Array com valores 15 valores um uma outra coisa interessante de um montar é olha só se quiser usar muitas vezes Tá vou pegar aqui criar um dados seque de sequência e eu vou colocar um NP.
Arange o vizinho que vai criar né 10 valores sequenciais Lembrando que filme passa por uma cidade igual a programação começa com 10 e vai até Nossa vai criar uma rede 10 valores sequenciais Então vamos ver como é que ficou e olha só 10 valores sequenciais disseram não podia ser sempre C200 quando eu quisesse aí tu quiseres da gente muitas vezes vamos agora criar um parecido E aí é um outro agora como criar com np. com grande Vou colocar aqui 0,20, dois que que ele vai criar ele vai criar um Array de 0 a 20 de 2 em 2 Então essa é a maneira que vai criar agora esse outro E aí só que legal criou aqui duas posições Vamos ver que tipo de dado que ele criou nós vamos lá olhar esse dado segue aqui que a gente tinha acabado de ver ponto de type o Brechó criou com o tipo inteiro porque não tem por que especificar isso que não sejam tipo inteiro uma coisa interessante pessoal que a gente quiser a gente pode também transformar o tipo tá então eu posso pegar por exemplo dados sec a criar com essa aqui com o defronte né pegar o dado seque que a gente sabe que é inteira de acabou de ver né e colocar um s-type aqui ó ó o Skype n. ao ti64 a Vários vários formatos ali e mandar executar e Vai me transformar né eu pegar aquele Array que eu tinha criar um outro mas com fonte E aí Oi mulher como é que ele ficou ali ó agora todos com valor forte isso aqui é muito interessante pessoal porque muitas situações e muitas pessoas vão usar isso aqui quando a gente vai desenvolvendo coisas né com tipos de dados mudanças de tipos de dados aquela para ter colocado the Type aqui para gente ver legal agora nós aritméticas com a rei vamo dá uma olhada nas aritméticas porque elas vão ajudar muito em alguns processos muito interessantes que a gente tem aí eu vou pegar aqui ó e gerar um dados 4 é igual n.
ao Rei E aí vou gerar 1,2, 3 certo e aqui 4,5, seis vou gerar que a Sara se a recados quatro mostrando para vocês então duas dimensões aqui com três valores nessa hora de 1 até o 6 aí eu quero mostrar para vocês o seguinte se eu fizer isso aqui é o dados quatro vezes dados 4 e olha só que vai acontecer ele já mostrou pra gente tá pegando esse Array aqui multiplicando pelo amor tá pegando o valor para o valor colocando um Array em cima do outro e multiplicando o valor por valor eu não alterei o valor do meu Array tá está multiplicando e mostrando só o resultado não tem alteração nenhuma nos valores não a Rê continua a funcionar do mesmo jeito a mesma coisa pra isso aqui ó dados 4 - dados quatro que que vai acontecer tudo zero porque é o valor menos ele mesmo naquela posição tem que pega posição por posição e faz a conta ou então tem umas coisas muito legais que eu posso fazer também por exemplo 1 / dados quatro olha só que ele faz pega o valor de vídeo E então dividido pelo valor em cada uma das posições aqui se eu quiser fazer um novo Array Aí sim dado cinco igual dados quatro mais dados 14 aí eu Gero um dado cinco aqui aí eu tô aqui gerando uma nova estrutura tá lá pegou os valores e só amor e olha só que legal eu posso continuar no meu dados quatro aqui ó aquele não mudou é o mesmo tá não atribuem valor novo a ir e uma coisa muito interessante que eu posso fazer o seguinte Olha só comparação dado cinco é maior que dados quatro ele vai comparar posição por posição no caso aqui né óbvio né cuidado cinco vai ser maior Porque eu peguei a soma sua meio dados aos dado quatro não sempre pegar um por um até os dois amorc um verdadeiro o quadro Marco dois verdadeiro e vai fazer uma comparação Quero mostrar para vocês agora a parte de indexação é muito legal essa parte indexação que a como funciona exatamente eu vou pegar novamente o dado segue aqui ó O que que a gente é gerado antes dados segue lembra-se dele gerou como a sequência tá zero a nove né e eu quero mostrar a posição 5 ao Como que eu faço eu vou lá e coloco a posição cinco Lembrando que a pessoa sem começa a contar do zero de 0 a 5 Então vai pegar aqui ó 0 1 2 3 4 5 e eu vou mostrar o valor que tá lá dentro esse valor aqui é esse valor da a posição aqui ó é a contagem de quantos pontos até chegar lá pessoal é é diferente de uma lista pai né quando eu faço um recorte uma fatia de uma ideia Rego e sofrerá um broadcast o que que é isso é como se fosse uma viu de banco de dados ou seja conforme os dados vão mudando né Se eu fizer um uma fatia ele vai mudando original também é importante que vocês saibam disso não dá uma olhada aqui como é que eu faço dentro desse processo aqui ó eu queria mostrar para vocês né dados seque eu e são três até seis que posição que é essa e vai pegar o três o quatro cinco esses valores né é da posição 3 até uma posição antes da posição 6 tava entre a Opus não sei se ela é excluída é só para dizer até onde tem que ir e eu posso pegar aqui por exemplo ou dados eki efazer da posição 3 até a posição 6 e atribuir um valor 20 por exemplo que que vai acontecer vai molhar tu falou com os valores da posição 3 até a posição 6 a posição 6 não entra tá e eu posso fatiar os meus dados também se eu quiser então vou pegar aqui uma variável fatia dados igual certo meu dado segue eu vou pegar lá da posição dois até a posição quatro eu vou ter uma meus dados fatiados pegou a posição Opá dia os dados E aí eu voltei lá na posição 2 até 4 tá aqui ó a posição 2011 A2 até quatro eu criei aqui uma uma fatia da minha lista bom a gente pode continuar mexendo com isso aqui né se eu fizer por exemplo aqui na posição zero pegar simpatia dados aqui ó e na posição um por exemplo e colocar um valor 2mil a a gente faz isso que que vai acontecer o meu fatia dados vai ter a posição vai ter o valor 2mil lá na posição um e olha só que interessante Eu nunca falei que ocorre um balde um broadcast eu quero mostrar para vocês usar dos é que dá onde ele originou aqui ó olha só alterei o valor aqui ó aqui também foi alterado esse valor era originário como eu fiz uma cópia né então ele vai remeter para o valor o valor original isso aqui é muito importante né para gente saber o que tá acontecendo Olha que legal que eu posso pegar o meu fatia Os dados aqui pegar todas as posições por exemplo certo e atribuir o valor 333 que vai acontecer eu vou ter meu dado segue lá e as posições 2 e 4 que vieram é originárias do meu dados Será que elas foram alterados que eu atribui o valor 33 segundo coloca esses dois pontos aqui eu tô pegando todos os valores tá joia Vamos copiar dados aqui agora quando eu quiser copiar Então a maneira diferente de eu fazer para não ter o podcast então aqui é uma é uma condição diferente certo então Oi amor aqui como é que agente faz para copiar os dados então eu vou pegar pois empatia Dois igual dados seque posição dois de quatro de novo certo. Copy o que que acontece quando eu faço uma cópia pessoal eu gerei um fatia dois aqui ó é igualzinho eu tinha antes e esse eu pegar meu fatia dois agora aqui fizer a mesma coisa que eu tinha feito antes e atribuir por exemplo valor 111 lá para toda a minha fatia dois certo o meu fatia 28 e ele foi mudado certo tava olhar o da do Séc e ele não mudou porque que ele não mudou um aqui porque aqui eu fiz o mar cópia eu não peguei o dado né não fiz o simplesmente uma fatiada dele eu peguei e fiz uma cópia bom Array com mais de uma dimensão Pessoal esse aqui também interessante a gente olhar né então por exemplo é a ideia é a mesma que eu vou pegar um dado seis aqui ó igual ele ponto array o gerando uma rei novo aqui e aí eu vou colocar aqui 1,2, 3 4,5, seis bom 7,8, 9 tá vamos geral o novo vocês verem como é que ficou a estrutura tá então três listas de três posições cada e eu posso pegar e atribuir um valor aqui ó tá dos seis eu vou na posição 1,2 certo e vou mostrar qual o valor É é o valor seis porque o valor seis porque eu lembro que a aqui ó primeira posição Elinha certo aqui é linha e aqui a coluna linha um daqui a linha zero e aqui é a linha um certo coluna coluna zero coluna 1 coluna 2 então o valor por isso que o valor aqui foi o 6 é assim que eu faço para ir até o valor e consegui recuperar e vamos lá um pouquinho de máscara agora aqui interessante olhar essas máscaras e esse é meu dado segue pra gente não esquecer eu vou criar agora aqui é uma máscara que que é uma máscara eu vou fazer uma comparação baseado no dado seque menor do que 100 vai pegar os valores um por um né E vai comparar com o valor seis ele vai me gerar uma uma rede mensional igual o meu dados é que só que baseado nessa comparação Aí que legal E aí a máscara halal ele pegou valor para o valor tô aqui o zero tro tro né ou seja menor do que seis aqui os três três três não é de coloca falsa aqui ó ele tá gerando aqui uma comparação e a gente pode fazer vários tipos de comparação tá vários tipos eu posso pegar aqui por exemplo e fazer um dados seque E aí fazer aqui ó dados seque menor do que 20 certo e colocar igual 888 Ou seja eu vou pegar os a minha sequência de dados eu vou verificar os valores que são menores do que 20 e já vou atribuir direta s888 aos valores que são menores do que 20 então se eu olhei na minha comparação em cima né olhando como base esse daqui ele vai fazer atribuição que que vai acontecer aqui no meu dado segue ó e vai ter atribuído 888 a todos os valores que eram menores do que 20 Então esse é um tipo de máscara tá que eu posso criar e pra gente finalizar aí né Eu queria mostrar para vocês a transposição que que a transposição quando eu tenho vou gerar um dado sete aqui ó. NP E aí eu vou girar 15 valores Tá eu vou dar um recheio peneira Olha que interessante isso aqui 3,5 Ou seja eu vou criar uma rede 15 valores né com estudo de três dimensões de três por cinco crio isso quero que vocês enxerga isso aqui e ele só como eu criei aqui esse meu Array multidimensional E olha que legal ele tem aqui isso aqui é muito importante data-size o ponto P que a transposição quando eu faço isso pessoal ir inverte aqui a minha Matriz é inverteu de lado fica muito interessante eu posso fazer também né Já tá finalizando aqui um Dote por exemplo aí eu posso fazer uma multiplicação então np.
dot eu vou fazer aqui um dados 17 o.