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

如何在Python的Pandas DataFrame中检测缺失的小时实例行?

检测Pandas DataFrame中按小时缺失的Instance实例

完全可以用Pandas本身的方法实现,不需要额外模块,以下是具体实现步骤和代码:

  • 核心思路:

    1. 按Date和Hour对数据分组,因为每个日期+小时的组合都应包含完整的1-5号Instance
    2. 对比每个分组的实际Instance列表与预期的1-5序列,找出缺失项
    3. 针对存在缺失的分组打印提示信息
  • 代码示例:

import pandas as pd

# 构造示例数据集(实际场景中可替换为pd.read_csv("your_data.csv"))
data = {
    'Date': ['2022-10-20'] * 9,
    'Hour': [1]*5 + [2]*4,
    'Instance': [1,2,3,4,5,1,2,4,5]
}
df = pd.DataFrame(data)

# 定义每个小时应有的Instance范围(1到5)
expected_instances = list(range(1, 6))

# 遍历每个日期+小时的分组,检查缺失
for (date, hour), group in df.groupby(['Date', 'Hour']):
    actual_instances = group['Instance'].tolist()
    # 用集合差集快速找出缺失项
    missing_instances = list(set(expected_instances) - set(actual_instances))
    if missing_instances:
        # 按顺序排序缺失项,输出更直观
        missing_instances.sort()
        print(f"日期 {date},小时 {hour} 缺失的Instance为: {missing_instances}")
  • 运行结果:
日期 2022-10-20,小时 2 缺失的Instance为: [3]
  • 大规模数据集适配:
    上述方法在大数据集下同样高效,Pandas的groupby操作经过优化,只要数据集能装入内存即可稳定运行。如果数据量极大(超出内存),可以考虑分块读取处理,核心逻辑保持一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:45:29