Alura > Cursos de Data Science > Cursos de Data Science > Conteúdos de Data Science > Primeiras aulas do curso Python para Data Science: trabalhando com funções, estruturas de dados e exceções

Python para Data Science: trabalhando com funções, estruturas de dados e exceções

Bibliotecas - Apresentação

Olá! Meu nome é Afonso Rios, sou instrutor de dados na Alura.

Sou um homem de pele morena, tenho olhos castanhos escuros, cabelos curtos e lisos, também castanhos escuros, e barba. Estou vestindo uma camiseta preta com alguns detalhes em verde. Ao fundo, há uma parede branca, com iluminação esverdeada.

Neste curso de introdução a data science, vamos aprender a utilizar a linguagem Python voltada à área de ciência de dados. Aqui, não aprenderemos como usar as bibliotecas mais usuais da ciência de dados, como Pandas e NumPy.

Nosso objetivo é estudar todos os conceitos até chegar ao ponto de entender um pouco mais essas bibliotecas, seus métodos e como são tratados os dados para realização de análises. Além disso, aprenderemos a:

Ao final do curso, você será capaz de resolver situações-problema, utilizando todo esse ferramental e construirá uma base sólida, que te auxiliará a utilizar a linguagem Python na área de data science.

Para que sua experiência seja ainda mais proveitosa, é ideal que você já saiba conceitos básicos da linguagem, como:

Vamos lá?!

Bibliotecas - Importando bibliotecas

Você foi contratado para auxiliar um time de ciência de dados a resolver alguns problemas para uma escola que atua do ensino médio ao ensino superior.

Para entender como ajudar na resolução de demandas que surgem a todo o momento, você precisará passar por um pequeno treinamento, guiando-se por uma lista de conteúdos, cada um deles aborda uma situação relacionada às demandas da escola.

O primeiro assunto são as bibliotecas do Python!

Bibliotecas do Python

As bibliotecas do Python são, basicamente, um conjunto de módulos e funções úteis para a pessoa usuária. Esses módulos e funções desempenham tarefas segundo as nossas necessidades, sem que seja necessário trazer todos os pacotes e dados para o projeto.

Como utilizar uma biblioteca Python?

Para conseguir utilizar uma biblioteca, precisamos instalá-la - caso ela não esteja no ambiente - atualizá-la ou importá-la no nosso projeto.

Instalação e importação de bibliotecas

Para instalar uma biblioteca ou atualizá-la, podemos utilizar o pip, um gerenciador de bibliotecas do Python.

Lembrando que, no Colab do curso, você encontrará não só instruções sobre a instalação das bibliotecas, mas também o código de todos os projetos, soluções e problemas que precisaremos resolver.

Pensando em um modelo real, poderíamos dizer que o trabalho do pip é semelhante ao de um bibliotecário. Enquanto o bibliotecário cataloga e organiza os documentos e livros em um acervo, o pip organiza as bibliotecas e pacotes dentro do Python.

Instalando a biblioteca matplotlib pelo pip

Vamos escrever pip install, sendo install palavra-chave para instalação. Em seguida, indicaremos qual biblioteca vamos instalar. Nós escolheremos a matplotlib, biblioteca usada para visualização de dados.

pip install matplotlib

Talvez apareçam marcações vermelhas abaixo do código, como se ele estivesse errado. O motivo disso acontecer é que o trabalho com pip envolve a camada do prompt de comando da nossa máquina virtual.

No nosso Colab do curso, para trabalharmos com essa máquina virtual, precisamos de uma palavra-chave bem pequena. Na verdade, se trata de um símbolo, a exclamação "!", que adicionaremos no início do código.

!pip install matplotlib

Essa exclamação indica que a célula de código não é comum, como as utilizadas para linguagem ou em operações, mas, sim, uma célula que usaremos no prompt de comando para instalar ou atualizar bibliotecas.

Vamos rodar o código!

!pip install matplotlib

A seguir, temos um trecho do retorno:

Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/

Requirement already satisfied: matplotlib in /usr/local/lib/python3.9/dist-packages (3.5.3)

Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.9/dist-packages (from matplotlib) (23.0)

Requirement already satisfied: pyparsing>=2.2.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib) (3.0.9)

O retorno mostra alterações e atualizações em processo e o aviso "requirement already satisfied", indicando que o matplotlib já está instalado na versão básica do Colab. Caso contrário, a instalação seria concluída.

Também podemos instalar a biblioteca a partir de uma versão específica.

Por que utilizar a versão específica de uma biblioteca?

Vamos supor a seguinte situação: nós trabalhamos com algum método ou função no matplotlib em determinada versão, por exemplo, a "3.6.12". Na versão acima, essa função deixou de existir ou seus parâmetros mudaram. Neste caso, o código quebraria.

Quando utilizamos a instalação de uma versão específica, estamos assegurando ao usuário do nosso código que ele vai funcionar corretamente, porque fizemos testes neste tipo de versão.

