我有一个大的csv文件(5 GB),我可以使用读取它。这个操作需要很多时间,需要10-20分钟。
如何加快速度?
将数据转换为格式是否有用?如果是的话,我该怎么做?
编辑:更多信息:
数据包含1852列和350000行。大多数列都是float65类型,并包含数字。一些其他列包含字符串或日期(我认为被视为字符串)。
我正在使用一台带有16 GB RAM和SSD硬盘的笔记本电脑。数据应该可以很好地适应内存(但我知道Python倾向于增加数据大小)。
编辑2:
在加载过程中,我收到此消息:
如何加快速度?
将数据转换为格式是否有用?如果是的话,我该怎么做?
编辑:更多信息:
数据包含1852列和350000行。大多数列都是float65类型,并包含数字。一些其他列包含字符串或日期(我认为被视为字符串)。
我正在使用一台带有16 GB RAM和SSD硬盘的笔记本电脑。数据应该可以很好地适应内存(但我知道Python倾向于增加数据大小)。
编辑2:
在加载过程中,我收到此消息:
/usr/local/lib/python3.4/dist-packages/pandas/io/parsers.py:1164: DtypeWarning: Columns (1841,1842,1844) have mixed types. Specify dtype option on import or set low_memory=False.
data = self._reader.read(nrows)
编辑:解决方案
读取一次csv文件并将其保存为
data.to_hdf('data.h5', 'table')
这种格式非常高效。
low_memory=False
标志是什么意思,但它肯定听起来像是在文档中查找有帮助的东西,因为它可能对此处有所帮助。 - abarnert