如何从mongodb读取大数据集到pandas数据帧

时间:2018-03-09 05:11:07

标签: python pandas

我有一个包含数据的大型数据集(9232363X102和10 gb文件大约)。我有一个12 Gb ram系统。如何从pandas中读取此内容并将其转换为DataFrame。首先我试过

df=pd.DataFrame(list(mng_clxn.find({})

冻结我的系统

所以我尝试阅读特定的列,但仍然没有用,我这样读了,

df=pd.DataFrame(list(mng_clxn.find({},{'col1':1,col2:1,'col3':1,col4:1})

我尝试的另一件事就是作为一个块读取,为此

df_db=pd.DataFrame()
offset=0
thresh=1000000
while(offset<9232363):

    chunk=pd.DataFrame(list(mng_clxn.find({},).limit(thresh).skip(offset)))
    offset+=thresh
    df_db=df_db.append(chunk)

这也没用, 我现在该怎么办?

我可以用我的系统(12gb Ram)解决这个问题吗? 任何想法都会很明显。

如果您发现任何与此类似的其他SO问题,请随意标记为重复。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可能需要更多内存才能以合理的方式处理该数据集。考虑从this question运行第4步以确定。您可能还会考虑this question关于将pandas与大型数据集一起使用,但通常情况下,即使您找到了加载数据的方法,也可能需要超过2gb的空间来操作数据。