python上机实验报告.docx
《python上机实验报告.docx》由会员分享,可在线阅读,更多相关《python上机实验报告.docx(8页珍藏版)》请在冰点文库上搜索。
python上机实验报告
武汉大学计算机学院
本科生课程设计报告
【题目】
专业名称:
数学与应用数学
课程名称:
Python程序设计
************
学生学号:
*************
学生姓名:
***
二○二○年七月
个人型设计报告学术声明示例:
郑重声明
本人呈交的设计报告,是在指导老师的指导下,独立进行实验工作所取得的成果,所有数据、图片资料真实可靠。
尽我所知,除文中已经注明引用的内容外,本设计报告不包含他人享有著作权的内容。
对本设计报告做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本设计报告的知识产权归属于培养单位。
本人签名:
日期:
2020.7.10
【目录】
【一、实验目的和意义】
【二、实验内容及要求】
【三、实验设计思路】
【四、实验过程主要步骤】
【五、实验结果】
一、
实验目的和意义
练习numpy、scipy、Pandas、matplotlib扩展库的基本使用方法。
练习用Pandas进行简单的数据分析。
练习用matplotlib绘图的基本技巧。
二、实验内容及要求
1.数据分析和可视化:
分析IMDB电影数据中最受关注的3类电影
、收益最高的3类电影、参演电影类型最多的3位演员以及分析电影评分与票房的关系
2.文本文件分析和检索程序的设计与实现:
定义一个类AnalysisTxt,包括:
file_name实例属性,用来保存文件名称,并在__init__中设置DrawWordCloud(max_words)实例方法,该方法绘制文本文件词云。
GetWordCount(word)实例方法,返回指定词语出现次数。
定义一个test函数测试AnalysisTxt类的功能
三、实验设计思路
1.最受关注、收益最高的电影类型分别意味着将相同类型的电影的票房或票数相加,最后比较每种类型的票房或者票数总和;对于演员参演电影数量的分析,参演电影数量即等于演员名字在actors中出现的次数;分析评分与票房关系,考虑到不包含时间因素,因此直观上绘制评分—票房的二维散点图。
2.考虑到AnalysisTxt中绘制词云和返回次数都和具体文本相关联,因此都是设置实例方法,相当于定义两个函数,通过类进行包装。
考虑到返回指定词语的次数,可以通过字典的功能来实现。
四、实验过程及主要步骤
1.导入pandas和numpy,读取要分析的数据(注意数据类型)
构造一个列表pairs_r,其中每个元素是电影类型和他所对应的一部电影票房所构成的元组,再构造电影种类和电影票房一一配对的二维表格,应用groupby函数对电影种类一列操作(统计票房总和),返回电影种类—票房总和的表格;最后返回前三票房最高的电影类型
类似可得每种类型的投票总和:
下面构造一个列表pairs,其中每个元素是演员和他所参演电影对应类型所构成的元组,考虑到一行数据(一场电影)中有多种类型和多个演员,因此构造列表和上述方法有区别(多使用了一层循环)
但考虑到列表元素会出现重复现象,因此利用集合去重:
再构造演员和电影一一配对的二维表格,应用groupby函数对演员一列操作(统计演员名字出现次数),返回演员—出现次数(即参演数量)的表格
最后,显示参演数量前3多的三行数据
*但是考虑到参演种类数量为12的演员(运行结果)的可能不止三个,因此再使用注释的语句提取发现,参演数量为12的演员有且只有3个。
导入matplotlib.pyplot,以便绘图;分别提取revenue和metascore两列数据,绘制散点图
2.
定义类AnalysisTxt,和实例属性file_name
考虑到绘制词云和返回指定词语出现次数的函数都要应用切割的词组成的列表,因此定义一个返回列表属性wordList的函数:
读取txt文档,jieba的lcut返回词语元素构成的列表
绘制词云:
考虑到用户有必要自定义词语出现频率来选择词云所展示的词语,因此在wordcloud.WordCloud中修改参数max_words为自定义参量;generate生成词频,最后转换为图片并保存。
返回指定词语出现次数:
基于wordList,遍历wordList并记录次数,生成键值对为:
词语—次数的字典。
通过input,得到用户反馈的指定词语,最后由字典返回“键”所对应的“值”
Test:
定义test函数,运行实例,以检验AnalysisTxt的可行性
五、实验结果
1.
●参演电影数量前3的演员:
●票房前3的电影:
●最受关注前3的电影:
●评分—票房的散点图:
可以看出:
票房400(单位:
百万)以上的电影评分集中在55—85之间,;通过比较0—20区间和80—100区间,可以得出:
评分高的电影票房普遍高于评分低的电影。
综上,在极端的评分区间内,符合评分高票房高的规律,但是评分位于20—80之间,考虑样本数量等因素,评分和票房之间无显著关系。
2.
运行结果如下
绘制词云图片如下:
教师评语评分
评语:
评分:
评阅人:
年月日
(备注:
对该实验报告给予优点和不足的评价,并给出百分制评分。
)