使用Pandas和PyMongo将MongoDB数据加载到DataFrame的更好方法?

发布于 2021-01-29 15:25:20

我有一个0.7 GB的MongoDB数据库,其中包含要尝试加载到数据帧中的推文。但是,我得到一个错误。

MemoryError:

我的代码如下所示:

cursor = tweets.find() #Where tweets is my collection
tweet_fields = ['id']
result = DataFrame(list(cursor), columns = tweet_fields)

我已经尝试了以下答案中的方法,这些方法有时会在加载数据库之前创建数据库所有元素的列表。

但是,在另一个有关list()的答案中,此人说这对小型数据集很有用,因为所有内容都已加载到内存中。

就我而言,我认为这是错误的根源。太多数据无法加载到内存中。我还能使用什么其他方法?

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我已将代码修改为以下内容:

    cursor = tweets.find(fields=['id'])
    tweet_fields = ['id']
    result = DataFrame(list(cursor), columns = tweet_fields)
    

    通过在find()函数中添加 fields
    参数,我限制了输出。这意味着我没有将每个字段都加载到DataFrame中,而是仅加载了选定的字段。现在一切正常。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看