下面是小编为大家整理的Python金融数据挖掘与分析实战课程教案教学教案【优秀范文】,供大家参考。
1
Python 金融数据分析与挖掘实战课程教案
广西民族师范学院
xxx
序号 教学内容 理论 教学 学时 实验学时 实验(实践)内容 课外实验 1 第 1 章 Python 基本 3 0 本章练习
2 第 2 章 科学计算包 Numpy 5 2 本章练习
3 第 3 章 数据处理包 Pandas 5 2 本章练习
4 第 4 章 数据可视化包 Matplotlib 5 2 本章练习
5 第 5 章 机器学习包 Scikit-learn 16 8 本章练习
6 第 6 章 关联规则基本知识 5 2 本章练习
7 第 7 章 基本案例 15 4 本章练习 综合实训 1 8 第 8 章 上市公司综合评价 9 4 本章练习 综合实训 2 9 第 9 章 股票价格涨跌趋势预测 12 4 本章练习 综合实训 3 10 第 10 章 股票价格形态聚类与收益分析 12 4 本章练习 综合实训 4 11 第 11 章
行业联动与轮动分析 12 4 本章练习 综合实训 5 合计
102 42
第 1 章 Python 基本 授课方式:机房教学,讲授+实验, 教学重点:Python 发行版 Anaconda 地安装与启动,Spyder 集成开发工具地使用与 Python 扩展包地安装方法;Python 基本语法,数据类型,数据结构与主要方法;循环,条件语句,函数定义与应用。
教学难点:数据结构与主要方法,循环语句,条件语句 实验题目:本章课后练习 教学内容:
1.1
Python 概述(简要略讲)
1.2 1.2
Python 安装与启动(简要介绍,然后让学生自己动手搭建环境)
2 1.2.1
Python 安装 1.2.2
Python 启动与界面认识(教师边演示边讲解)
1.3
Python 扩展包安装 1.3.1 在线安装(边演示边讲解)
1.3.2 离线安装(学生自学)
1.4
Python 基本数据类型与数据结构 Python 基本数据类型包含数值,字符串,而列表,元组,集合,字典称为数据容器或者数据结构。
1.4.1
数值地定义 数值在现实应用中最为广泛,常见地数值包含整型数据与浮点型数据。整型数据常用来表示整数,如 0,1,2,3,1002…;浮点型数据用来表示实数,如 1.01,1.2,1.3。布尔型数据可以看成是一种特殊地整型,只有 True 与 False,分别对应整型地 1 与 0。示例代码如下:
n1=2
#整型
n2=1.3
#浮点型
n3=float(2)
#转换为浮点型
t=True
#布尔真
f=False
#布尔假
n4=t==1
n5=f==0
1.4.2
字符串地定义 字符串主要用来表示文本数据类型,字符串中地字符可以是数值,ASCII 字符,各种符号。字符串地定义可以用一对单引号或者一对三引号括起来。示例代码如下:
s1="1234"
s2="""hello word!"""
s3="I Like python"
1.4.3
列表地定义 列表作为 Python 中地一种数据结构,可以存放不同类型地数据,用中括号括起来进行定义。示例代码如下:
L1=[1,2,3,4,5,6]
L2=[1,2,"HE",3,5]
L3=["KJ","CK","HELLO"]
1.4.4
元组地定义 元组与列表类似,也是 Python 中一种常用地数据结构,不同之处在于元组中地元素不能修改,元组采用圆括号括起来进行定义。示例代码如下:
t1=(1,2,3,4,6)
3 t2=(1,2,"kl")
t3=("h1","h2","h3")
1.4.5
集合地定义 集合也是 Python 中地数据结构,它是一种不重复元素地序列,用大括号括起来进行定义。示例代码如下:
J1={1,"h",2,3,9}
J2={1,"h",2,3,9,2}
J3={"KR","LY","SE"}
J4={"KR","LY","SE","SE"}
print(J1)
print(J2)
print(J3)
print(J4)
执行结果如下:
{1, 2, 3, "h", 9}
{1, 2, 3, "h", 9}
{"LY", "SE", "KR"}
{"LY", "SE", "KR"}
从执行结果可以看出,集合保持了元素地唯一性,对于重复地元素只取一个。
1.4.6
字典地定义 字典是 Python 中一种按键值定义地数据结构,其中键必须唯一,但值不必。字典用大括号括起来进行定义。字典中地元素由键与值两部分组成,键在前值在后,键与值之间用冒号(:)来区分,元素之间用逗号隔开。键可以是数值,字符,值可以是数值,字符或者其它 Python 数据结构(比如列表,元组)。示例代码如下:
d1={1:"h",2:[1,2,"k"],3:9}
d2={"a":2,"b":"ky"}
d3={"q1":[90,100],"k2":"kkk"}
1.5
Python 相关地公有方法 Python 地公有方法是指 Python 中大部分地数据结构均可以通用地一种数据操作方法。下面主要介绍索引,切片,求长度,统计,成员身份确认,变量删除常用地数据操作方法 1.5.1
索引 索引即通过下标位置定位来访问指定数据类型变量地值,示例代码如下:
s3="I Like python"
L1=[1,2,3,4,5,6]
t2=(1,2,"kl")
d1={1:"h",2:[1,2,"k"],3:9}
d3={"q1":[90,100],"k2":"kkk"}
print(s3[0],s3[1],L1[0],t2[2],d1[3],d3["k2"])
print("-"*40)
执行结果如下:
I
1 kl 9 kkk
----------------------------------------
事实上,字符串,列表,元组均可以通过其下标地位置访问元素,注意下标从 0 开始。字典则是通过其键值来访问元素。print("-"*40)表示输出 40 个“-”符号,注意 print 函数输出内容要用小括号括起来。需求说明地是,集合类型数据结构,不支持索引访问。
4 1.5.2
切片 切片是指定索引位置,对数据实现分块访问或提取地一种数据操作方式,在数据处理中具有广泛地应用。下面简单介绍字符串,列表,元组地切片方法,示例代码如下:
s2="""hello word!"""
L2=[1,2,"HE",3,5]
t2=(1,2,"kl")
s21=s2[0:]
s22=s2[0:4]
s23=s2[:]
s24=s2[1:6:2]
L21=L2[1:3]
L22=L2[2:]
L23=L2[:]
t21=t2[0:2]
t22=t2[:]
print(s21)
print(s22)
print(s23)
print(s24)
print(L21)
print(L22)
print(L23)
print(t21)
print(t22)
执行结果如下:
hello word!
hell
hello word!
el
[2, "HE"]
["HE", 3, 5]
[1, 2, "HE", 3, 5]
(1, 2)
(1, 2, "kl")
字符串地切片,针对字符串中地每个字符进行操作;列表,元组地切片,则是针对其中地元素。切片地方式为:开始索引位置→结束索引位置+1。注意开始索引从 0 开始,如果省掉开始索引位置或结束索引位置,则默认为 0 或者最后地索引位置。
1.5.3
长度 字符串地长度为字符串中所有字符地个数,空格也算一个字符;列表,元组,集合地长度,即为元素地个数;字典地长度为键地个数。求变量数据地长度在程序编写中经常用到,Python 中提供了一个函数 len()来实现,示例代码如下:
s3="I Like python"
L1=[1,2,3,4,5,6]
t2=(1,2,"kl")
J2={1,"h",2,3,9}
d1={1:"h",2:[1,2,"k"],3:9}
k1=len(s3)
k2=len(L1)
k3=len(t2)
k4=len(J2)
k5=len(d1)
5 1.5.4
统计 统计包含求最大值,最小值,求与,可以是列表,元组,字符串,示例代码如下:
L1=[1,2,3,4,5,6]
t1=(1,2,3,4,6)
s2="""hello word!"""
m1=max(L1)
m2=max(t1)
m3=min(L1)
m4=sum(t1)
m5=max(s2)
1.5.5
成员身份 成员身份地确认,使用 in 命令,用来判断某个元素是否属于指定地数据结构变量。示例代码如下:
L1=[1,2,3,4,5,6]
t1=(1,2,3,4,6)
s2="""hello word!"""
J2={1,"h",2,3,9,"SE"}
z1="I" in s2
z2="kj" in L1
z3=2 in t1
z4="SE" in J2
1.5.6
变量删除 程序运行过程中,存在大量地中间变量,这些变量一来占用空间,二来影响可读性,可以使用 del 命令删除不必要地中间变量。示例代码如下:
a=[1,2,3,4];
b="srt"
c={1:4,2:7,3:8,4:9}
del a,b
执行该程序代码,删除了 a,b 两个变量,而变量 c 保留。
1.6
列表,元组,字符串与字典方法 1.6.1
列表方法 这里主要介绍列表中一些常用地方法,包含空列表地产生,向列表中添加元素,列表扩展,列表中元素地统计,返回列表中地 index 下标,删除列表元素,对列表进行排序。为方便说明相关方法地应用,下面定义几个列表,示例代码如下:
L1=[1,2,3,4,5,6]
L2=[1,2,"HE",3,5]
L3=["KJ","CK","HELLO"]
L4=[1,4,2,3,8,4,7]
1.创建空列表:list() 在 Python 中,用 list 函数创建空地列表,也可以用“[]”来定义。在程序编写过程中,预定义变量是常见地,其中列表就是其中一种常见地方式。示例代码如下:
L=list()
#产生空列表 L
L=[]
#也可以用[]来产生空列表
6 2.添加元素:append() 可以利用 append 函数依次向列表中添加元素。示例代码如下:
L1.append("H")
#向 L1 列表增加元素<H>
print(L1)
for t in L2:
#利用循环,将 L2 中地元素,依次顺序添加到前面新建地空列表 L 中
L.append(t)
print(L)
执行结果如下:
[1, 2, 3, 4, 5, 6, "H"]
[1, 2, "HE", 3, 5]
3.扩展列表:extend() 与 append 函数不同,extend 函数在列表后面添加整个列表。示例代码如下:
L1.extend(L2)
# 在前面地 L1 基本上,添加整个 L2 至其后面
print(L1)
执行结果如下:
[1, 2, 3, 4, 5, 6, "H", 1, 2, "HE", 3, 5]
4.元素计数:count() 可以利用 count 函数统计列表中某个元素出现地次数,示例代码如下:
print("元素 2 出现地次数为:",L1.count(2))
执行结果如下:
元素 2 出现地次数为:2
需求说明地是,这里地 L1 是在添加了 L2 列表之后更新地列表。
5.返回下标:index() 在列表中,可以通过 index 函数返回元素地下标。示例代码如下:
print("H 地索引下标为:",L1.index("H"))
执行结果如下:
H 地索引下标为:6
6.删除元素:remove() 在列表中,可以通过 remove 函数删除某个元素。示例代码如下:
L1.remove("HE") #删除 HE 元素
print(L1)
执行结果如下:
[1, 2, 3, 4, 5, 6, "H", 1, 2, 3, 5]
7.元素排序:sort() 可以通过 sort 函数对列表元素进行排序,按升序排序。示例代码如下:
L4.sort()
print(L4)
执行结果如下:
[1, 2, 3, 4, 4, 7, 8]
特别说明地是,列表中地元素可以修改,但是元组中地元素不能修改。示例代码如下:
L4[2]=10
print(L4)
执行结果如下:
[1, 2, 10, 4, 4, 7, 8]
7 而以下示例程序则会报错:
t=(1,2,3,4)
t[2]=10
#报错
1.6.2
元组方法 元组作为 Python 地一种数据结构,与列表有相似之处,其最大地区别是列表地元素可以修改,而元组中地元素不能修改。本节主要介绍元组中几个常用地方法,包含空元组地产生,元组元素统计,返回元组元素 index 下标与元组地连接。下面通过定义两个元组 T1 与 T2,对元组中地常用方法进行说明。
T1=(1,2,2,4,5)
T2=("H2",3,"KL")
1. 创建空元组:tuple() 通过 tuple 函数,可以创建空元组。示例代码如下:
t1=tuple()
#产生空元组
t=()
#产生空元组
2.元素计数:count() 通过 count 函数,可以统计元组中某个元素出现地次数。示例代码如下:
print("元素 2 出现地次数为:",T1.count(2))
执行结果如下:
元素 2 出现地次数为:2
3.返回下标:index() 与列表类似,通过 index 函数,可以返回元组某个元素地索引下标。示例代码如下:
print("KL 地下标索引为:",T2.index("KL"))
执行结果如下:
KL 地下标索引为:2
4.元组连接 两个元组地连接,可以直接用“+”号来完成。示例代码如下:
T3=T1+T2
print(T3)
执行结果如下:
(1, 2, 2, 4, 5, "H2", 3, "KL")
1.6.3
字符串方法 字符串作为基本地数据类型,也可以看作一种特殊地数据结构。对字符串地操作,是数据处理,编程过程中必不可少地环节。下面介绍几种常见地字符串处理方法,包含空字符串地产生,字符串地查找,字符串地替换,字符串地连接与比较。
1.创建空字符串:str() 通过 str 函数,可以创建空地字符串。示例代码如下:
S=str()
#产生空字符串
2.查找子串:find() 用 find 函数查找子串出现地开始索引位置,如果没有找到则返回-1。示例代码如下:
st="hello word!"
z1=st.find("he",0,len(st)) #返回包含子串地开始索引位置,否则-1
8 z2=st.find("he",1,len(st))
print(z1,z2)
执行结果为:
0 -1
其中 find 函数第一个参数为需求查找地子串,第二个参数是待查字符串指定地开始位置,第三个参数为指定待查字符串地长度。
3.替换子串:replace() 通过 replace 函数,可以替换指定地子串。示例代码如下:
stt=st.replace("or","kl") #原来地 st 不变
print(stt)
print(st)
执行结果如下:
hello wkld!
hello word!
其中 replace 函数第一参数为被替换子串,第二个参数为替换子串。
4.字符串连接 字符串地连接,可以通过“+”来实现。示例代码如下:
st1="joh"
st2=st1+" "+st
print(st2)
执行结果如下:
joh hello word!
5.字符串比较 字符串地比较也很简单,可以直接通过号或不号“==”,“!=”来进行判断。示例代码如下:
str1="jo"
str2="qb"
str3="qb"
s1=str1!=str2
s2=str2==str3
print(s1,s2)
执行结果如下:
True True
1.6.4
字典方法 字典作为 Python 中非常重要地一种数据结构,在编程中应用极为广泛,特别是与第 3 章中地数据框进行灵活转换并实现数据处理是一种非常重要地编程技能。本小节主要介绍字典中几个常用地方法,包含字典地定义,字典取值,字典赋值。
1.创建字典:dict() 通过 dict 函数,可以创建字典,也可以将嵌套列表转换为字典。示例代码如下:
d=dict()
#产生空字典
D={}
#产生空字典
list1=[("a","ok"),("1","lk"),("001","lk")]
#嵌套元素为元组
list2=[["a","ok"],["b","lk"],[3,"lk"]]
#嵌套元素为列表
d1=dict(list1)
d2=dict(list2)
print("d=:",d)
9 print("D=: ",D)
print("d1=: ",d1)
print("d2=: "...