2017-09-03 158 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')