Estudos de Caso em Python
Estudos de Caso em Python
Estudos de Caso em Python
Programação Aplicada
Material Teórico
Estudos de Caso em Python
Revisão Textual:
Prof. Me. Luciano Vieira Francisco
Estudos de Caso em Python
• Introdução;
• Leitura, Manipulação e Visualização de Datasets.
OBJETIVOS DE APRENDIZADO
• Compreender o uso de datasets de domínio público;
• Aprender a manipular os dados de datasets;
• Aprender a criar gráficos para análise de dados em datasets.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.
Mantenha o foco!
Evite se distrair com
as redes sociais.
Seja original!
Nunca plagie
trabalhos.
Não se esqueça
de se alimentar
Assim: e de se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como seu “momento do estudo”;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua
interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e
de aprendizagem.
UNIDADE Estudos de Caso em Python
Introdução
Os pacotes Numpy, Pandas e Matplotlib, como você já estudou, auxiliam na
tarefa de análise de dados, dando suporte à preparação ou leitura dos dados até à
visualização por meio de gráficos.
Você também deve se lembrar que estudamos sobre como carregar arquivos
de dados, ou datasets; geralmente esses arquivos possuem muitos dados, e para
processá-los temos a disponibilidade de pacotes como Pandas e o Numpy para
realizar alguns processamentos.
Leitura, Manipulação e
Visualização de Datasets
Processaremos diferentes arquivos de dados para cada um dos exemplos desta
seção; então, antes de começar, certifique-se que já baixou todos do ambiente.
Estudo de caso 1
Precisamos apresentar um gráfico de barras para demonstrar o ganho de meda-
lhas de cinco países, os dados serão criados manualmente neste estudo, visto que
o intuito é demonstrar o uso de um gráfico de barras segmentadas. Eis o código:
import numpy as np
8
ind = np.arange(len(paises))
plt.xticks(ind, paises)
plt.ylabel(“Medalhas”)
plt.xlabel(“Países”)
plt.legend()
# Título do gráfico
plt.show()
80
Medalhas
60
40
20
0
EUA China Brasil Argentina Alemanha
Países
9
9
UNIDADE Estudos de Caso em Python
Estudo de caso 2
Um setor público precisa visualizar os resultados das eleições presidenciais de
2018. É necessário criar um gráfico para demonstrar a quantidade de votos dos três
candidatos mais votados. Tal gráfico deve evidenciar as porcentagens de cada um dos
candidatos nas regiões Sudeste, Nordeste, Sul, Norte e Centro-Oeste. Eis o código:
import numpy as np
# https://congressoemfoco.uol.com.br/eleicoes/acompanhe-por-aqui-a-
apuracao-de-votos-em-tempo-real/
index = np.arange(len(regioes))
plt.xticks(index, regioes)
plt.xlabel(“Regiões”)
plt.legend()
plt.show()
60
40
20
0
Sudeste Nordeste Sul Norte Centro-oeste
Regiões
10
Estudo de caso 3
Para este estudo você encontrará os dados no arquivo axisdata.xlsx.
Alcides é o gerente de vendas da Axis Auto e se prepara para uma reunião anual
de vendas, necessitando, para tanto, de algumas análises e gráficos. Os dados pre-
sentes no dataset incluem o gênero, as horas trabalhadas, o treinamento, os anos
de experiência e a média de carros vendidos no ano para cada membro da equipe.
Assim, apresente:
import pandas as pd
df = pd.read_csv(“axisdata.csv”)
# saída
import pandas as pd
nome = []
df = pd.read_csv(“axisdata.csv”)
# saída
for i in range(len(df)):
nome.append(df[“Fname”][i])
11
11
UNIDADE Estudos de Caso em Python
nome.sort()
print(nome)
# saída
import pandas as pd
nome = []
df = pd.read_csv(“axisdata.csv”)
# saída:
for i in range(len(df)):
nome.append(df[“Fname”][i])
nome.sort()
print(nome)
# saída:
import pandas as pd
12
df = pd.read_csv(“axisdata.csv”)
colors=[“blue”, “red”]
plt.legend(obj)
plt.axis(“equal”)
plt.show()
# saida:
F F
M
48.95%
51.05%
M
Figura 3 – Gráfico de setores (vendas por gêneros)
Média de horas trabalhadas para as pessoas que vendem mais de três carros.
Código:
import pandas as pd
df = pd.read_csv(“axisdata.csv”)
13
13
UNIDADE Estudos de Caso em Python
# saída:
A média de carros é: 34.74
Um gráfico referente à média das horas trabalhadas para cada valor da experiência, ou seja,
a média de horas para as pessoas com 1 ano de experiência, 2, 3 e assim sucessivamente.
Código:
# Vamos precisar dos três pacotes juntos
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# Leitura do dataset
df = pd.read_csv(“axisdata.csv”)
# Criamos os rótulos do eixo X
rotulos = [“1 Ano”, “2 Anos”, “3 Anos”, “4 Anos”, “5 Anos”]
14
dadosEXP5 = df.loc[df[“Years Experience”] == 5]
# Calculamos a média das horas trabalhadas com base na coluna Hours Worked
mediaEXP5 = dadosEXP5[“Hours Worked”].mean()
30
25
20
15
10
0
1 Ano 2 Anos 3 Anos 4 Anos 5 Anos
Figura 4 – Gráfico de barras (horas trabalhadas)
Estudo de caso 4
Para este estudo, você encontrará os dados no arquivo gradedata.xlsx. Descu-
bra, então, o seguinte:
import pandas as pd
df = pd.read_csv(“gradedata.csv”)
15
15
UNIDADE Estudos de Caso em Python
Apresente os dados graficamente para as notas – grade – nas faixas <= 60, > 60 e <= 70,
> 70 e <= 80, > 80, destacando a maior taxa.
Código:
16
dadosnota2 = df.loc[(df[“grade”] > 60) & (df[“grade”] <= 70)]
nota2 = len(dadosnota2)*100 / len(df.index)
obj = (“< 60”, “> 60 e <= 70”, “> 70 e <= 80”, “> 80”)
valores = [nota1, nota2, nota3, nota4]
colors=[“blue”, “red”, “grey”, “yellow”]
explode = (0, 0, 0, 0.2)
# Digite as linhas abaixo em uma única célula
plt.pie(valores, labels=obj, explode=explode, colors=colors,
autopct=»%1.1f%%», shadow=True)
plt.legend(obj)
plt.axis(“equal”)
plt.show()
# saída:
> 70 e < = 80
29.0%
> 60 e < = 70
9.6%
< 60
0.7%
< 60
60.6% > 60 e < = 70
> 70 e < = 80
> 80
Apresente a maior e menor notas para ambos os gêneros. Para cada valor encontrado,
imprima o nome e sobrenome do primeiro aluno da lista.
Código:
import pandas as pd
df = pd.read_csv(“gradedata.csv”)
# Buscamos o gênero masculino
homem = df.loc[df[“gender”] == “male”]
17
17
UNIDADE Estudos de Caso em Python
18
Crie um gráfico de dispersão horas/nota.
Código:
df = pd.read_csv(“gradedata.csv”)
# Vamos extrair duas Series, uma de horas e outra de notas
xs = df[“hours”]
ys = df[“grade”]
100
90
80
70
60
50
40
30
0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0
Figura 6 – Gráfico de dispersão horas/notas
Chegamos ao final desta Unidade, de modo que procure praticar tudo o que
estudou; treine com o site Kaggle, no qual encontrará diversos desafios, alguns
voltados à inteligência artificial e outros com o nosso foco em análise de dados e
visualização – você achará diversos datasets para treinar e fazer as suas análises.
19
19
UNIDADE Estudos de Caso em Python
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
Kaggle
Datasets públicos, competições, códigos no Jupyter e discussões.
http://bit.ly/2RCVWZ7
Leitura
Manipulando arquivos CSV com o Pandas
http://bit.ly/2t019zJ
Tutorial do Numpy
http://bit.ly/2RGlswz
Iniciando o uso do Pandas
http://bit.ly/2Pyfco0
Tutorial do Matplotlib
http://bit.ly/38wUhue
Documentação do Python 3.x
http://bit.ly/2LLLsTl
20
Referências
BECKER, J. L. Estatística básica: transformando dados em informação. Porto
Alegre, RS: Bookman, 2015.
21
21