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

如何结合Pandas DateTime索引的日期与时间条件为列赋值

合并时间与星期条件的pandas赋值方案

可用实现代码

以下两种写法都可以一行实现需求:

  1. 性能更优的索引筛选写法(适合大体积DataFrame)
date_range.loc[(date_range.index.dayofweek == 6) & date_range.index.indexer_between_time('15:00', '18:59').astype(bool), 'Happy Hour'] = 'Yes!!'
  1. 可读性更高的apply写法(逻辑直观容易调整)
date_range['Happy Hour'] = date_range.apply(lambda x: 'Yes!!' if (x.name.dayofweek == 6 and 15 <= x.name.hour < 19) else '', axis=1)

补充说明

你之前单独筛选周日的代码存在逻辑问题:((pd.DatetimeIndex(date_range.index).dayofweek) // 6 == 'Yes!!')是将数字运算结果和字符串做等值判断,返回结果全为False,无法正确筛选周日,直接用date_range.index.dayofweek == 6即可正确匹配周日。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:36:04