You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python时间序列分段:为生产步骤生成ID列的技术求助

生产步骤时间序列分段与ID生成解决方案

你的代码仅覆盖了「从高位(>=88)跳转到低位(<18)」这一种新周期触发场景,未处理「步骤从0恢复到生产步骤」的情况,这正是骤降后分段结果不符合预期的核心原因。以下是修正后的方案:

修正代码

import pandas as pd

# 处理第一行边界:若第一行是生产步骤(>0),标记为新周期起点
first_cycle_start = production_day_copy.iloc[0]['step'] > 0

# 定义新周期触发的两种核心场景
production_day_copy['new_production_cycle'] = (
    # 场景1:从高位骤降到低位(含直接跳回起始步骤)
    (production_day_copy['step'].shift() >= 88) & (production_day_copy['step'] < 18)
) | (
    # 场景2:从0恢复生产,启动新周期
    (production_day_copy['step'].shift() == 0) & (production_day_copy['step'] > 0)
)

# 修正第一行的标记值
production_day_copy.loc[0, 'new_production_cycle'] = first_cycle_start

# 生成连续的周期ID
production_day_copy['production_cycle_id'] = production_day_copy['new_production_cycle'].cumsum() + 1

代码说明

  • 新增「从0恢复生产」的触发逻辑,完整覆盖步骤骤降为0后开启新周期的场景
  • 处理了第一行边界情况:如果数据开头就是生产步骤,会被正确标记为第一个周期的起点
  • 保留了你原有的「高位跳低位」逻辑,兼容非骤降回起始步骤的场景

内容的提问来源于stack exchange,提问作者Dave Whatever

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 19:47:26