Referenciando linhas anteriores em um arquivo csv usando Pandas

Publicado por leandro peçanha scardua em 06/07/2017

[ Hits: 3.132 ]

Blog: https://leandropecanhascardua.github.io/

 


Referenciando linhas anteriores em um arquivo csv usando Pandas



Bom, eu estou aprendendo machine learning e, brincando com histórico de cotações da Bovespa, precisava criar alguns índices para alguns testes.

Meu problema era criar um índice que utilizasse (referenciasse) os dados dos dias anteriores. Usando o Pandas, claro! Como exemplo, o arquivo que vem do Yahoo Finances tem o seguinte cabeçalho:

Date,Open,High,Low,Close,Adj Close,Volume

Para fazer o processamento, eu queria adicionar uma coluna ao data frame (que será meu histórico de cotações), calculando, por exemplo, o Pivot Point, que é definido como sendo a soma do preço mínimo somado aos preços máximos e de fechamento de ontem, dividido por três. Ou seja:

Date,Open,High,Low,Close,Adj Close,Volume,Pivot

em que pivot = (High(ontem) + Low(ontem) + Close(ontem))/3

Fica assim:

import Pandas as pd

cotacao = pd.read_csv("BVSP.csv")  #histórico original
cotacao['Pivot'] = ( cotacao['High'].shift(1) + cotacao['Low'].shift(1) + cotacao['Close'].shift(1) ) /3

Como pode ser visto acima, os índices são os nomes das colunas do arquivo csv e usamos a função shift para "voltar" alguns registros.

Depois que a linha anterior for executada, o primeiro registro terá nan na coluna Pivot. No meu caso, eu vou descartar essa primeira linha. Para isso, vou usar o seguinte comando:

cotacao = cotacao.iloc[1:]

Outras dicas deste autor

Habilitando a compilação JIT (Just In Time) para o PHP8 no Ubuntu

Habilitando Som no Linux Mint via script

Colocar dispositivo móvel Samsung em modo Download pela linha de comando

Multifuncional HP imprime mas não digitaliza

Obtendo lista dos repositórios de pacotes em sistemas derivados do Debian

Leitura recomendada

TradutorOOoNote - plugin para OpenOffice.org que traduz textos para qualquer língua

Como alterar a versão default (padrão) do Python no Linux

Criando aplicativos multiplataforma (Android, iOS, Windows) com Python + Kivy

Função para Abrir uma Interface do tkinter no Centro da Tela em Python

Superkaramba sob x86_64

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts