计算两行之间的时差

时间:2014-08-15 14:20:25

标签: python pandas

我正在尝试使用shift()计算两行之间的时差,但是我收到了意外错误。我可能会遗漏一些明显的东西

df['Delta'] = (df.index - df.index.shift(1))

此语句生成ValueError: Cannot shift with no offset。我错过了什么?

2 个答案:

答案 0 :(得分:4)

两件事:

如果您只想要索引中两个连续值之间的差异,可以使用diff方法(系列,比移位和减法更容易):

df['index_col'] = df.index
df['Delta'] = df['index_col'].diff()

答案 1 :(得分:2)

也许令人困惑的是,Series.shiftIndex.shift并没有完全做同样的事情,后者只是为TimesSeries有意义地定义。可能最容易将索引添加为列。

df['index_col'] = df.index
df['Delta']=(df['index_col'] - df['index_col'].shift(1))