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

如何基于时间戳时段条件删除时间序列DataFrame中的夜间数据?

删除时间序列夜间时段数据的实现方案

假设你的时间序列数据存储在Pandas DataFrame中,索引为Timestamp_UTC(datetime类型),以下是两种高效筛选出每日5:10至19:30时段数据的方法:

方法1:基于总分钟数筛选

将每日时间转换为当日总分钟数,通过数值范围快速过滤:

import pandas as pd

# 计算每个时间点的当日总分钟数(0-1439)
total_minutes = df.index.hour * 60 + df.index.minute

# 筛选5:10(310分钟)到19:30(1170分钟)之间的数据
filtered_df = df[(total_minutes >= 310) & (total_minutes <= 1170)]

方法2:直接判断小时与分钟组合

通过拆分小时和分钟的逻辑条件进行筛选,可读性更强:

# 构建筛选条件:时间在5:10之后且19:30之前
filter_condition = (
    ((df.index.hour > 5) | ((df.index.hour == 5) & (df.index.minute >= 10))) &
    ((df.index.hour < 19) | ((df.index.hour == 19) & (df.index.minute <= 30)))
)

# 应用条件得到过滤后的数据
filtered_df = df[filter_condition]

说明

  • 两种方法均适用于小时级和分钟级时间序列数据,会自动对每日的时间进行判断,无需额外处理跨天逻辑
  • 最终的filtered_df即为保留了日间时段(5:10-19:30)的数据,已自动删除19:30至次日5:10的夜间记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 22:50:26