Lista 5 PANDAS 2SEM 2023

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 4

Sistemas de Informação – LISTA -5 – Python

Prof. Dr. Marco Caetano

• Na seção 8.5 (pg 261) um dos comandos para importar os dados do Excel é com formato
CSV. Esse formato é o que aparece quando baixamos dados do Yahoo Finance. Para os
exercícios extras a seguir fazer:

a- baixar dados do Yahoo Finance do Ibovespa (aparece no arquivo ^BVSP.CSV) de 1/1/2022 a


31/1/2022.

b- Colocar esse arquivo CSV na mesma pasta do programa python.

c- Ler esse arquivo em todos os exercícios usando a pandas para ler em CSV.

d- Faça os scripts em Python para cada uma das questões a seguir.

(1) Fazer um programa em Python para ler o arquivo do Ibovespa. Passar as datas para índice
do DataFrame. Fazer o seguinte gráfico do Close, em formato de linha tracejada, preta com
marcadores em triângulo, colocando o título “Ibovespa/2022”, o título do eixo x “Data” e o título
do eixo y “Pontos”. O gráfico dever ter as linhas de grade como o apresentado a seguir. É para
fazer tudo em DataFrame e não usar outra biblioteca que não seja a Pandas.

(2) Refazer o programa anterior usando os dados de Close e Low do arquivo Excel CSV, sendo
Close gráfico em azul com linha contínua e marcador ‘o’. O Low deverá ser em linha vermelha
com marcador ‘o’ também. Todo o gráfico deverá ter os títulos conforme mostrado a seguir.
(3) Refazer o programa anterior, agora usando subplot com duas janelas uma ao lado da outra.
Na primeira deverá ter os dados de High em cor preta e marcador ‘o’. A segunda ao lado com
dados de Low, usando cor vermelha com marcador ‘o’, ambos os gráficos contínuos e sem linhas
de grade.

(4) O gráfico de barras pode ser feito no DataFrame usando o formato df.plot.bar() (pag 266 do
livro) ou também usando dentro das definições dos parêntesis a função kind=’bar’. O problema
do gráfico de barras é que ele tem uma configuração padrão que toma todas as datas, o que
deixa o eixo x bastante desagradável. Pesquise e tente usar o “slice” no DataFrame df,

df[inicio: fim: step].plot()

para separar as datas num bom intervalo de “step” e deixar o eixo x mais apresentável como
mostrado a seguir.

(5) Fazer o gráfico com subplot (2,1) onde na primeira janela aparece Close e na janela de baixo
aparece o gráfico de barras do Volume. Nesse caso, não dá para usar apenas o gráfico de pandas,
e se faz necessário o uso da biblioteca matplotlib para criar os eixos de subplots. Existem diversas
maneiras de se fazer isso, por exemplo criando os eixos como
ax1 = fig.subplot(211)

ax2 = fig.subplot(212)

Esse tipo de solução tem em diversos gráficos do livro a partir do Capítulo 10.

Outra maneira é criando através do comando

figura, ax1 = fig.subplots(nrows=2, ncols=1)

esses novos eixos de subplots, aqui chamado de ax1. De qualquer forma, esses novos eixos
entram como vetores ax1[0], ax1[1]. Dentro do DataFrame, é necessário informar esses novos
eixos do tipo df.plot( ....... ax = ax1[0] ....) para a primeira janela e df.plot( ....... ax = ax1[1] ....)
para a segunda janela, onde ax é variável reservada do plot da Pandas. Pesquise na internet
como se fazer para obter o seguinte resultado gráfico para o Ibovespa.

(6) Da mesma forma que o exercício anterior, agora deve-se criar 4 subplots, mostrando o Close,
o Volume, o histograma do Close e o histograma do Volume do Ibovespa conforme apresentado
a seguir.
(7) No arquivo do Ibovespa, programa uma linha para que o algoritmo delete as colunas de
Volume e Adj Close. A seguir faça o Boxplot dos fechamentos (Close) do Ibovespa de Outubro a
Dezembro de 2022. O gráfico deverá ser em pandas e o resultado deve ser o mesmo do gráfico
a seguir.

(8) Programar o algoritmo para dizer quais as datas que o Close esteve abaixo de 98.000 pontos.
Programar também para imprimir qual a data do menor valor do Close no arquivo do Ibovespa
completo. O menor valor do Close pode ser obtido pela função “argmin()” do DataFrame.

(9) Fazer um script em Python que após importar o arquivo do Ibovespa, transforme a coluna
“Date” em index do DataFrame df. Depois o programa deverá deletar a coluna “Adj Close” de
df. Então o algoritmo deverá, usando as regras lógicas do DataFrame, criar um novo DataFrame
df2 resultante da busca que selecione apenas os valores de Close do primeiro df que são maiores
que 110 mil pontos e cujo volume são menores do que 9 milhões de negócios.

Com esse novo df2 criar as estatísticas e imprimir no Console:

Máximo valor, Mínimo valor, Valor Médio, Desvio padrão populacional, Dia em que ocorreu o
máximo (usando função argmax() ), Dia em que ocorreu o mínimo (usando a função argmin().

Você também pode gostar