В python, как я могу ссылаться на предыдущую строку и вычислять что-то против нее? В частности, я работаю с dataframes
в pandas
- у меня есть кадр данных, полный информации о ценах на акции, который выглядит следующим образом:
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
Вот как я создал этот фреймворк данных:
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')
Начиная с строки номер 2 или в этом случае, я думаю, что 250 (PS - это индекс?), я хочу рассчитать разницу между 2011-01-03 и 2011-01-04, для каждой записи в этом фрейме. Я считаю, что подходящим способом является запись функции, которая принимает текущую строку, затем вычисляет предыдущую строку и вычисляет разницу между ними, используя функцию pandas
apply
, чтобы обновить dataframe со значением.
Это правильный подход? Если да, должен ли я использовать индекс для определения разницы? (примечание - я все еще в режиме начинающего питона, поэтому индекс может быть не правильным, и даже правильным способом реализовать это)