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

如何筛选DataFrame日期列中最大日期前后特定时段的数据?

筛选DataFrame特定时间范围的记录

1. 确保日期列为datetime类型

如果TemporaryDateFilter列还未转换为datetime格式,先执行类型转换:

import pandas as pd

final_report['TemporaryDateFilter'] = pd.to_datetime(final_report['TemporaryDateFilter'])

2. 自动计算目标时间范围

基于列中的最大日期,自动生成需要筛选的时间区间:

# 获取列中最大日期的日期部分(忽略具体时分秒)
max_date = final_report['TemporaryDateFilter'].dt.date.max()

# 生成起始时间:最大日期前一天的20:01:00
start_time = pd.Timestamp(f"{max_date - pd.Timedelta(days=1)} 20:01:00")
# 生成结束时间:最大日期当天的05:59:00
end_time = pd.Timestamp(f"{max_date} 05:59:00")

3. 筛选符合条件的记录

使用布尔索引提取目标时间范围内的所有记录:

filtered_report = final_report[(final_report['TemporaryDateFilter'] >= start_time) & 
                               (final_report['TemporaryDateFilter'] <= end_time)]

补充说明

  • 代码会自动适配每日更新的报表,无需手动修改日期参数
  • 若TemporaryDateFilter列已经是datetime类型,可直接跳过步骤1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:40:56