问题描述
Help(帮助)如果我输入任何用户ID,它会给我IndexError:索引5699超出了轴3的大小3944的范围
def get_recommendation_content_model(userId):
"""
Calculates top movies to be recommended to user based on movie user has watched.
:param userId: userid of user
:return: Titles of movies recommended to user
"""
recommended_movie_list = []
movie_list = []
df_rating_filtered = q_Metadata[q_Metadata["userId"]== userId]
for key,row in df_rating_filtered.iterrows():
movie_list.append((q_Metadata["title"][row["id"]==q_Metadata["id"]]).values)
for index,movie in enumerate(movie_list):
for key,movie_recommended in get_recommendations_based_on_genres(movie[0]).iteritems():
recommended_movie_list.append(movie_recommended)
# removing already watched movie from recommended list
for movie_title in recommended_movie_list:
if movie_title in movie_list:
recommended_movie_list.remove(movie_title)
return set(recommended_movie_list)
get_recommendation_content_model(199)
IndexError Traceback(最近一次通话最近) 在 20 21个返回集(recommended_movie_list) ---> 22 get_recommendation_content_model(199)
get_recommendation_content_model(userId)中的11 movie_list.append((q_Metadata [“ title”] [row [“ id”] == q_Metadata [“ id”]])。values) 索引为12,枚举中的电影(movie_list): ---> 13键,在get_recommendations_based_on_genres(movie [0])。iteritems()中,movie_recommended。 14 Recommendation_movie_list.append(movie_recommended) 15
get_recommendations_based_on_genres中的(movie_title,cosine_sim_movies) 11 12#获取该电影与所有电影的pairwsie相似度得分 ---> 13 sim_scores_movies = list(枚举(cosine_sim_movies [idx_movie] [0])) 14#根据相似度得分对电影进行排序 15 sim_scores_movies =已排序(sim_scores_movies,key = lambda x:x [1],reverse = True)
IndexError:索引5699超出了轴3的大小3944的范围
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)