1
私はループを通してDataframeをシフトしたいと思います。私は以下のデータフレームを持っています。Pandasのループですべての列を移動する
A B
0 0.0 101
1 0.0 101.996163
2 0.0 209.987279
3 0.0 168.605494
4 0.0 138.245242
次のコードを使用して各列をシフトできます。
for col in df.columns:
df["%s_%s"%(col,-1)] = df[col].shift(1)
上記のコードからの出力は次のとおりです。
A B A_-1 B_-1
0 0.0 101.996163 NaN NaN
1 0.0 209.987279 0 101.996163
2 0.0 168.605494 0 209.987279
3 0.0 138.245242 0 168.605494
しかし、追加の列を作成する必要がある場合は、それぞれ異なる時間差を表します。各列を10ずつシフトしたいですか?これを行う方法はありますか(多分ループを使用して)?
'df.shift(10)'? – Wen