gpt4 book ai didi

python - 是否有比 pd.to_datetime 更快的日期转换?

转载 作者:行者123 更新时间:2023-12-02 11:39:27 24 4
gpt4 key购买 nike

我正在尝试将 pandas 数据框中格式为 01/01/2017 的日期转换为 python 格式,以便提取星期几。我一直在使用:

df['Date'] = pd.to_datetime(df['Date'])
df['DOW'] = df['Date'].dt.weekday_name

但第一行大约需要 250 µs,并且我有超过 100 万个日期需要转换。

有没有更快的方法来做到这一点?

最佳答案

由于您知道格式是什么,所以为 pd.to_datetime 添加 format 参数将使速度加快约 40 倍。

pd.to_datetime(df['Date'], format='%d/%m/%Y')

我大约需要 4 秒

此外,这有点hacky,但如果您知道可能日期的上限和下限,您可以将数据与所有可能字符串的映射连接起来:

dates = pd.date_range(pd.Timestamp.min, pd.Timestamp.max)
date_mappings = pd.Series(dates, index=dates.strftime('%d/%m/%Y'), name='Date')
df = df.join(date_mappings, on='Date', lsuffix='_str')

这在我的计算机上花费了 < 1 秒,如果您知道可能日期的范围,可能会进一步缩短

关于python - 是否有比 pd.to_datetime 更快的日期转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42771971/

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