【问题标题】:Slow datetime parsing in PandasPandas 中的缓慢日期时间解析
【发布时间】:2017-08-20 21:16:33
【问题描述】:

pandas.read_csv()这些关于日期时间解析的问题都有关系。

问题 1

infer_datetime_format 参数默认为 False。将其设置为 True 是否安全?换句话说,Pandas 推断日期格式的准确度如何?对其算法的任何见解都会有所帮助。

问题 2

当我运行 pd.read_csv("file.csv", parse_dates = ["Start", "End"]) 时,加载超过 450,000 行的 CSV 文件花费了 10 多分钟

然而,当我添加参数dayfirst = Trueinfer_datetime_format = True 时只用了20 秒。然而,如果其中一个为 False,则需要 10 多分钟。

为什么 both 必须为 True 才能加快日期时间解析?如果一个是 False 而另一个不是,那么它不应该严格在 20 秒到 10 分钟之间吗? (这个问题的答案很可能是算法,如问题1。)

问题 3

既然dayfirst = True, infer_datetime_format = True加速了datetime解析,为什么不是默认设置呢?是因为 Pandas 无法准确推断日期格式吗?

【问题讨论】:

  • 你能展示一些时间来证明这些差异吗?

标签: python performance csv pandas datetime


【解决方案1】:
  1. 和 2. 根据我的经验,如果处理时间对您的研究并不重要(假设您处理一次数据然后运行分析),那么我建议您使用 pd.to_datetime() 和其他方法解析日期在你读入数据之后。

  2. 任何有助于 Pandas 减少关于数据类型的可能性的任何东西都将加快处理速度。有道理。您越精确,处理速度就越快。

【讨论】:

    猜你喜欢
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 2014-04-10
    • 2014-01-29
    • 2021-02-07
    • 2012-09-04
    相关资源
    最近更新 更多