Instalando uma versão específica do matplotlib

A instalação é bem simples. Vamos começar passando !pip install matplotlib. Para instalar a versão acima, adicionaremos o operador ==, que navegará no Python e escolherá a versão 3.6.2. Lembrando que não é necessário passar a versão entre aspas.

!pip install matplotlib==3.6.2

O pip precisa atualizar a versão, então busca essa versão no PyPI, repositório de bibliotecas, e a instá-la na nossa máquina. Vamos rodar o código.

Ele está carregando, instalando as bibliotecas, atualizando, desinstalando a versão anterior e, por fim, a instalação é concluída. Provavelmente aparecerá um warning (aviso) de que precisamos restaurar a seção para que as modificações sejam aplicadas ao projeto.

WARNING: The following packages were previously imported in this runtime: [matplotlib, mlp_toolkits]

You must restart the runtime in order to use newsly installed versions.

(Em tradução livre: Os seguintes pacotes foram importados anteriormente neste tempo de execução [matplotlib, mlp_toolkits] Você deve reiniciar o tempo de execução para usar novas versões instaladas)

Podemos acessar "Ambiente de execução", no topo da página, e escolher a opção "Reiniciar ambiente de execução" ou apertar "Restart Runtime" que aparece logo após a resposta do código para restartar/reiniciar o ambiente de execução.

Rodando novamente o código, poderemos conferir que agora todas as requisições foram satisfeitas. A seguir, você pode acompanhar um trecho do retorno:

Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/

Requirement already satisfied: matplotlib==3.6.2 in /usr/local/lib/python3.9/dist-packages (3.6.2)

Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib==3.6.2) (1.4.4)

Requirement already satisfied: pyparsing>=2.2.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib==3.6.2) (3.0.9)

Após o retorno, no Colab, você encontra o acesso à PYPI, repositório de bibliotecas do Python.

Instalamos a biblioteca e ela já está na nossa máquina. O próximo passo é importar a biblioteca, isto é, trazê-la para nosso código Python.

Importar a biblioteca

Para importar a biblioteca, usaremos import seguido do nome desta biblioteca, matplotlib.

Importando uma biblioteca sem alias

import matplotlib

Rodamos e apareceu um sinal de check em verde ao lado da célula, informando que a importação foi concluída. Na próxima célula, passaremos matplotlib.__version__.

Dunder methods: métodos mágicos ou dunder methods são parâmetros com dois underlines seguidos: __. Basicamente, trazem alguns métodos extraordinários, que podem ser aplicados em vários tipos de módulos, classes e objetos e respondem a um tipo específcio de tarefa.

É importante saber a versão de biblioteca estamos trabalhando, seja ela a matplotlib ou outra biblioteca, inclusive para conferir se precisamos atulizar ou não essa versão e entender os requisitos para trabalhar com o projeto.

Vamos rodar o código:

matplotlib.__version__

'3.6.2'

O retorno é "3.6.2", versão que escolhemos na instalação. Outra forma de importar um código, biblioteca ou pacote do Python é usando alias, um apelido. No seu dia a dia, provavelmente você não é chamado por seu nome inteiro. Assim como seu apelido, podemos dizer que o alias é uma forma carinhosa ou mais simples de se chamar uma biblioteca.

Nós trabalharemos com a biblioteca matplotlib.pyplot, um submódulo no Matplotlib, ou seja, um módulo dentro do módulo, responsável por trabalhar também com a visualização de dados.

Importando uma biblioteca com alias

import matplotlib.pyplot as plt

Estamos importando a biblioteca matplotlib.pyplot como (as) "plt". Ou seja, plt será o apelido do matplotlib.pyplot. Repetir matplotlib.pyplot todas as vezes em que for necessário executar um código é bastante cansativo.

A função do plt é reduzir a quantidade de caracteres que utilizaremos no nosso código. Agora, vamos passar plt.show(), sendo que o ponto indica o que vamos pegar de dentro do plt.

Nós temos uma biblioteca com várias funções, módulos, classes, objetos e precisamos escolher o que desejamos visualizar. Inclusive, ao passarmos o ponto, plt., visualizaremos várias opções.

Estamos utilizando .show(), um objeto que serve para mostrar na tela apenas a imagem produzida. Porém, não produzimos nada. Ao rodarmos plt.show(), não teremos um erro, mas nada será executado. Receberemos apenas uma confirmação de que o código foi executado de maneira correta: check em verde ao lado da célula.

plt.show()

Aprendemos a importar a biblioteca com e sem alias e também a instalá-la. No próximo vídeo, aprenderemos a utilizá-la!

Bibliotecas - Utilizando pacotes/bibliotecas

Aprendemos a instalar e importar bibliotecas no nosso projeto. Chegou a hora de entender como utilizar os pacotes de bibliotecas e os métodos de variáveis que estão nelas.

