Cálculo de la diferencia entre dos filas en Python / Pandas

En Python, ¿cómo puedo hacer referencia a la fila anterior y calcular algo en contra de ella? Específicamente, estoy trabajando condataframes enpandas - Tengo un marco de datos lleno de información sobre el precio de las acciones que se ve así:

           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

Aquí es cómo he creado este marco de datos:

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')

Comenzando con la fila número 2, o en este caso, supongo que son 250 (PS: ¿ese es el índice?), Quiero calcular la diferencia entre 2011-01-03 y 2011-01-04, para cada entrada en este marco de datos. . Creo que la forma adecuada es escribir una función que tome la fila actual, luego resuelva la fila anterior y calcule la diferencia entre ellas, el uso depandas apply Función para actualizar el marco de datos con el valor.

¿Ese es el enfoque correcto? Si es así, ¿debería usar el índice para determinar la diferencia? (nota: todavía estoy en el modo principiante de Python, por lo que el índice puede no ser el término correcto, ni siquiera la forma correcta de implementar esto)

Respuestas a la pregunta(2)

Su respuesta a la pregunta