2. Overview
● Processamento de dados básico com Pandas
● Series e DataFrames
● Manipulação e consulta
● Muito código
3. Pandas
Biblioteca para análise de Dados
● Fácil de manipular, transformar, consultar conjuntos de
dados
● Ferramentas para ler/escrever dados de várias fontes
● Altamente otimizada para performance
● Open-source
5. Estrutura de Dados Series
● Itens em ordem
● A coluna é nomeada
● Cada linha tem um índice
Frutas
0 Laranja
1 Maçã
2 Manga
3 Goiaba
6. Estrutura de Dados Series - Manipulação
import pandas as pd
# criar a partir de lista,
# dicionário (infere tipo)
numbers = [1, 2, 3]
pd.Series(numbers)
frutas = {'Laranja': 'Verde',
'Maçã': 'Vermelha',
'Banana': 'Amarela'}
pd.Series(frutas)
# passar lista de índices
pd.Series(['Tigre', 'Urso', 'Político'],
index=['India', 'America', 'Brazil'])
7. Estrutura de Dados Series - Consulta
# consultar a Serie
frutas = {'Laranja': 'Verde',
'Maçã': 'Vermelha',
'Banana': 'Amarela'}
f = pd.Series(frutas)
# terceira linha
f.iloc[2]
# índice Laranja
f.loc['Laranja']
8. Estrutura de Dados Series - Consulta
import numpy as np
s = pd.Series(
np.random.randint(0,1000,10000)
)
# cabeçalho
s.head()
# rodapé
s.tail()
# broadcast
s += 2
9. Estrutura de Dados DataFrame
● Itens em ordem
● Cada coluna é nomeada
● Cada linha tem um índice
Frutas Cor
0 Laranja Verde
1 Maçã Vermelha
2 Banana Amarela
3 Goiaba Verde
10. Estrutura de Dados DataFrame - Manipulação
# criando a partir de dicionário
df_data = {
'pais':
['Brasil','Argentina','Argentina',
'Brasil', 'Chile','Chile'],
'ano':
[2005, 2006, 2005, 2006, 2007, 2008],
'populacao':
[170.1, 30.5, 32.2, 172.6, 40.8, 42.0]}
df = pd.DataFrame(df_data)
# adicionar coluna
df['PIB'] = 0
11. Estrutura de Dados DataFrame - Manipulação
# transposição
df.T
# adicionar linha
df.append({
'ano':2010,
'pais': 'Peru',
'populacao':100.4},
ignore_index=True)
# deletar linha
df.drop(1)
# deletar coluna
del df['ano']
12. Estrutura de Dados DataFrame - Carregamento
# carregando de arquivo csv
av = pd.read_csv("avengers.csv")
# tamanho
av.shape
# colunas
av.columns
# cabeçalho
av.head()
# seção específica
av.iloc[50:].head()
14. Estrutura de Dados DataFrame - Consulta
# selecionar coluna
av['Name/Alias'].head()
# selecionar mais colunas
av.head().loc[ : ,
['Name/Alias','Gender']]
# número de personagens criados
após 2000
len( av[ av['Year'] ≥ 2000])
# personagens que morreram uma vez
e não retornaram
av[(av['Death1'] == 'YES') &
(av['Return1'] == 'NO')]
15. Estrutura de Dados DataFrame - Estatísticas
# soma
df.sum()
# média
df.mean()
# máximo
df.max()
# estatísticas comuns
df.describe()
16. Estrutura de Dados DataFrame - Indexação
# Modificando o índice para Nome do
personagem.
av['cod'] = av.index
av = av.set_index('Name/Alias')
av.head()
# Exibindo valores únicos de uma
coluna
av['Years since joining'].unique()
# Exibindo somente os personagens
do ano 1963
av=av[av['Year'] == 1963]
av.head()
17. Estrutura de Dados DataFrame - Valores Nulos
#Ordenando índice
av = av.sort_index()
#Definindo dois índices
av = av.reset_index()
av = av.set_index(
['Gender', 'Name/Alias'])
#Preenchendo os valores NaN
av = av.fillna(method='ffill')
18. Exercícios
● Qual a média da idade dos personagens da Marvel?
● Qual o jogo mais vendido no ano de 2006?
● Qual o total de vendas dos jogos do gênero esporte na
américa do norte?
19. Exercícios
● Qual a média da idade dos personagens da Marvel?
○ Criar coluna com idade (ano atual - ano criação)
○ Calcular média da coluna idade
● Qual o jogo mais vendido no ano de 2006?
○ Selecionar jogos de 2006
○ Calcular máximo da coluna de vendas total
● Qual o total de vendas dos jogos do gênero esporte na
américa do norte?
○ Selecionar jogos do gênero Sports
○ Calcular soma da coluna de vendas na américa do norte