2017-09-03 160 views
1

我用熊貓來讀取的格式的「時間戳」日期欄.csv文件:Matplotlib默認日期格式?

31/12/2016 00:00 

我用下面的一行將其轉換爲一個datetime64 D型:

time = pd.to_datetime(df['Timestamp']) 

該列有一個對應於每15分鐘近一年的條目,並且當我想繪製超過1個月的價值時,我遇到了問題。

大熊貓似乎在閱讀時將格式從ISO改爲US(所以YYYY:MM:DD到YYYY:DD:MM),所以每當datetime代表新的一天時,我的地塊都會有30天的間隔。前5天圖上看:

Datetime_error

這是文件中的跳躍兩邊的原始數據:

01/01/2017 23:45 
02/01/2017 00:00 

如果我打印該所描繪的值(讀後)圍繞第1跳,我得到:

2017-01-01 23:45:00 
2017-02-01 00:00:00 

那麼,有沒有辦法讓大熊貓正確讀取日期?

謝謝!

回答

1

可以在pd.to_datetime指定format參數來告訴大熊貓如何準確解析日期,我想是你所需要的:

time = pd.to_datetime(df['Timestamp'], format='%d/%m/%Y %H:%M') 

pd.to_datetime('02/01/2017 00:00') 
#Timestamp('2017-02-01 00:00:00') 

pd.to_datetime('02/01/2017 00:00', format='%d/%m/%Y %H:%M') 
#Timestamp('2017-01-02 00:00:00')