《Python 语言程序设计》
综合项目报告
综合项目一
题目:IMDB 影评数据分析
姓名:
班级:
学号:
2023-2024 学年第二学期
一、实践目的
1.使用 numpy、matplotlib、pandas 对数据进行分析;
2. 并能对数据分析结果进行图形化展示,为使用者提供分析结果。
二、实践内容
对所给的数据进行分析并进行可视化,可以使用折线图、柱状图、饼图、散点图等适合
的图形化方式,要求分析内容包括:
1.统计 IMDB 评分各评分段的影片数。
2.各年票房变化的趋势。
3 上榜 IMDB 的次数最多的导演的前 5 位、前 10 位。
4.影片上榜的次数和影片的评分的相关性。
5.票房和 Mate 评分的相关性。
6.时长和 Mate 评分的相关性。
三、实践步骤
1. 算法描述
1. 首先,在 Movie 类的构造函数中,通过读取 CSV 文件,将电影数据加载到内存
中,并对缺失值进行填充。
2. count_rate_nums()方法用于统计 IMDB 评分各评分段的影片数。它首先创建一
个空的评分段列表和一个长度为 9 的评分计数列表。然后,通过遍历电影数据
中的每个评分,将其分到相应的评分段中,并增加对应评分段的计数。最后,
使用 pyecharts 库创建柱状图,横轴为评分段,纵轴为电影数量,展示评分段
电影数量的统计结果。
3. revenue_change()方法用于展示各年票房变化的趋势。它首先按年份对电影数
据进行分组,并计算每年的总票房。然后,使用 pyecharts 库创建折线图,横
轴为年份,纵轴为票房金额,展示年度票房统计结果。
4. max_director()方法用于展示上榜 IMDB 次数最多的导演的前 5 位和前 10 位。
它首先统计每个导演的电影数,并选择前 5 位和前 10 位导演。然后,使用
pyecharts 库创建折线图,横轴为导演名字,纵轴为拍摄电影数,展示前 5 位
和前 10 位导演的拍摄电影数统计结果。
5. revenue_mate_relation()方法用于展示票房和 Metascore 评分的相关性。它首
先筛选出票房和 Metascore 评分都不为 0 的电影数据,并计算它们的相关性。
然后,使用 pyecharts 库创建散点图和拟合曲线,横轴为 Metascore 评分,纵
轴为票房金额,展示票房和 Metascore 评分的相关性。
6. runtime_mate_relation()方法用于展示时长和 Metascore 评分的相关性。它首
先筛选出时长和 Metascore 评分都不为 0 的电影数据,并计算它们的相关性。
然后,使用 pyecharts 库创建散点图和拟合曲线,横轴为电影时长,纵轴为
Metascore 评分,展示时长和 Metascore 评分的相关性。
7. 最后,在 run()方法中,依次调用以上各个方法,并使用 pyecharts 库创建一
个可交互的页面,并将结果保存为 HTML 文件。
2. 代码描述