2016-11-21 172 views
0

從csv文件加載數據後,我將索引設置爲「日期」列,然後將索引轉換爲日期時間。Python Pandas檢測錯誤的日期時間格式

df1=pd.read_csv('Data.csv') 
    df1=df1.set_index('Date') 
    df1.index=pd.to_datetime(df1.index) 

然而轉換後的日期時間格式顯示它已被曲解:

原始日期是例如01-10-2014 00:00:00

但熊貓將其轉換爲2014-01-10 00:00:00

我怎樣才能得到熊貓尊重或承認原來的日期格式?

謝謝

+1

這是預期的行爲,顯示格式是它是什麼,但dtype將是'datetime64',你可以使用'strftime'獲得一個字符串格式,但是這會給你一個字符串whic h不如'datetime'有用IMO – EdChum

+0

謝謝。問題在於它認爲日期是2014年1月10日而不是2014年10月1日 – user7188934

+0

那麼你的問題更多的是關於正確解析日期,你可以做'df1.index = pd.to_datetime(df1.index,format ='%m-%d-%Y%H:%M:%S')' – EdChum

回答

2

你datestrings被解釋爲每月第一,你需要指定正確的format

df1.index=pd.to_datetime(df1.index, format='%d-%m-%Y %H:%M:%S') 

,使其不解釋第一部分爲一個月

In [128]: 
pd.to_datetime('01-10-2014 00:00:00', format='%d-%m-%Y %H:%M:%S') 

Out[128]: 
Timestamp('2014-10-01 00:00:00')