Alura > Cursos de Data Science > Cursos de Data Science > Conteúdos de Data Science > Primeiras aulas do curso NumPy: análise numérica eficiente com Python

NumPy: análise numérica eficiente com Python

Conhecendo a biblioteca e nossos dados - Apresentação

Olá! Meu nome é Allan Spadini e te desejo as boas-vindas ao curso de introdução à NumPy!

Autodescrição: Sou um homem branco, de cabelos e olhos castanho escuros, e sobrancelhas grossas. Visto uma camiseta cinza com o nome "alura" em branco. À minha direita, um microfone que se estende até a altura do meu ombro. Ao fundo, uma estante localizada à direita, com uma luminária da Alura, um símbolo de Data Science e um vaso de planta.

NumPy é uma biblioteca Python, então é interessante que você tenha algum conhecimento em programação nesta linguagem para melhor aproveitar este curso!

Esta biblioteca é voltada para computação numérica e científica, portanto, trabalharemos com objetos do tipo array que servem para realizar operações matemáticas e estatísticas, muito importantes em ciência de dados.

Vamos nessa?

Conhecendo a biblioteca e nossos dados - Visão geral

Vamos a um resumo do projeto geral deste curso!

Trabalharemos com um dataset de preços de maçãs. Ou seja, uma tabela de dados semelhante ao que vemos em softwares como Excel e Google Planilhas. A ideia é que comecemos a analisar esses dados seguindo os mesmo processos utilizados nos softwares citados, como, por exemplo, somar os valores de uma coluna, calcular a média ou realizar operações entre diferentes colunas. Para isso, usaremos a ferramenta NumPy, que é uma biblioteca Python.

Esta biblioteca possui uma série de vantagens em operações com arrays, que são objetos semelhantes às listas. Entre as vantagens, podemos citar a rapidez das operações, menos memória sendo ocupada e a série de métodos atrelados a esses objetos.

Na sequência, veremos como criar um array!

Conhecendo a biblioteca e nossos dados - Carregando os dados

Agora, começaremos a trabalhar com o conjunto de dados dos preços das maçãs. Para isso, abriremos o Google Colab, ferramenta que usaremos no decorrer do curso.

Nossos dados estão no repositório do GitHub, disponibilizado na atividade 2. Note que se trata de uma tabela em que cada linha representa uma cidade da Rússia, e cada coluna, uma data. Dessa forma, temos o registro do preço das maçãs no intervalo de Janeiro/2013 a Março/2020.

Visualização dos 5 primeiros registros das 5 primeiras colunas.

1.20132.20133.20134.20135.2013
Moscow79.7281.0879.6879.8080.63
Kaliningrad42.6744.3744.7346.75NaN
Petersburg62.5562.7363.4363.8366.06
Krasnodar48.2651.0150.9153.9461.27
Ekaterinburg71.2571.3570.9071.9272.91

Subindo o dataset no Google Colab

Com o arquivo apple_ts.csv já salvos no computador, vamos ao Google Colab. Na lateral esquerda, temos as opções "Índice", "Localizar e substituir", "Variáveis" e "Arquivos", clicaremos nesta última, representada pelo símbolo de uma pasta.

Dentro de "Arquivos", vamos em "Fazer upload para o armazenamento da sessão". Em seguida, buscamos e selecionamos o arquivo da nossa base de dados. Após o carregamento, este documento aparecerá na listagem de arquivos do Colab.

Carregando o arquivo

Após o salvarmos no Colab, precisamos carregá-lo com a linguagem Python, o que faremos utilizando uma função da NumPy que facilita este processo.

O primeiro passo, portanto, é importar a biblioteca NumPy, a qual daremos o apelido np. Para isso, usaremos o seguinte comando:

import numpy as np

Para executá-lo, teclamos "Shift + Enter".

Na célula seguinte, chamaremos a função .loadtxt() passando o nome do arquivo 'apples_ts.csv'. Precisamos passar, também, o delimitador do arquivo que, por ser CSV, tem como padrão ser delimitado por vírgula delimiter=','.

np.loadtxt('apples_ts.csv', delimiter=',')

Ao executarmos, é retornado um erro, informando que não foi possível converter uma string em um float. Isso acontece porque, quando trabalhamos com arrays em NumPy, precisamos que exista somente um único tipo de dado dentro do array.

