Linguagem de Programação: Introdução A Biblioteca Pandas
Linguagem de Programação: Introdução A Biblioteca Pandas
Linguagem de Programação: Introdução A Biblioteca Pandas
PROGRAMAÇÃO
Linguagem de programação:
Introdução a Biblioteca Pandas
• Teleaula nº: 04
Contextualização
• Linguagem de programação: Introdução a Biblioteca Pandas
import pandas as pd
'nome5': 'Kellie',
se tratam de funções matemáticas e estatísticas, menor valor da Series (nesse caso os dados precisam ser
pd.DataFrame(lista_nomes, columns=['nome'])
Introdução a Biblioteca Pandas
Construtor DataFrame com dicionário
Cada objeto possui seus próprios atributos e métodos, logo, embora Series
e DataFrame tenham recursos em comum, eles também possuem suas
particularidades. No DataFrame temos o método info() que mostra quantas linhas e
colunas existem.
Também exibe o tipo de cada coluna e quanto valores não nulos existem
ali. Esse método também retorna uma informação sobre a quantidade de memória
RAM essa estrutura está ocupando.
Introdução a Biblioteca Pandas
Seleção de colunas em um DataFrame
nome_df.nome_coluna
nome_df[nome_coluna]
Introdução a Biblioteca Pandas
A primeira forma é familiar aos desenvolvedores que utilizar a
linguagem SQL, porém ela não aceita colunas com espaços entre as
palavras.
A biblioteca pandas foi desenvolvida para trabalhar com dados estruturados, ou seja,
dados dispostos em linhas e colunas. Os dados podem estar gravados em arquivos, em
páginas web, em APIs, em outros softwares, em object stores (sistemas de armazenamento
em cloud) ou em bancos de dados. Para todas essas origens (e até mais), a biblioteca possui
métodos capazes de fazer a leitura dos dados e carregar em um DataFrame.
Dentre todos os possíveis métodos para leitura, nessa aula vamos estudar o
read_json, o read_csv e a função read_sql, que contempla a função read_sql_query.
JSON (JavaScript Object Notation - Notação de Objetos JavaScript) é uma formatação leve de
troca de dados e independente de linguagem de programação.
CSV (comma-separated values - valores separados por vírgula) é um formato de arquivo, nos
quais os dados são separados por um delimitador.
INTRODUÇÃO A MANIPULAÇÃO DE DADOS EM PANDAS
Leitura de JSON e CSV com pandas
import pandas as pd
pd.read_json("https://api.bcb.gov.br/dados/serie/bcdata.sgs.11/dados?formato=json").head()
Além de vários métodos para carregar e salvar os dados, a biblioteca pandas possui
uma diversidade de métodos para a transformação dos dados e a extração de informação para
áreas de negócio.
O trabalho com dados: capturar os dados em suas origens, fazer transformações nos
dados a fim de padronizá-los, aplicar técnicas estatísticas clássicas ou algoritmos de
machine/deep learning feito por engenheiros e cientistas de dados.
A extração dos dados pode ser realizada por meio do método read_json() e
guardando em um DataFrame (DF) pandas. Ao carregar os dados em um DF, podemos
visualizar quantas linhas e colunas, bem como, os tipos de dados em cada coluna, com o
método info().
Trabalhar com o tipo "data" pode trazer vantagens, como por exemplo, ordenar da
data mais recente para mais antiga. Vamos utilizar os métodos pandas.to_datime() e
minha_series.astype() para fazer a conversão e transformar as colunas data e data_extracao.
Nessa conversão usamos o método astype, que transforma os dados de uma coluna
(que é uma Series) em um determinado tipo, nesse caso, o tipo datetime especificado. Com
astype() podemos padronizar valores das colunas, por exemplo, transformando todos em float,
ou int, ou str, ou outro tipo. Veja que agora, ao usar o método info(), temos que ambas
colunas são do tipo datetime (datetime da biblioteca pandas).
Método sort_values(): sort_values() que permite ordenar o DF, de acordo com os valores
de uma coluna. Esse método é do DataFrame, por isso a notação meu_df.metodo(). Utilizamos
três parâmetros do método sort_values, o primeiro informando qual coluna deve ser usada
para ordenar, o segundo, para que seja feito em ordem decrescente (do maior para o menor)
e o terceiro (inplace=True) significa que queremos modificar o próprio objeto, na prática
estamos sobrescrevendo o DF.
Durante a transformação dos dados, pode ser necessário definir novos valores para
os índices, ao invés de usar o range numérico. Essa transformação pode ser feita usando o
método meu_df.set_index(). O método permite especificar os novos valores usando uma
coluna já existente ou então passando uma lista, de tamanho igual a quantidade de linhas.
INTRODUÇÃO A MANIPULAÇÃO DE DADOS EM PANDAS
Filtros com loc
Um dos recursos mais utilizados por equipes das áreas de dados é a aplicação de
filtros. A distinção por gênero pode ser um filtro. Esse filtro vai possibilitar comparar a idade de
todos, com a idade de cada grupo e entender se as mulheres ou homens estão abaixo ou
acima da média geral.
Podemos usar operadores relacionais e lógicos para fazer testes condicionais com os
valores das colunas de um DF. Ao criarmos um teste condicional, internamente, a biblioteca
testa todas as linhas do DF ou da Series, retornando uma Series booleana, ou seja, composta
por valores True ou False.
O teste condicional pode ser construído também utilizando operadores lógicos. Para
a operação lógica AND (E), em pandas, usa-se o caracter &. Para fazer a operação lógica OR
(OU), usa-se o caracter. Cada teste deve estar entre parênteses, senão ocorre um erro. Ao
criar as condições, basta aplicá-las no DataFrame para criar o filtro. A construção é feita
passando a condição para a propriedade loc.
INTRODUÇÃO A MANIPULAÇÃO DE DADOS EM PANDAS
Banco de dados com pandas
Além dos métodos para acessar arquivos, a biblioteca pandas possui dois métodos
que permitem executar instruções SQL em banco de dados. Os métodos são:
Matplotlib
A instalação da biblioteca pode ser feita via pip install: pip install matplotlib,
lembrando que em ambientes como o projeto Anaconta e o Colab esse recurso já está
disponível.
VISUALIZAÇÃO DE DADOS EM PYTHON
Existem duas sintaxes que são amplamente adotadas para importar essa biblioteca
para o projeto:
import matplotlib.pyplot as plt
from matplotlib import pyplot as plt
import random
• Deixar para o pyplot criar e gerenciar automaticamente figuras e eixos, e usar as funções
do pyplot para plotagem.
• Criar explicitamente figuras e eixos e chamar métodos sobre eles (o "estilo orientado a
objetos (OO)").
No gráfico que criamos, nós utilizamos a opção 1, ou seja, foi o próprio módulo que
criou o ambiente da figura e do eixo. Ao utilizar a segunda opção, podemos criar uma figura
com ou sem eixos, com a função plt.subplots(), que quando invocada sem parâmetros, cria um
layout de figura com 1 linha e 1 coluna.
VISUALIZAÇÃO DE DADOS EM PYTHON
Biblioteca pandas
O tipo de dados que uma coluna possui é muito importante para a biblioteca seborn,
uma vez que as funções usadas para construir os gráficos são dividas em grupos: relacional,
categóricos, distribuição, regressão, matriz e grid.
VISUALIZAÇÃO DE DADOS EM PYTHON
Função barplot()
Construtor da função barplot possui uma série de parâmetros estatísticos, que dão
muita flexibilidade e poder aos cientista de dados, vamos falar sobre o parâmetro "estimator",
que por default é a função média. Isso significa que cada barra do gráfico, exibirá a média dos
valores de uma determinada coluna, o que pode não fazer sentido, uma vez que queremos
exibir a quantidade dos valores (len) ou a soma (sum).
Esse método não aceita que sejam passados valores de x e y ao mesmo tempo, pois
a contagem será feita sobre uma variável categórica, portanto devemos especificar x ou y, a
diferença será na orientação do gráfico. Se informamos x, teremos uma gráfico na vertical, se
y, na horizontal.
Função scartterplot()