本节书摘来自华章出版社《python 与数据挖掘 》一书中的第2章,第2.6节,作者张良均 杨海宏 何子健 杨 征,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
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']