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

如何从pd.datetime变量中减去字符串格式的pandas时间频率值?

解决方案

直接利用pandas内置的频率偏移对象即可实现需求,无需手动解析频率字符串。

通用方法(支持所有pandas频率字符串)

使用pd.tseries.frequencies.to_offset()将字符串格式的频率转换为对应的偏移对象,再直接与datetime变量做减法:

import pandas as pd

date_value = pd.to_datetime("2019-12-10 10:57:00")
freq_str = "15min"  # 可替换为"1B"、"1W"等任意pandas支持的频率字符串

# 转换为偏移对象
offset = pd.tseries.frequencies.to_offset(freq_str)
new_date_value = date_value - offset

这个方法能处理所有pandas支持的频率类型,包括固定时长(如1min、2h)和非固定时长(如1B工作日、1W周)的场景。

简化方法(仅支持固定时长频率)

如果你的频率都是固定时长类型(无1B、1W这类业务/周期频率),可以直接用pd.to_timedelta()转换后运算:

new_date_value = date_value - pd.to_timedelta(freq_str)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:54:20