Lembrando que é importante sempre consultar a Documentação do Python, estudar e entender seus métodos para utilizá-los da melhor forma no projeto!

Utilizando pacotes/bibliotecas

No nosso primeiro exemplo, vamos testar a biblioteca Matplotlib, mais especificamente, a matplotlib.pyplot para encontrar a média de estudantes de uma classe.

Nós criaremos um pequeno gráfico de barras mostrando as métricas desses estudantes. Vamos lá?!

Começaremos fazendo algo que aprendemos anteriormente: importando a biblioteca Matplotlib com alias.

import matplotlib.pyplot as plt

Rodamos e realizamos a importação da biblioteca. A seguir, temos duas listas. Uma de estudantes e outra de notas.

estudantes = ["João", "Maria", "José"]
notas = [8.5, 9, 6.5]

Para criar um gráfico a partir desses dados, utilizaremos um método dentro do plt chamado bar(). Vamos escrever: plt.bar(). É como se disséssemos: do plt quero bar().

Quando passamos o mouse nos parênteses de bar(), visualizamos uma série de parâmetros que podem ser usados. Nós trabalharemos com dois: x, que se refere ao eixo x e height, a altura, que se refere ao eixo y.

Vamos passar o nome do parâmetro que utilizaremos e o valor que virá para ele:

O código ficará assim:

plt.bar(x = estudantes, height = notas)

Precisamos rodar a lista de estudantes e notas e o código plt.bar(). O retorno é um gráfico de três barras, com "João", "Maria" e "José" na base e as barras apontando suas respectivas notas: João com 8,5; Maria com 9,0; e José com 6,5.

Gráfico de barras azuis, sem título. O eixo y está graduado de 0 a 8 com intervalos de 2. O eixo x é composto por: João; Maria; e José. Para cada uma das pessoas, há uma barra que relaciona, no eixo y, o valor das notas: João com 8,5; Maria com 9,0; e José com 6,5.

Interessante como, com um código simples, conseguimos construir um gráfico! Agora, vamos para o segundo exemplo. Nele, usaremos a biblioteca random.

Biblioteca random

A biblioteca random é responsável por gerar números e sequências aleatórias. Quando queremos trabalhar com aleatoriedades nos nossos dados, é bastante usual utilizar a random.

No nosso exemplo, vamos selecionar aleatoriamente um(a) estudante para apresentar seu trabalho de ciências de dados, usando a biblioteca random.

Se quiser conhecer um pouco mais sobre a random e todos os seus métodos, basta acessar a documentação da biblioteca random

Inicialmente, vamos apenas aumentar a nossa lista de estudantes:

estudantes_2 = ["João", "Maria", "José", "Ana"]

Não se esqueça de rodar o código!

Até aqui, aprendemos a:

Agora aprenderemos a importar uma função específica de uma biblioteca.

Importando uma função específica de uma biblioteca

Para estruturar a nossa função, vamos considerar que: queremos, da random, uma função que faça uma escolha (choice). Isto é, da random quero choice.

from nome_biblioteca import metodo

Agora vamos preencher:

from random import choice

Com isso, selecionamos da biblioteca, a função choice, que fará a escolha de um(a) estudante.

Para compreender o que uma função, método, classe ou objeto fazem, podemos recorrer a uma built-in function (função embutida) chamada help(). Ela traz uma ajuda de como utilizar determinado tipo de funcionamento.

Se quiser conhecer melhor a função help(), você pode acessar a documentação

Estamos trabalhando com a função choice e vamos passar:

help(choice)

Help on method choice in module random:

choice(seq) method of random.Random instance Choose a random element from a non-empty sequence.

O retorno é uma pequena explicação sobre como utilizar a choice:

Vamos passar a função choice() para a variável estudante. Nos parênteses de choice(), passaremos estudantes_2, que é a nossa lista de estudantes.

Em seguida, colocaremos a escolha aleatória do choice() dentro da variável estudante.

estudante = choice(estudantes_2)
estudante

'Maria'

Rodamos o código e a estudante escolhida aleatoriamente pelo choice() foi a "Maria". Vamos testar de novo:

estudante = choice(estudantes_2)
estudante

'José'

Desta vez, o escolhido foi "José". Significa que o choice() está escolhendo aleatoriamente o(a) estudante que apresentará o trabalho de ciência de dados.

Bem legal! Conseguimos importar:

Na próxima aula, vamos começar a aprender como criar uma sequência de instruções para determinados comportamentos que queremos reproduzir em determinada parte do código ou mais a frente. Vamos falar sobre funções! Até a próxima!

Sobre o curso Python para Data Science: trabalhando com funções, estruturas de dados e exceções

O curso Python para Data Science: trabalhando com funções, estruturas de dados e exceções possui 150 minutos de vídeos, em um total de 51 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