Primeiras aulas do curso Python para Data Science: Funções, Pacotes e Pandas

Python para Data Science: Funções, Pacotes e Pandas

Apresentação do curso - Introdução

Olá! Meu nome é Rodrigo Dias e venho lhes dar as boas vindas ao curso Python para Data Science: Funções, Pacotes e Pandas básico, criado para você que está iniciando no mundo da ciência de dados e ainda não possui experiência com a linguagem Python. Terminamos a primeira parte do treinamento discutindo sobre a biblioteca Numpy, bastante importante para data science, e agora continuaremos nossos estudos conhecendo tuplas, dicionários e funções, além de outra biblioteca muito essencial chamada Pandas.

Na próxima atividade você pode baixar o notebook Python contendo alguns códigos e materiais do curso, pronto para ser preenchido conforme avançarmos nos estudos.

Esperamos que o treinamento seja bastante útil para sua carreira na ciência de dados! No próximo vídeo começaremos a preparar o ambiente em que iremos trabalhar. Bons estudos!

Apresentação do curso - Instalação e ambiente de desenvolvimento

Antes de começarmos a efetivamente trabalhar os conteúdos do nosso treinamento, é necessário conhecermos o ambiente em que iremos trabalhar, da mesma forma que fizemos na primeira parte. No endereço https://colab.research.google.com/ (que pode ser encontrado no Google pesquisando pela palavra "colaboratory"),

No exercício anterior, você deve ter baixado a pasta zipada contendo os arquivos do curso e que deverá ser adicionada na aba "Upload".

Esse notebook é bem parecido com o que usamos no curso anterior, contendo uma introdução ao Python, alguns passos de instalação do ambiente de desenvolvimento e verificação da versão, e assim por diante. Nesse curso não é necessário instalar o Python na sua própria máquina, já que o Google Colab nos fornece um bom ambiente e disponibiliza as bibliotecas necessárias (que também precisariam ser instaladas no seu computador).

A título de curiosidade, existe a distribuição Anaconda (Anaconda Distribution), muito famosa para data science, que já vem com um conjunto de pacotes/bibliotecas previamente instalados, como Jupyter, Pandas e Numpy.

No Google Colab, podemos verificar a versão do Python que está sendo utilizada para executar os códigos com a instrução !python -V. No momento da gravação deste curso a versão era Python 3.6.9, mas as versões posteriores também devem funcionar. Caso você tenha algum problema, pode ser necessário utilizar uma versão mais baixa.

No próximo vídeo vamos explorar brevemente o Pandas para deixá-lo(a) na expectativa a respeito do que trabalharemos ao final do curso.

Apresentação do curso - Trabalhando com dados

É esperado que alguém que está iniciando sua carreira em Ciência de Dados consiga trabalhar com dados. Nesse cenário, o Python tem disponível uma biblioteca bastante importante, chamada Pandas, sobre a qual faremos um pequeno curso introdutório ao final deste treinamento.

Inicialmente gostaríamos de apresentar como ele funciona, abrindo um arquivo externo e colocando-o em uma estrutura de dados que é reconhecida pelo Pandas, além de analisarmos um pouco como esses dados funcionam. No futuro entenderemos mais profundamente como funcionam os tratamentos, faremos estatísticas descritivas e assim por diante.

No curso anterior nós trabalhamos com um dataset contendo características e valores de automóveis. A ideia é gerar um modelo de regressão voltado à precificação desses automóveis com base em tais características (um modelo de machine learning). Para isso, é necessário conhecer e tratar esses dados, algo que é bastante facilitado pelo Pandas.

No notebook Python do Colab, abriremos a aba na lateral esquerda, clicaremos em "Files" e então "Upload" para subirmos o arquivo db.csv (encontrado na pasta "data" dentre os arquivos baixados anteriormente). Como usaremos uma biblioteca que não vem previamente instalada, será necessário importá-la, algo que é feito usando o comando import.

Nesse caso, faremos import pandas as pd de modo a não só realizarmos a importação, mas também atribuirmos à biblioteca o apelido pd (facilitando a utilização dos seus comandos). Após executarmos com "Shift + Enter", prosseguiremos para a importação dos dados no nosso conjunto.

Criaremos uma variável dataset que receberá a chamada de pd.read_csv() - o apelido da biblioteca, pd, seguido da função read_csv(), que realiza a leitura de arquivos. Como parâmetro passaremos o arquivo que acabamos de subir, dv.csv.

dataset = pd.read_csv('db.csv')

Ao executarmos receberemos alguns erros, pois existe um argumento faltando: sep, que define o separador utilizado no conjunto de dados. Nesse caso, o separador é ponto e vírgula (;). Poderemos então visualizar nosso conjunto a partir da variável dataset.

