上記のようなテーブルがあったとして、Bの項目をスライドさせて以下のように過去のBの情報として横持ちにしたいときの話
shift()を使うことでできるようだ。
#dfに最初のテーブルの情報が入っている前提 for i in range(1, 3): df['B_{}'.format(i)] = df['B'].shift(i)
このやり方だったら、100くらいまでならストレスなくで横持ちにできそう。
SQLだとLAG関数で同じことができるようだ(今まで自己結合しまくってた。。)