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

Pandas实现DataFrame隔周周一(alternate Monday)数据筛选

Pandas 隔14天固定周一起始日期筛选实现

核心思路

不需要提前手动枚举所有目标筛选日期,用日期差取模的方式即可自动匹配所有符合间隔规则的记录:

  • 先把sale_date列转换为Pandas原生datetime类型,避免字符串日期计算报错
  • 以指定的起始日期2022-06-27为计算基准
  • 保留所有「日期不早于基准日,且和基准日的天数差是14的整数倍」的记录即可

完整实现代码

import pandas as pd

# 读取/构造你的销售数据
df = pd.DataFrame({
    'sale_date': ['2022-06-27', '2022-07-01', '2022-07-07', '2022-07-11', '2022-06-20', '2022-07-25'],
    'count': [100, 150, 100, 150, 100, 150]
})

# 转换日期格式
df['sale_date'] = pd.to_datetime(df['sale_date'])
# 定义筛选起始基准日
base_date = pd.to_datetime('2022-06-27')

# 执行筛选
result = df[
    (df['sale_date'] >= base_date) &
    ((df['sale_date'] - base_date).dt.days % 14 == 0)
].reset_index(drop=True)

# 如果需要日期输出为和示例一致的字符串格式,执行下面这行即可
result['sale_date'] = result['sale_date'].dt.strftime('%Y-%m-%d')

结果验证

执行代码后打印result,输出完全匹配预期:

sale_date  count
0  2022-06-27    100
1  2022-07-11    150
2  2022-07-25    150

这个方法适配任意时间范围的数据,不需要提前生成目标日期列表,后续不管数据延伸到哪个月份,所有间隔14天的对应日期都会被自动匹配筛选出来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:18:25