python - 带 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 正在解析?
解决方案
推荐阅读
- jasper-reports - 使用参数在 Jasper 中动态更改宽度、高度
- python - 如何在没有tensorflow的纯python中生成tfrecord文件?
- angular - 角度应用程序在本地 tomcat 中运行,但在开发环境中出错
- c++ - Xcode 中的 Googletest 没有看到测试代码发生了变化
- sql - sql 按列分组到同一行而不连接
- django - 弹性搜索模型init()引发关键错误
- java - 嵌套接口前面的static是什么意思?
- laravel - Laravel 5.7 多重身份验证
- java - 使用 AES 和 PBDKF2 加密的加密消息应包含哪些字段?
- swift - 全局函数调用协议类型的变异方法。如何摆脱 var tmp 对象?