在pandas中使用DateOffset时,我看到以下行为。
In [25]:
import pandas as pnd
d = pnd.Timestamp('2013-01-01 16:00')
dates = pnd.bdate_range(start=d, end=d+pnd.DateOffset(days=5))
for d1 in dates :
print d1
2013-01-01 00:00:00
2013-01-02 00:00:00
2013-01-03 00:00:00
2013-01-04 00:00:00
我正在丢失时间信息。是否有办法生成类似的日期范围,
2013-01-01 16:00:00
2013-01-02 16:00:00
2013-01-03 16:00:00
2013-01-04 16:00:00
答案 0 :(得分:1)
您可以使用normalize
的{{1}}参数(默认为True):
bdate_range
注意:某些类似的函数具有类似的参数In [11]: dates = pnd.bdate_range(start=d, end=d+pnd.DateOffset(days=5), normalize=False)
In [12]: for d1 in dates :
print d1
2013-01-01 16:00:00
2013-01-02 16:00:00
2013-01-03 16:00:00
2013-01-04 16:00:00
。
答案 1 :(得分:1)
您可以使用date_range
更轻松地执行此操作!:
import pandas as pnd
d = '2013-01-01 16:00'
dates = pnd.date_range(d, periods=5, freq='D')
显示输出:
>>> for i in dates: print i
...
2013-01-01 16:00:00
2013-01-02 16:00:00
2013-01-03 16:00:00
2013-01-04 16:00:00
2013-01-05 16:00:00
Andy指出,您可以使用bdate_range
执行此操作,但由于其简单性和可读性,我更喜欢此方法