《基于Python语言的网络数据挖掘》实验指导书2014
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《基于Python语言的网络数据挖掘》实验
指导书
电子科技大学信息与软件工程学院
二○一四年6月
一、实验教学目的和要求:
实验目的:
本课程实验旨在加深学生对于网络大数据挖掘的理解,培养学生分析、设计、实现基于Python语言的网络数据挖掘算法,掌握科学的实验方法,为以后其他专业课的学习打下坚实的基础。该实验内容采用循序渐进的方式,从Python语言的基本语法入手,在加深学生对于Python语言熟悉的基础上突出数据挖掘应用。实验提供功能要求,学生自己确定设计方案和需要思考如何设计最优化的算法,并完成结果记录和分析,充分发挥学生的创造性和主动性。
实验要求:
了解并掌握Python语言的基本语法、能够使用Python读取或写入数据表、获取并分析网络文本数据、获取并处理图像数据等。
二、Python开发环境简介:
本课程实验使用的Python开发环境为Python IDLE,其用户界面图见图1所示。IDLE是开发python程序的基本集成开发环境,具备基本的IDE的功能,是Python教学的不错的选择。当安装好python以后,IDLE就自动安装好了,不需要另外去找。同时,使用Eclipse这个强大的框架时IDLE也可以非常方便的调试Python程序。其基本功能包括语法加亮、段落缩进、基本文本编辑、TABLE 键控制、调试程序。
打开Idle后出现一个增强的交互命令行解释器窗口(具有比基本的交互命令提示符更好的剪切、粘贴、回行等功能)。除此之外,还有一个针对Python的编辑器(无代码合并,但有语法标签高亮和代码自动完成功能)、类浏览器和调试器。菜单为TK“剥离”式,也就是点击顶部任意下拉菜单的虚线将会将该菜单提升到它自己的永久窗口中去。特别是"Edit"菜单,将其“靠”在桌面一角非常实用。Idle的调试器提供断点、步进和变量监视功能。
图1Python IDLE界面图
三、实验项目名称及目的要求:
实验项目1Python语言的基本语法及简单应用
1、实验目的
1)掌握Python语言的基本语法
2)掌握Python语言中创建模块的方法
3)了解Python语言中定义类及其使用方法
4)学习使用Python语言输出斐波那契数列的方法
5)学习使用Python语言实现删除一个list里面的重复元素的方法
2、实验内容
1)根据Python基本语法功能设计出实现输出斐波那契数列的方法,并比较不同实现方法的性能。
2)根据Python语言中的排序和循环功能,实现删除一个list里面的重复元素3、实验原理
1)设计输出斐波那契数列的Python程序:首先调用raw_input输入要打印的斐
波那契数列的长度,然后把斐波那契数列存储于一个序列当中,并逐个打印序列的元素。
此实验部分实现代码如下
#通过输入斐波那契数列的长度打印斐波那契数列
FibonacciUptoNumer=int(raw_input('Please input a Fibonacci Series up to Number:'))
n=FibonacciUptoNumer
fibs=[0,1]
for number in range(n):
fibs.append(fibs[-2]+fibs[-1])
2)设计删除一个list里面的重复元素程序:首先调用List.sort()对序列进行排序,然后调用last=List[-1]语句从后向前找出重复的元素,并逐个打印非重复的元素。
此实验部分实现代码如下
if List:
List.sort()
last=List[-1]
for i in range(len(List)-2,-1,-1):
if last==List[i]:del List[i]
else:last=List[i]
print List
4、实验步骤
1)设计输出斐波那契数列的Python程序
●分析实验要求
●逐个打印输出斐波那契数列的元素
●记录程序代码
●记录并分析实验结果
2)设计程序删除一个list里面的重复元素
●分析实验要求
●对list进行排序
●从后向前查找并删除list中的重复元素
●记录程序代码
●记录并分析实验结果
实验项目2使用Python读写Excel数据
1、实验目的
1)强化Python程序的设计和编程能力
2)学习两种读取的Excel数据的方法
3)学习写入Excel数据的方法
4)掌握如何读写其他格式数据的方法
5)掌握如何比较不同读写方法的运算性能
2、实验内容
1)用xlrd模块中的open_workbook实现打开Excel数据表,并设计使用索引和名称两种方法读取Excel数据,最终写入csv文件中。
2)用datetime模块中的datetime.now来计算两种不同的读取方法所用CPU时间,从而比较并分析不同算法的性能。
3、实验原理
1)Python语句读取Excel表数据时,首先要调用xlrd模块,然后使用语句data= xlrd.open_workbook('excelFile.xls')打开Excel表格。
当一个Excel表格中包含多个Sheet时,可以通过索引或者名称顺序获取某一个Sheet中的数据。使用的语句分别为table=data.sheet_by_index(0)和table= data.sheet_by_name(u'Sheet1')。
当获取某个Sheet的数据并存储在工作表table后,获取获取整行和整列的值(数组)的语句为table.row_values(i)和table.col_values(i),获取行数和列数的语句为nrows=table.nrows和ncols=table.ncols,循环获取行数据的语句为for i in range(nrows):print table.row_values(i)。
此实验部分实现代码如下
#根据索引获取Excel表格中的数据
def excel_table_byindex(file='abc.xls',colnameindex=0,by_index=0):
data=open_excel(file)
table=data.sheets()[by_index]
nrows=table.nrows#行数
colnames=table.row_values(colnameindex)#某一行数据
list=[]
for rownum in range(1,nrows):
row=table.row_values(rownum)