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

如何从长期年度时间序列中筛选每年4月24日至9月28日的季节性数据

提取每年4月24日至9月28日的时间序列数据

下面针对不同常用工具,给出具体实现方法:

Python(Pandas)

  1. 先确保时间列是datetime类型,若不是则先转换:
import pandas as pd
df['date'] = pd.to_datetime(df['date'])
  1. 两种筛选方式可选:
    • 方式一:通过月日字符串比较
      # 生成格式为'0424'的月日字符串
      df['month_day'] = df['date'].dt.strftime('%m%d')
      # 筛选目标区间数据
      filtered_df = df[(df['month_day'] >= '0424') & (df['month_day'] <= '0928')]
      
    • 方式二:直接通过月、日数值判断(更严谨,避免字符串格式问题)
      filtered_df = df[
          ((df['date'].dt.month == 4) & (df['date'].dt.day >= 24)) |
          (df['date'].dt.month.between(5, 8)) |
          ((df['date'].dt.month == 9) & (df['date'].dt.day <= 28))
      ]
      

R(dplyr + lubridate)

  1. 加载依赖包并转换日期类型:
library(dplyr)
library(lubridate)
df$date <- ymd(df$date) # 若原始格式不同,可改用as.Date(df$date)
  1. 筛选目标区间:
filtered_df <- df %>%
  filter(
    (month(date) == 4 & day(date) >= 24) |
    between(month(date), 5, 8) |
    (month(date) == 9 & day(date) <= 28)
  )

SQL

假设日期列名为date_col,直接用WHERE子句筛选:

SELECT *
FROM your_table
WHERE
  (EXTRACT(MONTH FROM date_col) = 4 AND EXTRACT(DAY FROM date_col) >= 24)
  OR EXTRACT(MONTH FROM date_col) BETWEEN 5 AND 8
  OR (EXTRACT(MONTH FROM date_col) = 9 AND EXTRACT(DAY FROM date_col) <= 28);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 05:42:08