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

如何按条件对Pandas DataFrame的datetime字段减去指定分钟数

处理Datetime字段的条件时间偏移需求

原始数据构造

首先构造符合要求的DataFrame:

import pandas as pd
from datetime import timedelta

data = {
    'date': ['2024-09-01 22:09:55', '2024-09-01 22:12:08', 
             '2024-09-01 22:59:59', '2024-09-01 23:00:02', 
             '2024-09-01 23:04:00'],
    'v': [1.2, 1.11, 1.7, 1.1, 2.2]
}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])

需求实现

通过Pandas的where方法结合datetime属性实现条件偏移,这种方法比apply更高效,适合大规模数据:

# 对分钟数≤10的记录减去11分钟,其余保持不变
df['date'] = df['date'].where(
    df['date'].dt.minute > 10,
    df['date'] - timedelta(minutes=11)
)

输出结果

运行后得到的结果与期望一致:

date     v
0 2024-09-01 21:58:55  1.20
1 2024-09-01 22:12:08  1.11
2 2024-09-01 22:59:59  1.70
3 2024-09-01 22:49:02  1.10
4 2024-09-01 22:53:00  2.20

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 16:29:59