首页 > 解决方案 > 多列的快速日期时间解析,read_csv

问题描述

我正在阅读一个大的 csv 文件(10GB+)。从 csv 加载的原始数据如下所示:

  SYMBOL      DATE     TIME  PRICE  CORR COND
0     BA  20090501  9:29:46  40.24     0    F
1     BA  20090501  9:29:59  40.38     0    F
2     BA  20090501  9:30:01  40.31     0    O
3     BA  20090501  9:30:01  40.31     0    Q
4     BA  20090501  9:30:08  40.38     0    F

我的目标是在通过 read_csv 函数读取日期时将 DATE 和 TIME 列合并为单个 DATE_TIME 列。

由于内存限制,首先加载数据并手动执行不是一种选择。

目前,我正在使用

data = pd.read_csv('200905.csv',
                    parse_dates=[['DATE','TIME']], 
                    infer_datetime_format=True,
                  )

但是,使用上述默认设置dateutil.parser.parser会使加载时间增加 4 倍,而不是仅加载原始 csv。

一种有前途的方法可能是使用以下查找方法: Pandas: slow date conversion。这是因为我的数据集有很多重复的日期。

但是,我的问题是,如何在合并到 DATE_TIME 列(可能只有很少的重复条目)的同时优化利用 DATE 列的重复结构。

标签: pythonpandasdatetime

解决方案


推荐阅读