用户项目从mongodb创建评分矩阵

时间:2019-04-16 06:56:08

标签: python mongodb bigdata

我正在尝试从Yelp数据集(docs.)创建用户项目评分矩阵

我已经将不同的集合导入到MongoDB中,并选择了归类为餐馆的部分业务。我还获取了我的用户,并使用这两个集合作为索引初始化了一个熊猫数据框。
数据帧的大小为1637138 x74599。

然后我盯着这样获取评论:

for user_id in df_index:
    ratings = get_user_ratings(user_id)
    for rating in ratings:
        if(rating["business_id"] in df_col):
            rating_matrix.loc[user_id,rating["business_id"]] = rating["stars"] 

除了永久使用,当我尝试将数据帧转储到csv文件中时,我遇到了内存错误:

Traceback (most recent call last):
  File "db_manager.py", line 119, in <module>
    rating_matrix = pd.DataFrame(np.empty((len(users),len(restaurants))), index=df_index, columns=df_col )
MemoryError

我确信有更好,更快的方法来实现我想要的目标。朝正确方向的任何帮助和暗示,我们将不胜感激!

0 个答案:

没有答案