使用提供了chunksize选项的pandas read_csv时内存不足

使用提供了chunksize选项的pandas read_csv时内存不足,pandas,Pandas,我正在尝试使用pandas read_CSV读取一个大的(~24GB)CSV。 我就是这么做的: import pandas as pd import time sum = 0 start = time.time() for chunk in pd.read_csv('large_iris.csv', iterator=True, chunksize=100): sum=sum+chunk.species.count() end = time.time() 我得到一个内存不足错误,如下

我正在尝试使用pandas read_CSV读取一个大的(~24GB)CSV。 我就是这么做的:

import pandas as pd
import time
sum = 0
start = time.time()
for chunk in pd.read_csv('large_iris.csv', iterator=True, chunksize=100):
    sum=sum+chunk.species.count()
end = time.time()
我得到一个内存不足错误,如下所示:

python(5741,0x7fffc81cc3c0) malloc: *** mach_vm_map(size=18446744071629176832) failed (error code=3)
***错误:无法分配区域

我试着用从100到1000000的chunksize的几个值进行实验。不管区块大小如何,问题仍然存在

我是否误解了read_csv如何与chunksize一起工作。我知道用一个合理的较小的chunksize迭代数据应该可以解决我看到的内存不足问题。 我发现其他帖子建议使用chunksize来解决内存不足的问题。但当提供有效的chunksize时,我找不到关于内存不足问题的帖子


谢谢你的帮助

问题似乎是CSV文件损坏。 当逐行迭代“large_iris.csv”时,某一行被解释为异常大,导致内存不足问题。 上面的代码片段在其他格式良好的CSV文件上运行良好