将大型数据集加载到Python中

将大型数据集加载到Python中,python,csv,pandas,Python,Csv,Pandas,我想从InstaCart加载大型.csv(340万行,206k用户)开源数据集 基本上,我无法将orders.csv加载到熊猫数据框架中。我想学习将大文件加载到Pandas/Python中的最佳实践。最好的选择是分块读取数据,而不是将整个文件加载到内存中 幸运的是,read\u csv方法接受chunksize参数 for chunk in pd.read_csv(file.csv, chunksize=somesize): process(chunk) 注意:通过将chunksize

我想从InstaCart加载大型.csv(340万行,206k用户)开源数据集


基本上,我无法将orders.csv加载到熊猫数据框架中。我想学习将大文件加载到Pandas/Python中的最佳实践。

最好的选择是分块读取数据,而不是将整个文件加载到内存中

幸运的是,
read\u csv
方法接受
chunksize
参数

for chunk in pd.read_csv(file.csv, chunksize=somesize):
    process(chunk)
注意:通过将
chunksize
指定为
read\u csv
read\u table
,返回值将是
iterable
类型的
TextFileReader
对象:

另见:


当您有可能无法放入内存的大数据帧时,这是非常有用的。我链接到的主页上有一些示例,说明如何创建一个dask数据帧,该数据帧与pandas数据帧具有相同的API,但可以分发

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

如果我需要加载整个数据集(~70GB),因为我需要应用SVD或PCA之类的东西,该怎么办?