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 初心者モードなので、インデックスは適切な用語ではない可能性があり、これを実装する正しい方法でさえない可能性があります)