首页 > 解决方案 > 带 Shift 的 Pandas 时间序列条件逻辑

问题描述

我想更深入地解释下面这段代码的情况:

off_indices = s.loc[(s>0) & (s.shift(-1) == 0)].index

似乎s.shift(-1) == 0是先解决s == 0,然后.shift(-1)在时间序列中解决。这就是为什么会出现这种情况的原因:

off_indices

Int64Index([486, 1909, 3010, 3743, 3778], dtype='int64')

但 s 实际上在索引 487 处为零,而不是 486。

test['ENGINE_SPEED_VAL'][485:488]

485 2395.0

486 2396.0

487 0.0

为什么在执行 s.shift(-1) 之前似乎 s == 0 正在解析?

标签: pythonpandastime-seriesconditional-statements

解决方案


推荐阅读