0

我的熊猫数据框看起来像这样:

Movieid review  movieRating     wordEmbeddingVector
 1       "text"    4          [100 dimensional vector]

我正在尝试运行 doc2vec 实现,我希望能够按电影 id 进行分组,并获取 wordEmbeddingVector 中向量的总和,并计算求和向量与我尝试做的输入向量之间的余弦相似度

movie_groupby = movie_data.groupby('movie_id').agg(lambda v : cosineSimilarity(np.sum(movie_data['textvec'])), inputvector)

但它似乎运行了很长时间,我认为我可能做错了什么。所以我试图删除相似度函数,只进行分组和求和。但这似乎也没有完成(现在1小时以上)我做错了什么还是真的那么慢?我的数据框中有 135392 行,所以它不是很大。

movie_groupby = movie_data.groupby('movie_id').agg(lambda v : np.sum(movie_data['textvec']))

非常感激!

4

1 回答 1

0

您的代码中有一个错误。在您的 lambda 函数中,您可以对整个数据框进行求和,而不仅仅是对组求和。这应该可以解决问题:

movie_groupby = movie_data.groupby('movie_id').agg(lambda v: np.sum(v['textvec']))

注意:我替换hotel_datamovie_data,但这一定只是一个错字。

于 2016-06-03T08:36:44.520 回答