2017-09-15 55 views
-1

我要与数据(许多GB)的非常大的文件进行工作。我将不得不阅读这些文件并写入这些文件。因此,我将无法依靠RAM来存储数据,并且需要从磁盘读取和写入文件。如何使用熊猫数据框从磁盘读取和写入文件?

我熟悉的大熊猫库提供了read_csvto_csv选项。但是,我不确定read csv函数是否读取文件,然后将其存储在RAM中或直接从磁盘读取文件。

什么是读写使用大熊猫从磁盘文件的最好方法?

+0

直视read_hdf() – DJK

回答

1

pandas.read_csv将整个文件读入内存中。如果你只需要特定列,您可以使用usecols参数指定的列和熊猫的子集将只加载那些列。

由于您的文件不装入内存,你可以分割使用split磁盘上的文件,并在块执行所有操作。

一个简单的替代方法是使用来自dask库的dask.dataframeread_csv

从文档:

A Dask DataFrame is a large parallel dataframe composed of many smaller Pandas dataframes, split along the index. These pandas dataframes may live on disk for larger-than-memory computing on a single machine, or on many different machines in a cluster.