Python 熊猫重采样:如何从TimeDelta生成偏移规则字符串
是否有方法从表示时间频率的时间增量或其他对象开始生成(例如“T”、“3W”、“2D”)接受的偏移规则字符串 我知道DataFrame.resample可以接受TimeDelta,但我想知道如何以编程方式生成字符串,而不必发明自己的函数Python 熊猫重采样:如何从TimeDelta生成偏移规则字符串,python,pandas,Python,Pandas,是否有方法从表示时间频率的时间增量或其他对象开始生成(例如“T”、“3W”、“2D”)接受的偏移规则字符串 我知道DataFrame.resample可以接受TimeDelta,但我想知道如何以编程方式生成字符串,而不必发明自己的函数 td = pd.TimeDelta('3min') str(td) 输出 '0 days 00:03:00' 实际上,我想获得一个偏移量规则字符串:例如“3T”解释str(t) 返回格式为[D day[s],[H]H:MM:SS[.uuuuu]的字符串,其中D
td = pd.TimeDelta('3min')
str(td)
输出
'0 days 00:03:00'
实际上,我想获得一个偏移量规则字符串:例如“3T”解释str(t)
返回格式为[D day[s],[H]H:MM:SS[.uuuuu]的字符串,其中D表示负t
您想知道timedelta
是否支持像“3W”这样的输出,而不需要用户函数(通常)将其数字输出格式化为这种格式。不,它不提供这种支持
编写这样一个函数时,您可能会发现它很有用。解释str(t)
返回格式为[D day[s],[H]H:MM:SS[.uuuuu]的字符串,其中D表示负t
您想知道timedelta
是否支持像“3W”这样的输出,而不需要用户函数(通常)将其数字输出格式化为这种格式。不,它不提供这种支持
当您编写这样的函数时,您可能会觉得很有帮助。如果其他人需要像我这样编写自己的函数,下面是代码:
def timedelta_to_string(timedelta):
"""
Converts a pandas.Timedelta to a string rappresentation
compatible with pandas.Timedelta constructor format
"""
c = timedelta.components
format = ''
if c.days != 0:
format += '%dD' % c.days
if c.hours > 0:
format += '%dh' % c.hours
if c.minutes > 0:
format += '%dm' % c.minutes
if c.seconds > 0:
format += '%ds' % c.seconds
if c.milliseconds > 0:
format += '%dms' % c.milliseconds
if c.microseconds > 0:
format += '%dus' % c.microseconds
if c.nanoseconds > 0:
format += '%dns' % c.nanoseconds
return format
如果其他人需要像我一样编写自己的函数,代码如下:
def timedelta_to_string(timedelta):
"""
Converts a pandas.Timedelta to a string rappresentation
compatible with pandas.Timedelta constructor format
"""
c = timedelta.components
format = ''
if c.days != 0:
format += '%dD' % c.days
if c.hours > 0:
format += '%dh' % c.hours
if c.minutes > 0:
format += '%dm' % c.minutes
if c.seconds > 0:
format += '%ds' % c.seconds
if c.milliseconds > 0:
format += '%dms' % c.milliseconds
if c.microseconds > 0:
format += '%dus' % c.microseconds
if c.nanoseconds > 0:
format += '%dns' % c.nanoseconds
return format
你能举例说明你的意思吗?甚至可以链接到
。重新采样?你能举例说明你的意思吗?甚至可以链接到。重新采样?