Alura > Cursos de Data Science > Cursos de Data Science > Conteúdos de Data Science > Primeiras aulas do curso Pandas: conhecendo a biblioteca

Pandas: conhecendo a biblioteca

Conhecendo a base de dados - Apresentação

Boas-vindas! Meu nome é Millena Gená, serei sua instrutora ao longo deste curso sobre a biblioteca Pandas, voltado para pessoas que desejam aprender a utilizar a biblioteca Pandas para fazer análises e tratamento de dados.

Autodescrição: Sou uma mulher branca com cabelos longos, escuros e cacheados. Tenho olhos castanhos e estou com um batom vermelho. Estou vestindo uma camiseta preta com o símbolo da Escola de Dados da Alura. Estou sentada em uma cadeira gamer azul. Ao fundo, há um guarda-roupa preto iluminado com LEDs verdes e azuis. Além disso, há uma mesa com livros da saga Harry Potter, uma pelúcia de polvinho roxo, três funkos de personagens variados e o símbolo da Escola de Dados.

Neste curso, trabalharemos como cientistas de dados de uma empresa imobiliária. Vamos desenvolver um projeto em que aprenderemos a:

Ao final deste curso, você será capaz de desenvolver suas próprias análises utilizando a biblioteca Pandas.

Para que você consiga aproveita todo o conteúdo, é importante que você já tenha conhecimento da linguagem Python, mais voltada para o mundo da ciência de dados.

Vamos estudar?

Conhecendo a base de dados - Entendendo o projeto

Nós fomos contratados como cientistas de dados de uma empresa imobiliária. Nossa função é dar suporte ao time de machine learning e também às pessoas desenvolvedoras do site dessa empresa.

Para realização do nosso projeto, foi disponibilizada para nós uma base de dados com dados referentes a preços de aluguéis de diferentes imóveis do Rio de Janeiro, além de um quadro no trello com as demandas e atividades que precisamos realizar no decorrer do projeto.

Trello

Vamos começar abrindo o quadro do trello no navegador e o analisando. Notaremos que ele possui quatro colunas.

A primeira coluna chama-se "Informações do projeto" e possui dois cards (cartões). O primeiro cartão chama-se "Projeto" e contém uma descrição do contexto de trabalho e do projeto que vamos desenvolver. No segundo cartão, chamado "Base de dados", encontramos o link da base de dados disponibilizada para nós.

A segunda coluna tem o título "A fazer" e nela constam os cartões com as atividades e tarefas que precisamos realizar no decorrer do projeto. Vamos passar rapidamente por cada um deles.

O primeiro cartão chama-se "Importar e conhecer a base de dados". Essas duas atividades iniciais de importação da base de dados e exploração de suas características gerais serão realizadas ao longo da aula 1 deste curso.

A partir do segundo cartão, notamos uma divisão por etiquetas. Há duas delas:

A primeira demanda do time de machine learning é "Análise exploratória dos dados". Essa parte será desenvolvida ao longo da aula 2, pois é uma análise mais específica de algumas características da base de dados.

As demais demandas do time de ML são: tratar valores nulos, remover registros inconsistentes, aplicar filtros e salvar dados. Essas quatro atividades serão resolvidas durante a aula 3 — são etapas muito importantes do projeto.

Ao final da aula 3, finalizaremos todas as demandas do time de machine learning e, na aula 4, atenderemos as demandas do time de desenvolvimento. São elas: criar colunas numéricas e criar colunas categóricas.

Após a coluna "A fazer", temos as colunas "Em andamento" e "Concluído". Atualmente, não há cartões nelas. À medida que realizarmos cada uma das etapas do projeto, movimentaremos os cartões para as colunas específicas.

Vale ressaltar que disponibilizaremos este quadro do trello para você. Caso você não saiba como fazer uma cópia dele para realizar suas próprias alterações, não tem problema! Na sequência, há uma atividade chamada "Preparando o ambiente", em que você poderá aprender como fazer sua cópia do quadro para tê-lo em sua conta pessoal.

Portanto, analisamos o trello com cada uma das etapas que precisamos realizar e atender no decorrer do projeto. Mas qual será a ferramenta que utilizaremos para desenvolver o projeto? Descobriremos a seguir.

Conhecendo a base de dados - Importando os dados

Vamos iniciar nosso projeto!

Com o Trello aberto, analisaremos o primeiro card da coluna "A fazer". Note que se chama "Importar e conhecer a base de dados" e nele constam duas tarefas:

  1. importar os dados;
  2. explorar as características gerais dos dados.

Passaremos este card para a coluna "Em andamento" e partiremos para a realização das tarefas.

Para isso, usaremos um notebook no Google Colab, chamado de "projeto_imobiliaria.ipynb". Nele, deixamos alguns títulos que correspondem às tarefas que faremos no decorrer do curso. Ele foi disponibilizado para download na atividade anterior a este vídeo.

Utilizaremos a ferramenta Pandas para desenvolver todo o nosso projeto. Trata-se de uma biblioteca para análise de dados em Python, que possui diversos recursos para trabalharmos com dados. Com ela, podemos limpar, manipular, analisar e visualizar os dados.

O primeiro passo será importar a biblioteca Pandas e apelidá-la de pd:

import pandas as pd

