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

如何在Pandas中筛选记录日期与事件日期±1/2/3天内的数据?

实现日期差±3天内的DataFrame行筛选

首先确保你的record_date和event_date列是datetime类型,如果当前是字符串格式,先做类型转换:

import pandas as pd

# 转换日期列类型(若未转换)
df1['record_date'] = pd.to_datetime(df1['record_date'])
df1['event_date'] = pd.to_datetime(df1['event_date'])

接下来计算两个日期的绝对差值,筛选出差值≤3天的行,有两种简洁的实现方式:

  • 方式一:直接使用Timedelta对象进行比较
New_df = df1.loc[abs(df1['record_date'] - df1['event_date']) <= pd.Timedelta(days=3)]
  • 方式二:提取时间差的天数属性后比较
# 计算两日期的绝对天数差
date_diff = abs(df1['record_date'] - df1['event_date']).dt.days
# 筛选天数差≤3的行
New_df = df1.loc[date_diff <= 3]

以上两种方式都会包含两日期完全匹配(差0天)、±1天、±2天、±3天的所有行,完全满足你的扩展筛选需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:30:52