首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电影推荐系统:对于每一部电影,找到评价者所评分的电影。

电影推荐系统:对于每一部电影,找到评价者所评分的电影。
EN

Stack Overflow用户
提问于 2021-06-05 05:04:37
回答 1查看 28关注 0票数 0

我有一个嵌套的电影评分字典:

{‘John’:{‘星球大战’:1.0,'Silence':2.0,'Forrest‘:3.0},'Maria':{'Star Wars':nan,'Silence':1.0,'Forrest':2.0},'Mike':{'Star Wars':9.0,'Silence':nan,'Forrest':nan},

现在我想做一个函数,计算每部电影有多少人看过这部电影(score != nan),然后按降序排列。

我希望这一点是清楚的。提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-06-06 03:47:17

这将是我对这个排名系统的方法:

代码语言:javascript
复制
from collections import defaultdict

nan = 0    # to simplify the parsing...

dc = {'John' :{'Star Wars': 1.0, 'Silence': 2.0, 'Forrest' : 3.0},
      'Maria':{'Star Wars': 0, 'Silence': 1.0, 'Forrest':2.0},
       'Mike':{'Star Wars': 9.0, 'Silence': 0, 'Forrest': 0}}
       
scores = defaultdict(int)

for name, movies in dc.items():
   
    for movie, score in movies.items():
        if score:       # not 0
            scores[movie] += score
    
print(scores)
ranking = {k: v for k, v in sorted(scores.items(),
                    key=lambda item: -item[1])}
print(ranking)    # {'Star Wars': 10.0, 'Forrest': 5.0, 'Silence': 3.0}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67843962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档