Nossa intenção é trabalhar somente com valores numéricos. Mas note que, na primeira coluna, temos textos correspondentes aos nomes das cidades. Sendo assim, precisamos solicitar todas as colunas, com exceção desta, de índice zero.

Lembre-se que a contagem de itens de um array começa sempre do zero, por isso a primeira coluna corresponde à 0.

Para isso, acrescentaremos usecols que será igual ao array de valores que queremos.

np.loadtxt('apples_ts.csv', delimiter=',', usecols=)

Para este array, usaremos a função np.arange() que deve gerar a sequência de valores.

Adicionaremos esta função em uma nova célula.

Nela passamos os índices das colunas, iniciando por 1. Em nosso dataset, temos 7 anos de informação e cada ano possui 12 meses, então 7x12 = 84; adicionamos + 3 (correspondente aos 3 meses de 2020) e obtivemos 87. Sendo assim, nossa lista vai de 1 a 87.

Porém, no Python, precisamos digitar o valor final +1 para que este último dado seja englobado, ou seja, 88. Por fim, precisamos passar o valor de incremento, que é 1:

np.arange(1, 88, 1)

Ao executarmos esta célula, nos é retornado um array com a lista de contagem do número 1 ao 87, o que significa que conseguimos gerar essa sequência de 1 em 1. Sendo assim, podemos passar esta função para usecols, que está no comando da célula anterior:

np.loadtxt('apples_ts.csv', delimiter=',', usecols=np.arange(1, 88, 1))

Executando este comando, temos como retorno os dados de nosso dataset no formato de array.

Outra forma de carregar os dados

Sempre que iniciamos o Colab, precisamos subir nosso arquivo, o que pode ser um pouco trabalhoso. Pensando nisso, veremos outra maneira de carregar nossos dados.

Para isso, temos que salvar o arquivo no GitHub e, ao abri-lo, clicamos na opção "Raw". Uma nova janela será aberta com os dados dispostos dessa maneira:

,1.2013,2.2013,3.2013,4.2013,5.2013,6.2013,7.2013,8.2013,9.2013,10.2013,11.2013,12.2013,1.2014,2.2014,3.2014,4.2014,5.2014,6.2014,7.2014,8.2014,9.2014,10.2014,11.2014,12.2014,1.2015,2.2015,3.2015,4.2015,5.2015,6.2015,7.2015,8.2015,9.2015,10.2015,11.2015,12.2015,1.2016,2.2016,3.2016,4.2016,5.2016,6.2016,7.2016,8.2016,9.2016,10.2016,11.2016,12.2016,1.2017,2.2017,3.2017,4.2017,5.2017,6.2017,7.2017,8.2017,9.2017,10.2017,11.2017,12.2017,1.2018,2.2018,3.2018,4.2018,5.2018,6.2018,7.2018,8.2018,9.2018,10.2018,11.2018,12.2018,1.2019,2.2019,3.2019,4.2019,5.2019,6.2019,7.2019,8.2019,9.2019,10.2019,11.2019,12.2019,1.2020,2.2020,3.2020

Copiaremos o link desta janela e o passaremos para uma variável chamada url, em uma célula do Colab. Vale ressaltar que precisamos passá-lo entre aspas.

url = 'https://raw.githubusercontent.com/alura-cursos/numpy/dados/apples_ts.csv'

Para usar esta maneira, é importante que o comando acima seja feito na célula seguinte à importação da biblioteca NumPy.

Após executar esta célula, podemos passar a variável url como primeiro argumento de np.loadtxt() ao invés do nome do arquivo. Por fim, podemos passar todo o comando para uma nova variável que chamaremos de dado:

dado = np.loadtxt(url, delimiter=',', usecols=np.arange(1, 88, 1))

Dessa forma, temos toda a informação carregada na variável dado!

A seguir, começaremos a analisar os dados para verificar se estão adequados para realizarmos nossas operações.

Sobre o curso NumPy: análise numérica eficiente com Python

O curso NumPy: análise numérica eficiente com Python possui 92 minutos de vídeos, em um total de 42 atividades. Gostou? Conheça nossos outros cursos de Data Science em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Data Science acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas