Calculando diferença entre duas linhas em Python / Pandas
Em python, como posso referenciar a linha anterior e calcular algo contra ela? Especificamente, estou trabalhando comdataframes
empandas
- Eu tenho um quadro de dados cheio de informações de preço de ações que se parece com isso:
Date Close Adj Close
251 2011-01-03 147.48 143.25
250 2011-01-04 147.64 143.41
249 2011-01-05 147.05 142.83
248 2011-01-06 148.66 144.40
247 2011-01-07 147.93 143.69
Veja como eu criei esse dataframe:
import pandas
url = 'http://ichart.finance.yahoo.com/table.csv?s=IBM&a=00&b=1&c=2011&d=11&e=31&f=2011&g=d&ignore=.csv'
data = data = pandas.read_csv(url)
## now I sorted the data frame ascending by date
data = data.sort(columns='Date')
Começando com o número de linha 2, ou neste caso, eu acho que é 250 (PS - é que o índice?), Eu quero calcular a diferença entre 2011-01-03 e 2011-01-04, para cada entrada neste dataframe . Acredito que a maneira apropriada é escrever uma função que pegue a linha atual, depois calcule a linha anterior e calcule a diferença entre elas.pandas
apply
função para atualizar o dataframe com o valor.
Essa é a abordagem correta? Em caso afirmativo, devo usar o índice para determinar a diferença? (note que ainda estou no modo iniciante do Python, portanto, o índice pode não ser o termo correto, nem mesmo a maneira correta de implementar isso)