python - 多列的快速日期时间解析,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 列的重复结构。
解决方案
推荐阅读
- python - 熊猫数据框切片 - 用于行 v 列顺序的 Pythonic 习语?
- ruby-on-rails - TypeError:没有将哈希隐式转换为字符串
- r - 有没有办法同时使用mice 包和gWQS 包?
- android - 如何使用每种颜色的百分比和自定义渐变角度创建可绘制的多色渐变
- jsf - JSF - selectOneMenu 中的 f:converter 和转换器标签之间的区别
- ibm-cloud - 如何在使用 ibmcloud 命令行创建 Watson 服务时指定区域
- laravel - foreach 不能在服务器上工作,但在 localhost 工作
- django - 使用 django 过滤器搜索所有内容
- html - 如何防止提交按钮在 ASP.NET MVC 中出现?
- ibm-mobilefirst - MFP 8 - 停止推送通知