2017-06-14 95 views

回答

2

最佳选择是以块为单位读取数据,而不是将整个文件加载到内存中

幸运的是,read_csv方法接受chunksize的说法。

for chunk in pd.read_csv(file.csv, chunksize=somesize): 
    process(chunk) 

注意:通过指定chunksizeread_csvread_table,则返回值将是TextFileReader类型的iterable对象:

另见:

0

如果您的大数据帧可能不适合内存,则dask非常有用。我已经链接到的主页有关于如何创建与pandas相同但可以分发API的dask数据框的示例。

0

根据您的机器,您可以通过在读取csv文件时指定数据类型来读取它在内存中的全部内容。当熊猫读取csv时,使用的默认数据类型可能不是最好的。使用dtype您可以指定数据类型。它减少了读入内存的数据帧的大小。