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

Pandas如何筛选指定日期处于有效期区间的DataFrame行数据

pandas DataFrame 有效期内数据筛选方案

核心逻辑

判断指定日期是否落在start到end的闭区间内即可,即满足 start ≤ 目标日期 ≤ end 的行即为符合要求的有效行。

操作步骤

  • 首先需要将start、end两列转换为pandas datetime类型,避免字符串比较出现预期外的结果
  • 构造布尔索引完成过滤,注意逻辑与运算符&两侧的条件必须分别用括号包裹,避免优先级错误

完整代码示例

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'idx': [0, 1, 2, 3],
    'start': ['2019-08-23', '2018-01-01', '2020-04-01', '2018-03-24'],
    'end': ['2019-12-31', '2018-07-05', '2020-11-27', '2018-06-18']
})

# 转换日期列为datetime格式
df['start'] = pd.to_datetime(df['start'])
df['end'] = pd.to_datetime(df['end'])

# 定义目标查询日期
target_date = pd.to_datetime('2018-05-16')

# 执行过滤
filtered_df = df[(df['start'] <= target_date) & (df['end'] >= target_date)]

print(filtered_df)

输出结果

idx      start        end
1    1 2018-01-01 2018-07-05
3    3 2018-03-24 2018-06-18

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:45:02