pandasでスライドさせた値を横持ちにする

Posted: January 02, 2022

上記のようなテーブルがあったとして、Bの項目をスライドさせて以下のように過去のBの情報として横持ちにしたいときの話

shift()を使うことでできるようだ。

#dfに最初のテーブルの情報が入っている前提
for i in range(1, 3):
  df['B_{}'.format(i)] = df['B'].shift(i)

このやり方だったら、100くらいまでならストレスなくで横持ちにできそう。

SQLだとLAG関数で同じことができるようだ(今まで自己結合しまくってた。。)