我有一些任务,但我不知道如何解决。我有一个生产步骤的时间序列。现在我想对每个生产步骤进行分段并给它一个 ID。我的时间序列看起来像这样:
数字应该是ID。它应该在我的时间序列数据框中创建一个 ID 列。 我希望有人能帮助我。
我确实尝试过这样的事情:
# Identify new production cycles
production_day_copy['new_production_cycle'] = (production_day_copy['step'].shift() >= 88) & (production_day_copy['step'] < 18)
production_day_copy['production_cycle_id'] = (production_day_copy['new_production_cycle'].cumsum() + 1)
它做了一些还可以的事情,但是它与那些突然从非常高下降到 0 的步骤混淆了。
您可以寻找可以检测时间序列变化点的算法:https://en.wikipedia.org/wiki/Change_detection。毛皮众所周知 https://centre-borelli.github.io/ruptures-docs/user-guide/detection/pelt/ 但还有其他的。