Вычисление разницы между двумя строками в Python / Pandas
В 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
функция для обновления кадра данных со значением.
Это правильный подход? Если да, должен ли я использовать индекс для определения разницы? (примечание: я все еще нахожусь в режиме новичка в Python, поэтому index может быть не правильным термином и даже не правильным способом реализации этого)