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

如何仅利用日期变量的年份部分筛选数据集?

筛选指定年份的日期数据解决方案

核心思路

完全不需要生成所有月日组合,直接针对年份部分处理即可,效率更高且避免格式错误。以下是几种常见工具的实现方法:


Python(Pandas)场景

假设你的数据集是Pandas DataFrame,日期列名为date:

  1. 字符串前缀匹配(日期列是字符串类型)
    直接筛选以2014-或2015-开头的行:
filtered_df = df[df['date'].str.startswith(('2014-', '2015-'))]
  1. 日期类型提取年份(推荐,更灵活)
    先将列转换为datetime类型,再提取年份筛选:
import pandas as pd

df['date'] = pd.to_datetime(df['date'])
filtered_df = df[df['date'].dt.year.isin([2014, 2015])]

Excel场景

假设日期数据在A列:

  • 方法1:新增辅助列,用LEFT(A2,4)提取年份,然后筛选该列值为2014或2015的行;
  • 方法2:直接使用「文本筛选」,选择「开头是」,输入2014和2015进行筛选。

SQL场景

假设表名为your_table,日期列名为date_column:

  1. 通过日期函数提取年份(不同数据库语法略有差异,以下是通用示例):
SELECT * FROM your_table
WHERE DATEPART(year, date_column) IN (2014, 2015);
  1. 字符串截取(适用于固定格式的日期字符串):
SELECT * FROM your_table
WHERE LEFT(date_column, 4) IN ('2014', '2015');

为什么不推荐生成月日组合?

这种方法不仅效率极低(需要生成730+个日期字符串),还容易因为循环时的格式拼接错误(比如你遇到的多余空格)导致筛选失效,完全没必要舍近求远。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:45:03