2012-11-02 42 views
0

我在pandas.to_datetime函數中看到一個奇怪的行爲。如果我把一個字符串,我得到了正確的日期:熊貓to_datetime產生令人困惑的結果

In [100]: pandas.to_datetime(' 2012-10-19 16:32:35') 
Out[100]: datetime.datetime(2012, 10, 19, 16, 32, 35) 

不過,我已經得到了具有與具有相同的格式,在上述100行串串日期時間列的數據集:

In [101]: data_frame = pandas.read_csv('my_data.csv', header=None, names=['bid', 'datetime']) 
In [102]: data_frame.ix[0] 

Out[102]: 
bid         428916 
datetime     2012-10-19 16:32:35 # NOTE: THIS IS A STRING 
Name: 0 

當我嘗試到datetime列設置爲時間戳,我得到一個非常奇怪的DateTime對象:

In [102]: data_frame['datetime'] = pandas.to_datetime(data_frame['datetime']) 
In [103]: data_frame.ix[0] 
Out [103]: 
bid         428916 
datetime     1970-01-16 80:32:35 # SEE THIS 
Name: 0 

所以無論是我誤解是to_datetime作品(很可能),或者該方式是意想不到的行爲(不太可能)。這是什麼?

回答

0

我懷疑問題在於打印numpy datetime64 [ns]對象。如果您將這些有趣的日期值轉換回熊貓Timestamp對象,它們看起來很正常。

pandas.Timestamp(data_frame.ix[0]['datetime']) 

應該給一個正常的結果。

+0

我已經提交這個問題。 – guyrt