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

拆分Pandas时间序列后子数据集内部出现间隙的原因排查

排查步骤
  • 先确认原数据的时间索引是否真的连续无间隙
    运行代码计算原数据时间间隔的分布:

    df.index.to_series().diff().value_counts()
    

    查看结果里是否存在大于1小时的间隔,若有则说明原数据本身就存在间隙,只是全局绘图时未显现。

  • 检查训练集/验证集内部的时间连续性
    分别对train和val执行间隔统计:

    train.index.to_series().diff().value_counts()
    val.index.to_series().diff().value_counts()
    

    定位具体出现间隙的时间点,对比原数据对应位置是否存在时间跳变。

  • 确认索引类型与完整性
    检查train和val的索引是否为DatetimeIndex且严格递增:

    print(type(train.index))
    print(train.index.is_monotonic_increasing)
    print(type(val.index))
    print(val.index.is_monotonic_increasing)
    

    避免因索引类型错误或乱序导致的绘图异常。

  • 排查绘图时的显示问题
    检查train和val中是否存在缺失值:

    print(train['MW'].isnull().sum())
    print(val['MW'].isnull().sum())
    

    若存在缺失值,matplotlib绘图时会自动断开显示,造成“间隙”的视觉效果。

  • 验证拆分逻辑的准确性
    核对行号切割位置与时间索引的对应关系:

    print(df.iloc[train_split_end-1].name)  # 应等于train.index[-1]
    print(df.iloc[train_split_end].name)    # 应等于val.index[0]
    

    确保切割位置确实对应连续的时间节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:11:04