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

如何为00:00-7:30时段的行更新Pandas DataFrame日期列?

解决DataFrame特定行日期修正问题

要实现仅对time列在00:00至7:30之间的行修正日期(加1天),可以按以下步骤操作:

步骤1:导入依赖库并准备示例数据

import pandas as pd
from datetime import timedelta

# 构造示例DataFrame
data = {
    "date": ["01-01-2022", "01-01-2022", "01-05-2022", "01-07-2022"],
    "time": ["01:00", "20:00", "03:00", "06:00"]
}
df = pd.DataFrame(data)

步骤2:转换日期列类型

先把date列转为datetime格式,方便后续日期运算:

df["date"] = pd.to_datetime(df["date"], format="%d-%m-%Y")

步骤3:筛选目标行并更新日期

利用loc定位符合时间条件的行,直接对这些行的date列加1天:

# 筛选time在00:00到07:30之间的行
condition = (df["time"] >= "00:00") & (df["time"] <= "07:30")
# 对符合条件的行日期加1天
df.loc[condition, "date"] += timedelta(days=1)

可选:转换回原日期格式(如果需要)

如果要把日期转回原有的dd-mm-yyyy字符串格式,可以执行:

df["date"] = df["date"].dt.strftime("%d-%m-%Y")

执行完以上操作后,你的DataFrame就会得到预期的修正结果:

date   time
0  02-01-2022  01:00
1  01-01-2022  20:00
2  06-01-2022  03:00
3  08-01-2022  06:00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:45:48