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

如何在Pandas中筛选含今日在内的近3天interview_start数据?

解决方法

问题根源

原代码的时间范围是4天前00:00:00 到 今日00:00:00,今日产生的记录(interview_start时间晚于今日0点)不在这个区间内,所以被过滤掉了。调整days=3只会把起始时间改成3天前0点,结束时间还是今日0点,依然无法包含今日数据。


方案一:调整时间区间覆盖今日全天

修改代码中的时间范围,把结束时间设为明日00:00:00,这样就能包含今日0点到23:59:59的所有记录:

from datetime import date
import pandas as pd

today = date.today()
# 起始:3天前的0点
start_date = pd.to_datetime(today) - pd.Timedelta(days=3)
# 结束:明日0点,覆盖今日全天数据
end_date = pd.to_datetime(today) + pd.Timedelta(days=1)

df = df.set_index('interview_start')
df = df.sort_index()
# 左闭右开区间,包含3天前到今日的所有记录
df = df.loc[start_date:end_date].reset_index()

方案二:直接匹配日期(更直观)

提取interview_start的日期部分,直接筛选今日、昨日、前天的记录,避免时间戳精度问题:

from datetime import date, timedelta
import pandas as pd

today = date.today()
# 生成需要保留的3天日期集合
target_dates = {today - timedelta(days=i) for i in range(3)}

# 转换为日期类型后筛选
df = df[df['interview_start'].dt.date.isin(target_dates)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 00:05:21