Mathematica数据可视化:[28]从网页导入数据
1、观察网页中的表格, 刚开始我想尝试用 Import 函数, 将整个网页中冠军信息导入, 但是在整理的非常棘手, 最后用了另一种简便的多方法 ImportString[...., "稆糨孝汶;Table","FieldSeparators" -> { "\t","\n"} ], 见下面的输出结构.
![Mathematica数据可视化:[28]从网页导入数据](https://exp-picture.cdn.bcebos.com/340e4eb8b43ea8dbf2502386189c2cf7deb216b3.jpg)
2、查询每一行数据的长度是多少? 会发现所导入的数据并不是一个矩阵. 嗯, 一般来说矩阵是我们最喜欢的格式, 可以方便进行各种切片, 转置操作, 那这样, 我们先进行一个填充的操作, 整理的结果如下图所示:
![Mathematica数据可视化:[28]从网页导入数据](https://exp-picture.cdn.bcebos.com/f59dbe39131fceec61c3b0c179c4ec9958430bb3.jpg)
3、嗯, 现在矩阵的所有命令都可以作用在 data 上, 那我们取出部分的矩阵, 也就是每一年份, 冠军的名字和记录, 仔细观察数据, 还有整理的工作没完. 看看每一行的模式如何, 找出规律.
![Mathematica数据可视化:[28]从网页导入数据](https://exp-picture.cdn.bcebos.com/5c2a1ad149299a888709315167eeadbcbf2f7fb3.jpg)
4、发现了吗? 某些年份并不是 Integer 类型, 而是 String , 而某些记录则是乱码. Ok, 下面我们定义两个小函数 toYear 和 toRecord 来处理这两者情况, 并分别进行测试.
![Mathematica数据可视化:[28]从网页导入数据](https://exp-picture.cdn.bcebos.com/de9bfa3b3b860221864d4ae2d8bbf82065fb72b3.jpg)
5、好了, 最后让我们进行一个整理, 这里没有用替换操作, 而是用了 Cases 命令.
![Mathematica数据可视化:[28]从网页导入数据](https://exp-picture.cdn.bcebos.com/05e24be983aee8d78c303a5b6b781431deb666b3.jpg)