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

如何基于日期范围为DataFrame的dummy列插入‘X’

基于日期范围给DataFrame列赋值的方法

首先得确保你的Date列是datetime类型,不然没法正确比较时间范围,先做类型转换:

import pandas as pd

# 转换Date列为datetime格式
df["Date"] = pd.to_datetime(df["Date"])

接下来定义目标时间范围,用布尔索引结合.loc完成赋值(这种方式比行索引更可靠,不会因为数据顺序变动出错):

# 设定起始和结束时间
start_time = "2019-01-04 14:30:00"
end_time = "2019-01-04 20:00:00"

# 筛选时间范围内的行,给dummy列赋值"X"
df.loc[(df["Date"] >= start_time) & (df["Date"] <= end_time), "dummy"] = "X"

这样处理后,所有Date落在指定时间段内的行,dummy列都会被设为"X"。

为什么用.loc?直接写df["dummy"][条件]容易触发SettingWithCopyWarning,.loc是pandas官方推荐的安全赋值方式,能明确修改原DataFrame的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:54:59