[英]Resampling timedelta for multivariate data in python pandas
[英]Pandas resampling: how to generate offset rules string from TimeDelta
有一种方法来产生所接受的偏移规则字符串DataFrame.resample (例如“T”,“3W”,“2D”, 等 )从一个或TimeDelta表示时间频率的另一对象开始?
我知道DataFrame.resample可以接受TimeDelta,但是我想知道如何以编程方式生成字符串,而不必发明自己的函数。
td = pd.TimeDelta('3min')
str(td)
产量
'0 days 00:03:00'
实际上,我想获取一个偏移规则字符串:例如“ 3T”
该文档解释说str(t)
返回格式为[D day [s],] [H] H:MM:SS [.UUUUUU]的字符串,其中D表示负t。
您想知道timedelta
提供对“ 3W”之类的输出的支持,而无需用户功能(平凡地)将其数字输出格式化为这种格式。 不,它不提供这种支持。
当您编写这样的函数时,您可能会发现to_perioddelta()很有帮助。
如果有人需要像我一样编写自己的函数,则代码如下:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.