python - 从 timedelta 构建 Pandas pd.tseries.offsets

标签 python datetime pandas timedelta

我想从 datetime.timedelta

构建一个 Pandas 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/

相关文章:

c# - 从没有错误的字符串中解析日期时间

python - 如何使用 Pandas 重命名重置索引上的多个列

python - 在时间戳之间创建一系列天 - 上面的重复链接无法解决

python - 根据列名称值对 pandas 中的数据框进行子集化

python - 使用python按特定文本行分隔文本文档

datetime - Grails 中的时间格式/选择器?

python - 除了循环之外还有其他方法可以从任何序列数据(Python)更新字典吗?

c# - 在 C# 中获取当前月份数的最佳方法

python - 如何使用 docker 容器化一个简单的机器学习 python 应用程序?

python - 用更少的比较比较两个元组列表的欧几里得距离python