![](/img/trans.png)
[英]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.