我有一个91gb的数据帧,当我试图把它加载到内存中去处理它时,我的内存崩溃了。例如,是否可以只在m.0107\u f将所有数据中的行索引到Dataframe中,而不将完整数据加载到Dataframe中?你知道吗
我的数据集示例如下:
我想做的事-
df = pd.read_csv('/Volumes/big-flash-drive/asdf/FaceImageCroppedWithAlignment.tsv', sep='\t', nrows='m.0107_f',
names = ["Freebase MID", "EntityNameString", "ImageURL", "FaceID","FaceRectangle_Base64Encoded",
"FaceData_Base64Encoded"])
我知道这是不可能的,但也许有人可以帮助处理它
如果必须使用CSV文件,请尝试以下方法:
如果您可以以不同的格式存储数据-我强烈建议您使用HDF5格式或将数据存储在RDBMS数据库中:
演示:
这将只读取满足
where
子句的行data
看起来像:现在火焰:
结果:
这里的好处是使用blaze只加载内存中满足条件的项(相当于
m.0107_f
)。你知道吗相关问题 更多 >
编程相关推荐