我正在尝试使用计算两行之间的时差shift(),但是我收到了意外错误.我可能会遗漏一些明显的东西
df['Delta'] = (df.index - df.index.shift(1))
Run Code Online (Sandbox Code Playgroud)
这句话产生了一个ValueError: Cannot shift with no offset.我错过了什么?
两件事情:
shift会在一段时间内移动您的数据。如果您的索引没有频率,您必须使用freq关键字将其提供给 shift 方法(例如freq='s'将数据移动一秒)如果你只想要索引中两个连续值之间的差异,你可以使用diff方法(一个系列,比移位和减法容易一点):
df['index_col'] = df.index
df['Delta'] = df['index_col'].diff()
Run Code Online (Sandbox Code Playgroud)