pandas Timedelta不将月份间隔识别为字符串(`3M`或`P3M`)

2024-06-16 09:58:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将字符串(3M3d等)转换为pandas中的timedelta。 执行此操作的函数是pandas.Timedelta。它适用于以下情况:

>>> pandas.__version__
'1.1.5'
>>> pandas.Timedelta('1d')
Timedelta('1 days 00:00:00')
>>> pandas.Timedelta('3w')
Timedelta('21 days 00:00:00')
>>> pandas.Timedelta('2h')
Timedelta('0 days 02:00:00')

然而,当我试图将时间间隔设置为几个月时,它并没有达到我预期的效果:

>>> pandas.Timedelta('2M')
Timedelta('0 days 00:02:00')
>>> pandas.Timedelta('P2M')
Timedelta('0 days 00:00:00')

前面的P来自Wikipedia,在pandas documentation中引用

我预计这些电话会在几个月内返回时间差。为什么这不符合我的预期?使用月份字符串获取时差的正确方法是什么

另外,我可以用{},但这不是重点


Tags: 函数字符串pandas间隔versiondocumentation时间情况