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

如何用Pandas筛选7:00-11:00时间区间的数值?

筛选特定小时范围的Datetime数据

没问题!既然你已经把time列成功转换成了datetime格式,那筛选7:00到11:00之间的数据其实有几种实用的方法,我给你拆解一下:

方法1:按小时快速筛选(适合忽略分钟的场景)

如果你的需求是只要时间落在7点到11点之间(不管分钟数,比如11:59也符合),直接用dt.hour提取小时部分做条件判断就行:

# 基于转换后的dateInfo系列筛选
filtered_df = df[(dateInfo.dt.hour >= 7) & (dateInfo.dt.hour <= 11)]

这种方法简单高效,适合大多数不需要精确到分钟的场景。

方法2:精确到分钟的严格筛选

如果需要严格匹配7:00 ≤ time ≤ 11:00(比如11:01就不符合),可以提取时间的时分秒部分来做精确比较:

# 定义目标时间的时间对象
start_time = pd.Timestamp('07:00:00').time()
end_time = pd.Timestamp('11:00:00').time()

# 筛选符合条件的数据
filtered_df = df[(dateInfo.dt.time >= start_time) & (dateInfo.dt.time <= end_time)]

这种方法会精准匹配到分钟,避免把11点之后的内容误包含进来。

小提示

如果你已经把转换后的datetime列添加到原DataFrame里(比如df['datetime'] = dateInfo),那可以直接用df['datetime'].dt.hour或者df['datetime'].dt.time来操作,代码会更整洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:04:30