dataset = pd.read_csv('db.csv', sep = ';')
dataset
NomeMotorAnoQuilometragemZero_kmAcessóriosValor
0Jetta VariantMotor 4.0 Turbo200344410.0False['Rodas de liga', 'Travas elétricas', 'Piloto ...88078.64
1PassatMotor Diesel19915712.0False['Central multimídia', 'Teto panorâmico', 'Fre...106161.94
2CrossfoxMotor Diesel V8199037123.0False['Piloto automático', 'Controle de estabilidad...72832.16
3DS5Motor 2.4 Turbo2019NaNTrue['Travas elétricas', '4 X 4', 'Vidros elétrico...124549.07
4Aston Martin DB4Motor 2.4 Turbo200625757.0False['Rodas de liga', '4 X 4', 'Central multimídia...92612.10
........................
253Phantom 2013Motor V8201427505.0False['Controle de estabilidade', 'Piloto automátic...51759.58
254Cadillac Ciel conceptMotor V8199129981.0False['Bancos de couro', 'Painel digital', 'Sensor ...51667.06
255Classe GLKMotor 5.0 V8 Bi-Turbo200252637.0False['Rodas de liga', 'Controle de tração', 'Câmbi...68934.03
256Aston Martin DB5Motor Diesel19967685.0False['Ar condicionado', '4 X 4', 'Câmbio automátic...122110.90
257MacanMotor Diesel V6199250188.0False['Central multimídia', 'Teto panorâmico', 'Vid...90381.47

Perceba que temos o mesmo conteúdo visualizado no arquivo CSV, que também pode ser aberto em um editor de planilhas como o Microsoft Excel. Agora temos um dataframe, a estrutura de dados disponibilizada pelo Pandas para trabalharmos com dados. Dentre as informações, temos o nome dos veículos, tipo de motor, ano, quilometragem, se o veículo é ou não zero quilômetros, os acessórios e o valor.

Repare que nosso retorno só nos mostrou dez linhas, mas é possível visualizar outras. Utilizando a função pd.set_option() é possível definir alguns parâmetros do dataframe, como o número máximo de linhas retornadas, algo que configuraremos com display.max_rows seguido do número determinado de linhas, neste exemplo 1000.

import pandas as pd
pd.set_option('display.max_rows', 1000)

Se executarmos dataset novamente, receberemos todas as 258 linhas - não foram mostradas 1000 pois nosso conjunto não possui esse total de informações. Também temos uma opção para exibir mais colunas, chamada display.max_columns. Como gostaríamos de manter a configuração padrão, comentaremos ambas as linhas.

import pandas as pd
# pd.set_option('display.max_rows', 10000)
# pd.set_option('display.max_columns', 1000)

É possível obtermos os tipos de dados que temos no conjunto, algo que também fizemos no curso anterior, utilizando o comando dataset.dtypes.

dataset.dtypes

Nome object Motor object Ano int64 Quilometragem float64 Zero_km bool Acessórios object Valor float64 dtype: object

Aqui temos os tipos de cada coluna do dataframe. No Pandas, todo valor do tipo string é tratado como object. Além deste, temos o ano como tipo inteiro (int64), quilometragem como float64, Zero_km como booleano (bool) e assim por diante. Note que, diferentemente dos arrays Numpy, nos dataframes do Pandas é possível trabalharmos com dados de tipos diferentes sem nenhum problema.

Vamos supor que desejamos calcular uma estatística descritiva com esse conjunto. Em nosso exemplo, usaremos as colunas "quilometragem" e "valor". Usaremos a variável dataset, que contém o nosso conjunto, e passaremos entre dois colchetes (pois estamos passando mais de uma informação) as duas variáveis que possuem os dados desejados - Quilometragem e Valor). Por fim, adicionaremos um ponto (.) e a função describe().

dataset[['Quilometragem', 'Valor']].describe()

O Pandas gerará, de forma simples e rápida, um conjunto de estatísticas descritivas dessas duas variáveis: a quantidade de valores, a média, o desvio padrão, o valor mínimo, os quartis da distribuição e o valor máximo.

QuilometragemValor
count197.000000258.000000
mean58278.42132098960.513101
std35836.73325929811.932305
min107.00000050742.100000
25%27505.00000070743.512500
50%55083.00000097724.380000
75%90495.000000124633.302500
max119945.000000149489.920000

Nos cursos de estatística da Alura nos aprofundamos no significado de cada uma dessas informações!

Com a função info() também podemos conseguir outras informações importantes. Por exemplo, acabamos de descobrir que temos menos ocorrências de Quilometragem do que de Valor.

dataset.info()

<class 'pandas.core.frame.DataFrame'> RangeIndex: 258 entries, 0 to 257 Data columns (total 7 columns): Nome 258 non-null object Motor 258 non-null object Ano 258 non-null int64 Quilometragem 197 non-null float64 Zero_km 258 non-null bool Acessórios 258 non-null object Valor 258 non-null float64 dtypes: bool(1), float64(2), int64(1), object(3) memory usage: 12.5+ KB

Isso acontece pois, dentro do conjunto, temos alguns valores faltando (missing) ou nulos (null). Nos aprofundaremos mais no tratamento desses valores na última aula do curso. No próximo capítulo voltaremos a trabalhar com o Python, agora conhecendo as tuplas!

Sobre o curso Python para Data Science: Funções, Pacotes e Pandas

O curso Python para Data Science: Funções, Pacotes e Pandas possui 123 minutos de vídeos, em um total de 57 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!

Plus

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85
à vista R$1.020
Matricule-se

Pro

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas