使用Python找出历史上5星好评数最多的50部电影,基于MovieLens20M数据集
2016-01-18 20:15
633 查看
第1名:"Shawshank Redemption The (1994)" 类型:Crime|Drama 5星好评次数:31896
第2名:Pulp Fiction (1994) 类型:Comedy|Crime|Drama|Thriller 5星好评次数:27762
第3名:"Silence of the Lambs The (1991)" 类型:Crime|Horror|Thriller 5星好评次数:22513
第4名:Schindler's List (1993) 类型:Drama|War 5星好评次数:22355
第5名:Star Wars: Episode IV - A New Hope (1977) 类型:Action|Adventure|Sci-Fi 5星好评次数:22117
第6名:Forrest Gump (1994) 类型:Comedy|Drama|Romance|War 5星好评次数:21292
第7名:"Godfather The (1972)" 类型:Crime|Drama 5星好评次数:20251
第8名:"Usual Suspects The (1995)" 类型:Crime|Mystery|Thriller 5星好评次数:19914
第9名:"Matrix The (1999)" 类型:Action|Sci-Fi|Thriller 5星好评次数:18582
第10名:Braveheart (1995) 类型:Action|Drama|War 5星好评次数:18467
第11名:Star Wars: Episode V - The Empire Strikes Back (1980) 类型:Action|Adventure|Sci-Fi 5星好评次数:16987
第12名:American Beauty (1999) 类型:Comedy|Drama 5星好评次数:15719
第13名:Raiders of the Lost Ark (Indiana Jones and the Raiders of the Lost Ark) (1981) 类型:Action|Adventure 5星好评次数:15365
第14名:Fargo (1996) 类型:Comedy|Crime|Drama|Thriller 5星好评次数:15232
第15名:Fight Club (1999) 类型:Action|Crime|Drama|Thriller 5星好评次数:14623
第16名:Star Wars: Episode VI - Return of the Jedi (1983) 类型:Action|Adventure|Sci-Fi 5星好评次数:13409
第17名:Terminator 2: Judgment Day (1991) 类型:Action|Sci-Fi 5星好评次数:13317
第18名:"Lord of the Rings: The Fellowship of the Ring The (2001)" 类型:Adventure|Fantasy 5星好评次数:12623
第19名:Toy Story (1995) 类型:Adventure|Animation|Children|Comedy|Fantasy 5星好评次数:12268
第20名:"Fugitive The (1993)" 类型:Thriller 5星好评次数:12127
第21名:"Princess Bride The (1987)" 类型:Action|Adventure|Comedy|Fantasy|Romance 5星好评次数:12086
第22名:Seven (a.k.a. Se7en) (1995) 类型:Mystery|Thriller 5星好评次数:12021
第23名:"Godfather: Part II The (1974)" 类型:Crime|Drama 5星好评次数:11737
第24名:Monty Python and the Holy Grail (1975) 类型:Adventure|Comedy|Fantasy 5星好评次数:11512
第25名:Saving Private Ryan (1998) 类型:Action|Drama|War 5星好评次数:11274
第26名:Blade Runner (1982) 类型:Action|Sci-Fi|Thriller 5星好评次数:10787
第27名:One Flew Over the Cuckoo's Nest (1975) 类型:Drama 5星好评次数:10678
第28名:Apollo 13 (1995) 类型:Adventure|Drama|IMAX 5星好评次数:10546
第29名:Casablanca (1942) 类型:Drama|Romance 5星好评次数:10466
第30名:"Sixth Sense The (1999)" 类型:Drama|Horror|Mystery 5星好评次数:10329
第31名:"Lord of the Rings: The Two Towers The (2002)" 类型:Adventure|Fantasy 5星好评次数:10241
第32名:Jurassic Park (1993) 类型:Action|Adventure|Sci-Fi|Thriller 5星好评次数:10240
第33名:"Lord of the Rings: The Return of the King The (2003)" 类型:Action|Adventure|Drama|Fantasy 5星好评次数:10107
第34名:Twelve Monkeys (a.k.a. 12 Monkeys) (1995) 类型:Mystery|Sci-Fi|Thriller 5星好评次数:9628
第35名:Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1964) 类型:Comedy|War 5星好评次数:9546
第36名:Dances with Wolves (1990) 类型:Adventure|Drama|Western 5星好评次数:9167
第37名:Back to the Future (1985) 类型:Adventure|Comedy|Sci-Fi 5星好评次数:8963
第38名:Alien (1979) 类型:Horror|Sci-Fi 5星好评次数:8754
第39名:Goodfellas (1990) 类型:Crime|Drama 5星好评次数:8656
第40名:Memento (2000) 类型:Mystery|Thriller 5星好评次数:8490
第41名:2001: A Space Odyssey (1968) 类型:Adventure|Drama|Sci-Fi 5星好评次数:8272
第42名:"Lion King The (1994)" 类型:Adventure|Animation|Children|Drama|Musical|IMAX 5星好评次数:8104
第43名:Taxi Driver (1976) 类型:Crime|Drama|Thriller 5星好评次数:7915
第44名:"Amelie (Fabuleux destin d'Amélie Poulain Le) (2001)" 类型:Comedy|Romance 5星好评次数:7898
第45名:L.A. Confidential (1997) 类型:Crime|Film-Noir|Mystery|Thriller 5星好评次数:7744
第46名:Gladiator (2000) 类型:Action|Adventure|Drama 5星好评次数:7742
第47名:Reservoir Dogs (1992) 类型:Crime|Mystery|Thriller 5星好评次数:7619
第48名:Apocalypse Now (1979) 类型:Action|Drama|War 5星好评次数:7531
第49名:Babe (1995) 类型:Children|Drama 5星好评次数:7480
第50名:Aliens (1986) 类型:Action|Adventure|Horror|Sci-Fi 5星好评次数:7419
第2名:Pulp Fiction (1994) 类型:Comedy|Crime|Drama|Thriller 5星好评次数:27762
第3名:"Silence of the Lambs The (1991)" 类型:Crime|Horror|Thriller 5星好评次数:22513
第4名:Schindler's List (1993) 类型:Drama|War 5星好评次数:22355
第5名:Star Wars: Episode IV - A New Hope (1977) 类型:Action|Adventure|Sci-Fi 5星好评次数:22117
第6名:Forrest Gump (1994) 类型:Comedy|Drama|Romance|War 5星好评次数:21292
第7名:"Godfather The (1972)" 类型:Crime|Drama 5星好评次数:20251
第8名:"Usual Suspects The (1995)" 类型:Crime|Mystery|Thriller 5星好评次数:19914
第9名:"Matrix The (1999)" 类型:Action|Sci-Fi|Thriller 5星好评次数:18582
第10名:Braveheart (1995) 类型:Action|Drama|War 5星好评次数:18467
第11名:Star Wars: Episode V - The Empire Strikes Back (1980) 类型:Action|Adventure|Sci-Fi 5星好评次数:16987
第12名:American Beauty (1999) 类型:Comedy|Drama 5星好评次数:15719
第13名:Raiders of the Lost Ark (Indiana Jones and the Raiders of the Lost Ark) (1981) 类型:Action|Adventure 5星好评次数:15365
第14名:Fargo (1996) 类型:Comedy|Crime|Drama|Thriller 5星好评次数:15232
第15名:Fight Club (1999) 类型:Action|Crime|Drama|Thriller 5星好评次数:14623
第16名:Star Wars: Episode VI - Return of the Jedi (1983) 类型:Action|Adventure|Sci-Fi 5星好评次数:13409
第17名:Terminator 2: Judgment Day (1991) 类型:Action|Sci-Fi 5星好评次数:13317
第18名:"Lord of the Rings: The Fellowship of the Ring The (2001)" 类型:Adventure|Fantasy 5星好评次数:12623
第19名:Toy Story (1995) 类型:Adventure|Animation|Children|Comedy|Fantasy 5星好评次数:12268
第20名:"Fugitive The (1993)" 类型:Thriller 5星好评次数:12127
第21名:"Princess Bride The (1987)" 类型:Action|Adventure|Comedy|Fantasy|Romance 5星好评次数:12086
第22名:Seven (a.k.a. Se7en) (1995) 类型:Mystery|Thriller 5星好评次数:12021
第23名:"Godfather: Part II The (1974)" 类型:Crime|Drama 5星好评次数:11737
第24名:Monty Python and the Holy Grail (1975) 类型:Adventure|Comedy|Fantasy 5星好评次数:11512
第25名:Saving Private Ryan (1998) 类型:Action|Drama|War 5星好评次数:11274
第26名:Blade Runner (1982) 类型:Action|Sci-Fi|Thriller 5星好评次数:10787
第27名:One Flew Over the Cuckoo's Nest (1975) 类型:Drama 5星好评次数:10678
第28名:Apollo 13 (1995) 类型:Adventure|Drama|IMAX 5星好评次数:10546
第29名:Casablanca (1942) 类型:Drama|Romance 5星好评次数:10466
第30名:"Sixth Sense The (1999)" 类型:Drama|Horror|Mystery 5星好评次数:10329
第31名:"Lord of the Rings: The Two Towers The (2002)" 类型:Adventure|Fantasy 5星好评次数:10241
第32名:Jurassic Park (1993) 类型:Action|Adventure|Sci-Fi|Thriller 5星好评次数:10240
第33名:"Lord of the Rings: The Return of the King The (2003)" 类型:Action|Adventure|Drama|Fantasy 5星好评次数:10107
第34名:Twelve Monkeys (a.k.a. 12 Monkeys) (1995) 类型:Mystery|Sci-Fi|Thriller 5星好评次数:9628
第35名:Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1964) 类型:Comedy|War 5星好评次数:9546
第36名:Dances with Wolves (1990) 类型:Adventure|Drama|Western 5星好评次数:9167
第37名:Back to the Future (1985) 类型:Adventure|Comedy|Sci-Fi 5星好评次数:8963
第38名:Alien (1979) 类型:Horror|Sci-Fi 5星好评次数:8754
第39名:Goodfellas (1990) 类型:Crime|Drama 5星好评次数:8656
第40名:Memento (2000) 类型:Mystery|Thriller 5星好评次数:8490
第41名:2001: A Space Odyssey (1968) 类型:Adventure|Drama|Sci-Fi 5星好评次数:8272
第42名:"Lion King The (1994)" 类型:Adventure|Animation|Children|Drama|Musical|IMAX 5星好评次数:8104
第43名:Taxi Driver (1976) 类型:Crime|Drama|Thriller 5星好评次数:7915
第44名:"Amelie (Fabuleux destin d'Amélie Poulain Le) (2001)" 类型:Comedy|Romance 5星好评次数:7898
第45名:L.A. Confidential (1997) 类型:Crime|Film-Noir|Mystery|Thriller 5星好评次数:7744
第46名:Gladiator (2000) 类型:Action|Adventure|Drama 5星好评次数:7742
第47名:Reservoir Dogs (1992) 类型:Crime|Mystery|Thriller 5星好评次数:7619
第48名:Apocalypse Now (1979) 类型:Action|Drama|War 5星好评次数:7531
第49名:Babe (1995) 类型:Children|Drama 5星好评次数:7480
第50名:Aliens (1986) 类型:Action|Adventure|Horror|Sci-Fi 5星好评次数:7419
Python3.5 # -*- coding:utf8 -*- fileRatings=r"ratings.csv" fileMovies=r"movies.csv" N=50 movieDict={} #读取topN到字典 ratingFile=open(fileRatings) for line in ratingFile: #ratings.csv评分表格文件里边存储的数据格式 #userId,movieId,rating,timestamp #1,2,3.5,1112486027 #1,29,3.5,1112484676 movieId=line.strip().split(',')[1] movieScore=line.split(',')[2] # 因为存储的是字符串,所以要和字符串比较 if(movieScore=='5.0'): if(movieId in movieDict): movieDict[movieId]=movieDict[movieId]+1 else: movieDict[movieId]=1 ratingFile.close() ##按照5星好评人数倒排 topN=sorted(movieDict.items(),key=lambda asd:asd[1],reverse=True)[0:N] print(topN) #根据id获取电影名称 ranking=0; result=[] for eachId in topN: ranking=ranking+1 movieFile=open(fileMovies,'r',encoding='UTF-8') for line in movieFile: #movie.csv电影表格文件存储的数据格式 #movieId,title,genres #1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy #2,Jumanji (1995),Adventure|Children|Fantasy #3,Grumpier Old Men (1995),Comedy|Romance movieId=line.strip().split(',')[0] if(movieId==eachId[0]): if(len(line.strip().split(','))==4): movieName=line.strip().split(',')[1]+line.strip().split(',')[2] else: movieName=line.strip().split(',')[1] movieType=line.strip().split(',')[-1] # content='第%s名:'%(ranking),movieName,'类型:',movieType,'5星好评次数:',eachId[1] content='第%s名:'%(ranking)+str(movieName)+' 类型:'+movieType+' 5星好评次数:'+str(eachId[1]) # print(content) result.append(content) movieFile.close() break else: pass movieFile.close() #for each in result: # print(each) f=open('5星好评数最多的50部电影.txt', 'w') for i in result: print(i) f.write(i) f.write("\n") f.close()
相关文章推荐
- python学习笔记(一)
- python
- Python进程和线程
- 协同过滤算法python实现简单入门详细注释
- 使用python处理表格:python-texttable官方使用说明
- python (1)一个简单的爬虫: python 在windows下 创建文件夹并写入文件
- 找出假币
- python学习笔记-Day1
- Python学习之--文件操作
- 在Window平台下安装xgboost的Python版本
- Python求索之路2——深浅拷贝&函数
- python:编写登陆接口(day 1)
- zabbix使用微信报警python脚本
- Python 5.1 使用 __slots__
- Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level
- python 写excal
- python 字符编码
- python(1) - 变量小测试
- Python-strip()方法
- python 对象与变量