2013-06-21 51 views
2

在熊貓中使用DateOffset時,我看到以下行爲。在大熊貓中丟失了dateoffset和bdate_range的時間信息

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 

回答

1

可以使用normalize說法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 

注:一些類似的功能有類似的論點base

+0

嗯......我不知道正常化 – nitin

+0

這不是在線文檔,你必須檢查'help(pd.bdate_range)':) –

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 

安迪指出的那樣,你可以做到這一點使用bdate_range,但我喜歡這種方法由於其簡單性和可讀性

+0

然而,結果是不同的,因爲'bdate_range'只包含工作日(如果您採用稍大的範圍, 10),2013-01-05恰好是星期六,所以它是在你的,但不是我的或OP。 :) –

+0

以前從未使用過'bdate_range',現在猜猜我知道它對於哈哈 –