天天看点

《python 与数据挖掘 》一 2.6 上机实验

1.实验目的

掌握python流程控制语句,合理运用循环进行程序设计。

掌握python数据结构,并能熟练运用进行程序设计。

掌握python的文件读写,并能编写读取数据集的程序。

2.实验内容

实验一

冒泡排序是一个经典的排序算法,任意给定一个python的列表slist ,要求使用python实现冒泡排序算法对slist进行排序。

输入样例:slist = [5,6,3,4,8,1,9,0,2]

输出样例:[0,1,2,3,4,5,6,7,8,9]

提示:for i in range(3)[::-1]: 这个语法表示从2到0倒叙遍历

实验二

设计一个节假日字典,键值为日期,格式如“160101”(表示2016年1月1日)。现在要求使用python编写一个2016年5月的节假日字典,当输入日期时,字典能返回一个值,1代表该日为节假日,0代表该日不是节假日。最后要求使用json模块将这个节假日字典序列化并保存下来。

实验三

进行txt文件数据读取,数据为uci数据库的疝气病症预测病马数据,数据见data/ horsecolic.txt。数据有多行,每行都有22个数据,前21个为马的病症数据,最后一个为该马的标签,判断其患病与否。实验的要求是将所有行的前21个数据保存到一个二维列表dataarr中,而标签数据单独保存在一个列表labelarr中。

展示前三行数据经程序处理后的格式:

dataarr:

[['2.000000', '1.000000', '38.500000', '66.000000', '28.000000', '3.000000', '3.000000', '0.000000', '2.000000', '5.000000', '4.000000', '4.000000', '0.000000', '0.000000', '0.000000', '3.000000', '5.000000', '45.000000', '8.400000', '0.000000', '0.000000'], ['1.000000', '1.000000', '39.200000', '88.000000', '20.000000', '0.000000', '0.000000', '4.000000', '1.000000', '3.000000', '4.000000', '2.000000', '0.000000', '0.000000', '0.000000', '4.000000', '2.000000', '50.000000', '85.000000', '2.000000', '2.000000'], ['2.000000', '1.000000', '38.300000', '40.000000', '24.000000', '1.000000', '1.000000', '3.000000', '1.000000', '3.000000', '3.000000', '1.000000', '0.000000', '0.000000', '0.000000', '1.000000', '1.000000', '33.000000', '6.700000', '0.000000', '0.000000']]

labelarr:

['0.000000', '0.000000', '1.000000']