我是python新手-所以请多多包涵。
我正在尝试在数据框中创建一组移位列。例如,我有一个DataFrame df:
heading speed
time
2018-09-03 14:53:02 195.0 0.000000
2018-09-03 14:53:07 195.0 0.416667
2018-09-03 14:53:12 195.0 0.138889
2018-09-03 14:53:17 195.0 0.277778
2018-09-03 14:53:22 195.0 0.972222
2018-09-03 14:53:27 289.0 1.944444
我想结束:
heading speed prev_heading prev_speed
time
2018-09-03 14:53:02 190.0 0.000000 NaN NaN
2018-09-03 14:53:07 195.0 0.416667 190.0 0.000000
2018-09-03 14:53:12 195.0 0.138889 195.0 0.416667
2018-09-03 14:53:17 195.0 0.277778 195.0 0.138889
2018-09-03 14:53:22 195.0 0.972222 195.0 0.277778
2018-09-03 14:53:27 289.0 1.944444 195.0 0.972222
我知道如何使用单个列进行操作:
df['prev_heading'] = df['heading'].shift(1)
但是有一种方法可以同时对多个列执行以下操作:
df['prev_heading', 'prev_speed'] = df['heading', 'speed'].shift(1)
如果必须多次运行shift命令,似乎效率很低,因为我想尽可能地解析一次数据帧。
任何帮助将不胜感激。