编写者:姚相宇 审核者:田地
课程代码 |
308000012 |
课程名称 |
Python数据分析 |
适用专业 |
软件工程 |
先修课程 |
Python语言程序设计 |
实验性质 |
非独立设课 |
开设学期 |
第5学期 |
实验方式 |
上机操作 |
周数(学时) |
24 |
学 分 |
1学分 |
课程目标 |
(1)职业规范与道德修养:通过学习Python数据分析的理论和实践知识,培养学生的社会责任意识。使学生意识到数据的安全性将直接影响到社会的利益和公共利益,作为数据分析师应该担负起相应的责任,并以人民的利益为中心,始终坚守法律法规、伦理道德和职业操守。 (2)知识应用能力:能够运用Python有关数据分析的常用类库,对收集来的大量数据进行科学计算、统计分析和可视化绘图,从而提取出有用的信息,为科学、客观的决策提供积极性的帮助。 (3)问题分析能力:能够根据Python数据分析的结果,发现可能存在的问题,预测未来发展的趋势,提出改进的方案以规避风险。 (4)设计能力:能够设计符合企业或个人业务需求的数据分析方案,并能够在科学计算、统计分析和可视化绘图环节中体现创新意识,具备开发简单项目的能力。 (5)沟通能力:能够和企业或个人业务方进行有效的沟通,了解业务部门的工作流程、评价标准等,从而在解读数据时能够更贴近业务的思路,对其提出的建议和需求提供更好的数据分析方案。 (6)终身学习能力:能够跟踪大数据技术前沿,持续提高加工和应用数据的能力,不断拓展数据的应用方法,通过严谨的逻辑推理形成想要的决策支持和产品化的应用;提升职业素养,适应数据分析行业及相关职业发展。 |
教学要求 |
(1)能够理解数据分析技术体系和主要技术; (2)能够综合运用Python与数据分析基本知识对数据进行分析和可视化绘图; (3)掌握综合分析能力,解决专业相关实际问题; (4)通过讨论、实验实训、撰写报告等方式提升有效沟通; (5)理解并遵守数据分析领域的职业道德和规范。 |
一、实验的性质、目的和任务
1.实验性质
本课程的实验性质是非独立设置实验课,在实验实训室中采用上机操作进行。
2.主要目的
本课程培养学生使用Python技术进行数据分析的能力。Python数据分析的主要库有:NumPy、Pandas、Matplotlib、jieba。
3.主要任务
(1)熟悉Python数据分析环境搭建。
(2)掌握NumPy、Pandas、Matplotlib、jieba的主要函数作用和使用。
(3)应用NumPy、Pandas、Matplotlib、jieba库解决实际问题。
二、实验的基本内容和要求
序号 |
实验项目 |
天数 (学时数) |
实验属性 |
内容与要求 |
1 |
Python数据分析环境搭建 |
2 |
验证性 |
内容:(1)搭建Python数据分析环境;(2)使用相关开发工具完成简单程序的编写。 要求:(1)掌握Python数据分析环境搭建;(2)掌握开发工具的基本使用。 |
2 |
科学计算库Numpy |
4 |
验证性 |
内容:(1)创建矩阵;(2)索引与切片;(3)数组操作;(4)数组运算;(5)线性代数运算。 要求:(1)掌握NumPy数组的创建、操作;(2)掌握NumPy数组的索引和切片;(3)掌握NumPy数组的运算;(4)掌握NumPy数组的线性代数运算。 |
3 |
数据分析工具Pandas |
4 |
验证性 |
内容:(1)DataFrame的创建和行列操作;(2)DataFrame的高级索引;(3)Pandas数据运算;(4)统计函数;(5)层次划索引;(6)读写数据操作。 要求:(1)掌握DataFrame数据结构的创建和基本使用;(2)掌握读写外部数据的方法;(3)掌握DataFrame的高级索引函数;(4)掌握Pandas的数据运算,包括算术运算、函数映射、排序、迭代等运算,以及统计函数。 |
4 |
数据预处理 |
4 |
验证性 |
内容:(1)数据清洗:重复值清洗、缺失值清洗、检测异常值;(2)数据合并连接和重塑;(3)数据变换:虚拟变量、连续属性离散化、规范化。 要求:(1)掌握重复值、缺失值和异常值的检测与处理方法,能够对大量数据进行清洗;(2)掌握数据的合并、连接和重塑,能够根据计算、分析需要对数据结构进行处理; (3)掌握常用数据变换的方法,能够根据分析需要和数据特点对数据进行变换。 |
5 |
数据聚合和分组运算 |
2 |
验证性 |
内容:(1)通过groupby()方法将数据拆分成组;(2)数据聚合;(3)分组级运算。 要求:(1)掌握groupby()方法,可以按照不同的规则进行分组; (2)掌握聚合操作,会使用统计方法和聚合方法聚合数据; (3)掌握其他分组级运算方法的使用。 |
6 |
数据可视化 |
4 |
验证性 |
内容:(1)Matplotlib绘制图表;(2)Seaborn绘制统计图形;(3)Bokeh交互式可视化库。 要求:(1)掌握Matplotlib绘制图表的常用方法,主要包括创建画布、创建单个和多个子图、添加和选中子图、添加各类标签、绘制常见图表、本地保存图形;(2)了解seaborn的基本使用。 |
7 |
时间序列分析 |
2 |
设计性 |
内容:(1)时间序列的基本操作;(2)固定频率的时间序列;(3)时间周期及计算;(4)重采样;(5)数据统计-滑动窗口。 要求:(1)能够创建时间序列对象; (2)能够使用时间戳索引和切片选取子集;(3)学会创建固定频率的时间序列,能够调整时间序列的频率;(4)掌握Period(时期),转换时期的频率;(5)掌握重采样,实现降采样和升采样;(6)熟悉滑动窗口的使用。 |
8 |
文本数据分析 |
2 |
设计性 |
内容:(1)文本数据分析工具;(2)文本预处理;(3)文本情感分析;(4)文本相似度;(5)文本分类。 要求:(1)掌握安装和使用NLTK与jieba工具的方法;(2)掌握文本预处理的流程;(3)能够用NLTK分析情感倾向;(4)能够结合NLTK与余弦相似度实现相似度分析;(5)能够结合NLTK与算法对文本进行分类。 |
合计 |
24 |
|
三、主要仪器设备及材料
多媒体计算机、、课程相关软件(Pycharm、Windows)。
四、实验的考核办法
实验考核内容主要分为:实验过程、实验代码和实验报告三部分。实验过程考核主要考查学生课程出勤、实验态度、实验任务完成情况、实验过程中分析问题和解决问题的能力等方面;实验代码考核主要考查学生编写代码的规范性、正确性和代码质量等方面;实验报告考核主要是考查实验报告内容的完整性、正确性和规范性等方面。以上三部分分别占三分之一的分数。
五、指导书与参考资料
指导书:
《Python数据分析与应用(第2版)》,曾文权主编,人民邮电出版社,2022年8月第2版。
参考资料:
1、中国大学MOOC,Python数据分析
https://kaoyan.icourse163.org/course/terms/1461654457.htm?from=searchPage&outVendor=zw_mooc_pcssjg_&courseId=1460918167
2、bilibili,Python数据分析
https://www.bilibili.com/video/BV1K3411H7Pn/?spm_id_from=333.337.search-card.all.clic