《Python大数据应用基础》
教学大纲
课程名称: Python大数据应用基础
所属部门: 会计系
所属教研室: 统计与会计核算教研室
制定人: 胡明才
会计系
制定日期:2022年9月
课程名称: Python大数据应用基础 | 授课对象:经济类专业学生 | ||
课程代码: | 学分:4 | 学时:64 | |
前导课程:无 | 考核方式:考试 | ||
课程类型:(打钩,可多选)þ¨理工类课程 ¨¨人文类课程 其它分类:____________________________. |
通过本课程的学习,使得学生能够理解Python的编程模式,熟练运用Python列表、元组、字典、集合等基本数据类型以及相关列表推导式、切片等特性来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用Python读写文本文件与二进制文件,了解Python程序的调试方法,熟练运用Python编写面向对象程序,掌握Numpy Pandas进行数据预处理和数据分析的基本用法,掌握使用matplotlib进行数据可视化的用法,掌握Scikit-learn进行机器学习的基本用法。
在教学和学习过程中,应充分发挥Python语言的优势,从最简单、最直观的思路出发,尽快解决问题。不建议在底层语言细节上花费太多时间。
Python编程模式中非常重要的一条是代码简单化、问题简单化,同时应保证代码具有较强的可读性。在教学过程中,尽量避免在Python程序中带有其他编程语言的痕迹,要尽量从最简单的角度去思考和解决问题、实现自己的想法和思路,尽量多使用Python内置函数、标准库对象和合适的扩展库对象,保证代码的优雅、简洁,让代码更加Pythonic.
使用Python编程解决问题应充分借鉴和使用成熟的标准库和扩展库,尽量避免自主编写完整的业务逻辑,部分具体操作完全可以使用扩展库来实现,大幅度提高开发效率。例如如果需要进行排序则直接使用内置函数或方法进行排序,切不可再使用选择法排序、冒泡法排序或堆排序等排序算法来编写代码实现;计算最大公约数应习惯于使用math标准库的gcd()函数;对数据进行随机乱序应使用random标准库中的shuffle()函数:从给定数据集中随机选择元素应使用random标准库中的choice() 函数等等。
大数据模块部分的理论知识可以不深入讲解,同时可以增加这部分内容的实践课程。
教学重点:大数据技术支撑、发展历程和国内外发展现状,主要突出我国已将大数据作为基础战略资源,大数据发展前景光明。此处建议融入思政内容。
教学重点:什么是大数据以及大数据的四个特点:数据量大(Volume)、数据类型繁多(Variety)、 处理速度快(Velocity) 和价值密度低(Valuc)。
教学重点:大数据在各个领域的应用情况,此处可以融入思政内容。
教学重点大数据技术主要涉及数据采集、数据存储和管理、数据处理和分析、数据安全和隐私保护等几个方面。
教学重点:通过了解大数据分析的现状,可知目前大数据分析人才的紧缺。大数据分析的步骤是获取数据后进行机器学习。
教学重点: Python 的包装能力、可组合性、可嵌入性都很好,可以把各种复杂性包装在Python 模块里,利用接口就可以完成复杂的数据处理操作。
教学重点Python是粘合剂,面向生产的,且具有强大的数据分析第三方库。
教学重点: Python的发展历史与特点,下载、 安装和使用Python,及下载、安装和使用集成开发环境Anaconda3.
教学重点数字类型包括布尔型、整型、浮点型和复数等字符串界定方法。数字和字符串的简单使用。
教学重点不需要事先声明变量名及其类型,变量命名规范,数字大小无限制。
教学重点同一个运算有不同含义,关系运算符和逻辑运算符的惰性求值特点。
教学重点:很多函数有基本用法和高级用法,注意这些函数的可选参数:理解函数式编程的模式。
教学难点:函数式编程.
教学重点:顺序结构的语句主要有赋值语句、输入语句、输出语句等。
教学重点:单分支选择结构、双分支选择结构、多分支选择结构、选择结构的嵌套,条件表达式后必须有冒号且换行缩进后开始写代码块,elif关键字表达else if的意思。
教学难点:缩进体现代码的业务逻辑。
教学重点for循环、while循环、range对象在循环中的使用,成员测试符in与序列解包在循环语句中的使用,带有else子句的循环结构,编写多层嵌套的循环语句时应尽量减少内循环中的计算: break 与continue语句的作用。
教学难点:带有else子句的循环结构,循环代码的优化。
教学重点:列表对象的创建与删除,其他类型到列表的转换,内置range()、使用 运算符、append()方法、extend()方法、insert()方法为列表增加元素,使用del命令、pop()方法、remove()方法删除列表元素,使用下标访问列表元素,使用index()方法获取列表元素下标,使用count()方法获取列表元素出现次数,有序序列的双向索引,使用成员资格判断运算符in判断列表中是否存在指定元素,使用切片访问、修改、删除、增加列表元素,列表排序方法sort()与内置排序函数sorted()以及列表逆序方法reverse()与内置逆序函数reversed(), len()、max()、min()、sum()、zip()、enumerate()等内置函数对列表对象的操作,使用列表推导式快速生成列表。
教学难点:自动内存管理,切片操作,列表推导式,排序方法的key参数。
教学重点:元组对象的创建与删除,其他类型到元组的转换,元组与列表的区别,生成器推导式。
教学难点:元组与列表的区别,元组的不可变本质,生成器表达式与列表推导式的效率比较。
教学重点:字典对象的创建与删除,字典元素、键、值的访问方法,字典元素的添加与修改,使用字典对象的get)方法获取指定键对应的值,有序字典对象的使用,使用字典来计数,有序字典。
教学难点:字典对象的get()方法,访问字典对象时可以使用键作为下标,字典对象的键必须为不可变对象。
教学重点:集合对象的创建与删除,其他类型数据到集合的转换,使用add()方法为集合增加元素,使用pop()和remove()方法删除元素,使用clear()方法清空集合,集合的并、交、差以及对称差等运算,使用集合来提取序列中的唯一元素。
教学难点:Python运算符的多重含义。
教学重点:函数的功能和分类。
教学重点: Python函数和匿名函数的定义形式,def关键字,不需要声明函数的参数类型和返回值类型,括号不可以省略,冒号必须有。函数嵌套定义。函数递归调用。
教学重点:形参与实参的概念,在函数内部直接修改形参不会影响实参。位置参数、默认值参数、关键参数和长度可变参数的用法。传递参数时的序列解包。
教学重点:在函数内如果只引用某个变量的值而没有为其赋新值,该变量为(隐式的)全局变量,如果在函数内任意位置有为变量赋新值的操作,该变量即被认为是(隐式的原局部变量,除非在函数内显式地用关键字global进行声明。
教学重点:直接递归调用和间接递归调用。
教学难点:一定要有退出递归的条件。
教学重点:模块导入、模块位置搜索和查看模块内容。
教学难点:自定义模块方法。
略
教学重点:什么是类和对象,面向对象程序设计的特点。
教学重点: Python 类的定义,class 关键字,创建对象的方法,通过对象访问成员的方法。私有成员与公有成员,数据成员与成员方法,类方法与静态方法,属性的定义与使用,混入机制。
教学重点:继承的作用与Python实现。
教学重点:多态的作用与Python实现。
教学重点:构造函数__init _(), 析构函数_del _(),_ add_()、_ mul_ ()、_pow _()及其他Python类特殊方法与运算符的对应关系。
教学难点:特殊方法与运算符及内置函数的对应关系。
教学重点:文本文件与二进制文件的概念与访问方法的区别,文件对象,Open()方法以及flush()、 close()、 read()、 readline()、 readlines()、 tell()、 write()、Writelines()等常用方法,上下文管理语句with的优点与用法。
教学难点:文件操作三步骤:打开文件、操作文件、关闭文件。
csv、json等常见类型文件的操作。
教学重点:掌握概念包括:数据的集中或离散趋势、数据缺失情况、噪声及离群点等。
教学重点:数据的完整性、一致性、准确性和及时性。
教学重点:对缺失值、噪声数据、不一致数据、异常数据进行处理。
教学重点:包括特征选择、特征构建和特征提取。
教学重点了解关系模式、分类、聚类、回归的算法特点即可,不要求理解算法实现过程。
教学重点: Numpy主要能解决什么问题。
教学重点: ndarray的内部结构和切片。
教学重点:数据类型和数据类型对象的创建方法。
教学重点:数组的属性、秩和维度的计算方法。
教学难点是轴的转置。
教学重点:创建空数组、全0和全1数组。np.arange可设置起始值、终止值和步长。
教学重点: ndarray 数组可以基于0-n的下标进行索引,切片对象可以通过内置的slice函数,并设置start, stop及step参数进行,从原数组中切割出一个新数组。
教学重点:修改数组形状和数组元素的添加与删除。
略
教学重点:利用Matplotlib实现数据可视化。包括:中文文本的显示,设置图例。折线图、柱状图的绘制。柱状图绘制方法,内部填充、边线属性的设置。频率分布图的绘制方法,以及同一图中绘制多张图。
教学重点:一维数组Series概念和创建方法、索引和基本技巧。
教学重点:二维数组DataFrame概念和创建方法、索引和基本技巧。
教学重点:Pandas时间模块datetime主要是能够获得当前日期,时间等信息,
它包含的函数主要有datetime.date(), datetime. Datetime()、datetime.timedelta()和
parser.parse。
教学重点:时刻数据(Timestamp)代表时间点,通常用于金融领域数据分析。Pandas时刻数据需要掌握两个函数: pandas.Timestamp()和 pd.to_datetime()。
教学重点:利用DatetimeIndex ()生成多个时间戳,利用date_range()函数对时间戳进行索引。
教学重点: Period 函数用于创建Pandas的时期,时间表示在时间轴上的长度。与时间戳不同,时间戳是时间轴的位置。
TimeSeries是Series的一个子类,所以Series 索引及数据选取方面的方法基本一样。同时TimeSeries通过时间序列有更便捷的方法做索引和切片。
教学重点:降采样、升采样和采样时间点变化。
教学重点:常用数学、统计方法包括计数、最大值、最小值、求和、均值、中位数和样本峰度等。
教学重点:Pandas针对文本字符串配备的一套方法,使其易于对数组的每个元素进行操作。
教学重点: merge函数可以实现全功能的,高性能内存中连接操作,与SQL等关系数据库非常相似。
教学重点: concat 连接是沿轴执行数据连接操作。
教学重点: duplicated()函数可以对数组进行重复数据去除,而replace()函数则可以对数组中的指定数据进行替换。
教学重点:利用Pandas中的groupby功能进行数据分组。
教学重点:利用read_table ()函数读取表格,利用read_csv ()读取csv文,还可以利用read_excel ()函数读取excel文件。
教学重点:删除记录、数据插补和不处理三种方法。
教学重点:正态分布3σ原则和箱型图分析。
教学重点: 0-1标准化和Z-score标准化。
教学重点:等宽法和等频法。
教学重点:掌握json数据导入和数据预处理的完整流程。
教学重点:常用的模块有分类、回归、聚类和模型选择等方法。
教学重点:机器学习模块选择,模型构建和可视化模型结果。
教学重点: python的Pandas进行数据分析,包括数据框的增删查改、批量读取数据、变量类型的转换、数据框的重塑与合并。
教学重点: Scikit-learn进行数据分析,包括逻辑回归,特征工程选取,利用测试集和训练集构建模型等。
周 | 教学模块 | 内容安排 |
1 | Python编程入门 | 计算机科学素养(编程基础)、Python安装 |
2 | 数据与表达1——基本数据结构 | |
3 | 数据与表达2——组合数据结构:列表、元组、字典 | |
4 | 顺序结构、选择结构、循环结构 | |
5 | 函数与代码复用 | |
6 | 类和面向对象 | |
7 | 文件输入输出 | |
大数据方向 | ||
8 | AI模块 | Numpy库的应用和Pandas数据采集与分析 |
9 | 数据预处理 | |
10 | 机器学习 | |
11 | 综合案例讲解 | |
12 | 总结、复习 |