我想从 datetime.timedelta
pd.tseries.offsets
In [1]: from pandas.tseries.frequencies import to_offset
In [2]: import datetime
In [3]: td = datetime.timedelta(hours=1)
In [4]: to_offset('1H')
Out [4]: <Hour>
In [5]: to_offset(td)
Out [5]: ValueError
任何(其他)想法?
最佳答案
to_offset
返回一个 pd.DateOffset
。所以你可以直接构建这个对象:
>>> td = datetime.timedelta(hours=1)
>>> pd.DateOffset(seconds=td.total_seconds())
<DateOffset: kwds={'seconds': 3600.0}>
>>> to_offset(pd.DateOffset(seconds=td.total_seconds()))
<DateOffset: kwds={'seconds': 3600.0}>
为了更好的字符串表示:
>>> pd.DateOffset(days=td.days,
hours=td.seconds // 3600,
minutes=(td.seconds // 60) % 60)
<DateOffset: kwds={'hours': 1, 'minutes': 0, 'days': 0}>
关于python - 从 timedelta 构建 Pandas pd.tseries.offsets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27444949/