pandas read_csv以欧洲日期格式缓慢

时间:2017-07-24 17:39:59

标签: python pandas date datetime

我有一个大的csv文件(> 1M行),有两列日期为欧洲格式(DD / MM / YY),我正在处理大熊猫。熊猫读取这些文件的速度很慢。以下是实验:

  • read_csv(...,parse_dates=None)(默认值)将日期列视为字符串(按预期方式)并将< 1秒
  • read_csv(..., parse_dates=my_columns, dayfirst=True)read_csv(..., parse_dates=my_columns, dayfirst=True, infer_datetime_format=True)(文档建议后者可能更快)两者都给出了相同的结果:大约需要5分钟
  • 使用自定义日期解析器read_csv(..., parse_dates=my_columns, date_parser=lambda x: pd.datetime.strptime(x, '%d/%m/%y'))按建议here进行奇怪的格式设置需要25秒
  • 没有使用read_csv解析日期,而是在

    之后使用to_datetime
    read_csv(..., parse_dates=None)
    for column in my_columns:
      my_frame[column]=pd.to_datetime(my_frame[column], format='%d/%m/%y')
    

    需要7秒

  • 作为参考:打开pandas保存的csv(所有日期都已正确读取后,DataFrame.to_csv)需要2秒

正如您所看到的,存在很多差异,我认为这是一个相当令人惊讶的,因为它是一种标准的日期格式。那么阅读欧洲日期的正确方法是什么?

0 个答案:

没有答案