在 pandas 中将列解析为日期时间的最快方法

2023-12-06

我有以下超过 400 000 行的数据框。

df = pd.DataFrame({'date' : ['03/02/2015 23:00',
'03/02/2015 23:30',
'04/02/2015 00:00',
'04/02/2015 00:30',
'04/02/2015 01:00',
'04/02/2015 01:30',
'04/02/2015 02:00',
'04/02/2015 02:30',
'04/02/2015 03:00',
'04/02/2015 03:30',
'04/02/2015 04:00',
'04/02/2015 04:30',
'04/02/2015 05:00',
'04/02/2015 05:30',
'04/02/2015 06:00',
'04/02/2015 06:30',
'04/02/2015 07:00']})

我正在尝试尽快解析 pandas 中 csv 文件的日期列。我知道如何使用 read_csv 来做到这一点,但这需要很多时间!另外,我尝试了以下方法,该方法有效但速度也很慢:df['dateTimeFormat'] = pd.to_datetime(df['date'],dayfirst=True)

如何有效且快速地将日期列解析为日期时间?

非常感谢您的帮助,

Pierre


您可以定义格式datetimes by http://strftime.org/:

df = pd.concat([df] * 1000, ignore_index=True)


%timeit df['dateTimeFormat1'] = pd.to_datetime(df['date'],dayfirst=True)
2.94 s ± 285 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit df['dateTimeFormat2'] = pd.to_datetime(df['date'],format='%d/%m/%Y %H:%M') 
55 ms ± 1.47 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 pandas 中将列解析为日期时间的最快方法 的相关文章

随机推荐