前提・実現したいこと
Pythonのデータセットの計算に関してです。
以下のようなデータセットがあったとして
time type order
1 buy 100
2 sell 200
3 sell 500
4 buy 300
このように、データセットの前の行の値を保持しつつ、それにさらに別の行を足して以下のようなデータセットを作りたいです。
time type order position
1 buy 100 100
2 sell 200 -100
3 sell 500 -600
4 buy 300 -300
試したこと
関数を作って行毎にapplyで1行ごとに関数を適用すればいいのかなと思って以下のようなコードを考えてみましたが、うまくいきませんでした。
def position_cal( a,b ):
return a[ b ].shift()
data['position'] = data['order'] + data.apply(position_cal(data,'position'), axis=1)
補足情報(FW/ツールのバージョンなど)
データが大きいため、できるだけ早く計算する方法があれば教えていただけるとありがたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。