如何在pandas中指定时间值的读取顺序(小时,分钟,秒,日,月,年)?

3
我有以下时间数据:
0        08/01/16 13:07:46,335437
1        18/02/16 08:40:40,565575
2        14/01/16 22:23:23,606399
3        18/01/16 12:12:46,114231
4        18/01/16 17:09:11,477728
5        20/01/16 12:56:20,432586
6        18/01/16 21:12:53,645333
7        25/01/16 17:29:34,540325
8        16/02/16 10:03:08,698522
9        16/02/16 13:49:54,977352
10       25/02/16 12:17:01,271601

这些数据采用欧洲时间格式(日、月、年)。我希望告诉 Pandas 按照这个顺序读取日期。问题在于,当我尝试使用 pd.to_datetime(format = "%d/%m/%Y") 时它会报错,说我的数据不是这种格式。我想这可能是因为还有小时、分钟和秒等信息,我没有告诉 Pandas 如何读取。但我想不出解决方法。

我的问题很简单,请问如何以这个格式读取我的数据?

我所需的时间格式为:天、月、年、小时、分钟、秒。

非常感谢您的帮助。


1
如果你要读取数据,我猜你应该提供完整的格式,它似乎是"%d/%m/%Y %H:%M:%S,%f"... - FObersteiner
谢谢@MrFuppes,但不行,我尝试过了,它会报错:ValueError: time data '08/01/16 13:07:46,335437' does not match format '%d/%m/%Y %H:%M:%S,%f' (match) - Miguel 2488
抱歉,必须使用小写字母y,%d/%m/%y %H:%M:%S,%f - FObersteiner
1个回答

2
使用参数formatto_datetime中,可以找到参数在http://strftime.org/中的可能性。"最初的回答"
df['date'] = pd.to_datetime(df['date'], format='%d/%m/%y %H:%M:%S,%f')

最初的回答:

解释:

%d - match day  
%m - match month  
%y - match year in format YY  
%H - match hour in 24h format  
%M - match minute  
%S - match second  
%F - match microsecond

太好了,Jezrael!它完美地运行了,非常感谢。您能否提供一些关于使用您所使用的时间格式处理日期的解释? - Miguel 2488
1
@Miguel2488 - 不确定是否理解 - 你能再解释一下吗? - jezrael
我想更深入地了解一下你的时间格式'%d/%m/%y %H:%M:%S,%f'是做什么用的。 - Miguel 2488
1
太好了,伙计,你的回答一如既往地真正有帮助:) 再次非常感谢你。 - Miguel 2488

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接