0
私はこのようなデータフレームを持ち、shift
をn回適用するのと同等の新しい列を追加したいと考えています。例えば、N = 2ましょう:pandas dataframe範囲(1、n)のxのシフト(x)の合計
df = pd.DataFrame(numpy.random.randint(0, 10, (10, 2)), columns=['a','b'])
a b
0 0 3
1 7 0
2 6 6
3 6 0
4 5 0
5 0 7
6 8 0
7 8 7
8 4 4
9 2 2
df['c'] = df['b'].shift(1) + df['b'].shift(2)
a b c
0 0 3 NaN
1 7 0 NaN
2 6 6 3.0
3 6 0 6.0
4 5 0 6.0
5 0 7 0.0
6 8 0 7.0
7 8 7 7.0
8 4 4 7.0
9 2 2 11.0
このように、カラムc
カラムb
から前n
値の合計を取得します。
ループ以外では、これを大規模なものにするより良い方法がありますかn
?