Em seguida, faremos a importação da base. Para isso, usaremos a url que consta em nosso Trello:

url = 'https://raw.githubusercontent.com/alura-cursos/pandas-conhecendo-a-biblioteca/main/base-de-dados/aluguel.csv'

Como ela está no formato CSV, podemos utilizar a função read_csv() para realizar a leitura:

url = 'https://raw.githubusercontent.com/alura-cursos/pandas-conhecendo-a-biblioteca/main/base-de-dados/aluguel.csv'
pd.read_csv(url)

Ao executar, nossa base de dados deve ser retornada:

Visualizaçao dos 5 primeiros registros.

Tipo;Bairro;Quartos;Vagas;Suites;Area;Valor;Condominio;IPTU
0Quitinete;Copacabana;1;0;0;40;1700;500;60
1Casa;Jardim Botânico;2;0;1;100;7000;;
2Conjunto Comercial/Sala;Barra da Tijuca;0;4;0;...
3Apartamento;Centro;1;0;0;15;800;390;20
4Apartamento;Higienópolis;1;0;0;48;800;230;

Perceba que possui a estruturação de uma tabela, mas não está bem formatada, pois os dados constam em uma só coluna, separados por ponto e vírgula. Arquivos do tipo CSV têm a vírgula como separador, embora possamos encontrar separadores diferentes, como o ponto e vírgula, que é o caso da nossa base.

A função read_csv() considera, por padrão, que o arquivo lido tem a vírgula como separador. Quando este não é o caso, é necessário especificar, na função, que o arquivo possui um separador diferente:

Na célula seguinte, passaremos novamente o comando de leitura, informando sep, ou seja, o separador:

pd.read_csv(url, sep=';')

Ao executar, nossos dados assumem uma estruturação mais organizada:

Visualizaçao dos 5 primeiros registros.

TipoBairroQuartosVagasSuitesAreaValorCondominioIPTU
0QuitineteCopacabana100401700.0500.060.0
1CasaJardim Botânico2011007000.0NaNNaN
2Conjunto Comercial/SalaBarra da Tijuca0401505200.04020.01111.0
3ApartamentoCentro10015800.0390.020.0
4ApartamentoHigienópolis10048800.0230.0NaN

Agora, podemos salvar esta tabela em uma variável dados e chamá-la para nos certificar que foi salva corretamente:

dados = pd.read_csv(url, sep=';')
dados

Ao executar, temos nosso dataframe:

Visualizaçao dos 5 primeiros registros e do último.

TipoBairroQuartosVagasSuitesAreaValorCondominioIPTU
0QuitineteCopacabana100401700.0500.060.0
1CasaJardim Botânico2011007000.0NaNNaN
2Conjunto Comercial/SalaBarra da Tijuca0401505200.04020.01111.0
3ApartamentoCentro10015800.0390.020.0
4ApartamentoHigienópolis10048800.0230.0NaN
..............................
32959Conjunto Comercial/SalaCentro0002506500.04206.01109.0

Note que temos uma linha com reticências, seguida das linhas finais do dataframe. Isso ocorre porque nossa base possui muitos registros. Sendo assim, o que podemos fazer para melhorar essa visualização inicial é solicitar somente os primeiros registros usando o método .head().

dados.head()

Perceba que nos retorna somente os 5 primeiros registros:

TipoBairroQuartosVagasSuitesAreaValorCondominioIPTU
0QuitineteCopacabana100401700.0500.060.0
1CasaJardim Botânico2011007000.0NaNNaN
2Conjunto Comercial/SalaBarra da Tijuca0401505200.04020.01111.0
3ApartamentoCentro10015800.0390.020.0
4ApartamentoHigienópolis10048800.0230.0NaN

Vale ressaltar, porém, que podemos escolher a quantidade de registros que devem ser retornados. Para isso, basta passar o número como parâmetro, por exemplo, dados.head(3) para 3 registros.

Há outro método que também traz uma quantidade específica de linhas, com a diferença que parte dos registros finais. Trata-se do método .tail():

dados.tail()

Note que nos retorna os 5 registros finais:

TipoBairroQuartosVagasSuitesAreaValorCondominioIPTU
32955QuitineteCentro00027800.0350.025.0
32956ApartamentoJacarepaguá312781800.0800.040.0
32957ApartamentoSão Francisco Xavier210481400.0509.037.0
32958ApartamentoLeblon200703000.0760.0NaN
32959Conjunto Comercial/SalaCentro0002506500.04206.01109.0

Assim como o método anterior, este também nos permite definir a quantidade de registros passando um número como parâmetro.

Para finalizar a importação dos dados, vamos verificar o tipo da variável dados usando a função type():

type(dados)

Como retorno, obtemos o seguinte:

pandas.core.frame.DataFrame

Isso significa que a tabela gerada a partir da leitura dos dados é uma estrutura de dados chamada dataframe. É importante conhecermos essa estrutura porque a utilizaremos no decorrer do nosso projeto!

Agora que finalizamos a importação dos dados, podemos voltar ao card que está em andamento e marcar a tarefa "Importar os dados". A seguir, realizaremos a tarefa seguinte!

Sobre o curso Pandas: conhecendo a biblioteca

O curso Pandas: conhecendo a biblioteca possui 138 minutos de vídeos, em um total de 46 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