gpt4 book ai didi

python - Pandas to_datetime() 函数性能问题

转载 作者:行者123 更新时间:2023-11-28 20:37:41 34 4
gpt4 key购买 nike

有一个这样的 df:

Dat
10/01/2016
11/01/2014
12/02/2013

“Dat”列具有对象类型,因此我尝试使用 to_datetime () pandas 函数将其切换为日期时间:

to_datetime_rand = partial(pd.to_datetime, format='%m/%d/%Y')
df['DAT'] = df['DAT'].apply(to_datetime_rand)

一切正常,但当我的 df 高于 20 亿行时,我遇到了性能问题。因此,在那种情况下,此方法会卡住并且无法正常工作。

pandas to_datetime () 函数是否能够通过 block 或循环迭代进行转换。

谢谢。

最佳答案

如果性能是一个问题,我建议使用以下函数将这些列转换为 date_time:

def lookup(s):
"""
This is an extremely fast approach to datetime parsing.
For large data, the same dates are often repeated. Rather than
re-parse these, we store all unique dates, parse them, and
use a lookup to convert all dates.
"""
dates = {date:pd.to_datetime(date) for date in s.unique()}
return s.apply(lambda v: dates[v])
to_datetime: 5799 ms
dateutil: 5162 ms
strptime: 1651 ms
manual: 242 ms
lookup: 32 ms

关于python - Pandas to_datetime() 函数性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42164040/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com