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

如何从日度小时观测数据中筛选保留08:00-20:00时段的记录

时间区间筛选解决方案

首先你需要先把原始时间列解析为对应工具的时间类型,之后提取小时维度做条件过滤即可,以下是不同常用工具的实现方式:

1. Python(pandas 场景)

  • 第一步:解析时间列
import pandas as pd
# 假设你的数据集存在df变量中,时间列名为datetime
df['datetime'] = pd.to_datetime(df['datetime'], format='%Y%m%d %H:%M')
  • 第二步:提取小时过滤
# 保留小时大于等于8,小于等于20的记录
filter_df = df[df['datetime'].dt.hour.between(8,20, inclusive='both')]
# 也可以用写法:filter_df = df[(df['datetime'].dt.hour >=8) & (df['datetime'].dt.hour <=20)]

2. R 场景

  • 第一步:解析时间列
library(lubridate)
# 假设数据集存在df变量中,时间列名为datetime
df$datetime <- parse_date_time(df$datetime, orders = "%Y%m%d %H:%M")
  • 第二步:过滤
library(dplyr)
filter_df <- df %>% filter(hour(datetime) >=8 & hour(datetime) <=20)

3. SQL 场景

假设你的数据存在数据库表observation中,时间列名为dt,不同数据库语法略有差异:

  • MySQL写法:
SELECT * FROM observation 
WHERE HOUR(dt) BETWEEN 8 AND 20;
  • PostgreSQL写法:
SELECT * FROM observation 
WHERE EXTRACT(HOUR FROM dt) BETWEEN 8 AND 20;

注意:如果你的时间列已经是对应工具可识别的时间类型,可以跳过第一步的解析操作直接过滤。如果时间边界需要精确到分钟(比如要排除20:00:01的记录),可以额外提取分钟字段做二级条件判断,你的场景是小时级观测数据,直接判断小时维度即可满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 04:24:04