前几天无意中看到有人想分析大学生成绩和星座的关系,感觉挺玄乎的,于是就统计了 20世纪 714位获得诺贝尔奖的大师,看看他们的星座是否呈现均匀分布。

由于最近在学习数据挖掘,所以本文按照简化了的数据挖掘的过程展开。依次是数据采集,数据清洗,统计分析,数据可视化四个步骤。

数据采集

数据采集的过程相对简单,在百度文库中找到了1901-2000年诺贝尔奖获得者资料统计。该文件包括所有诺贝尔奖获得者的生卒年月,由于没有找到具体的出生年月日,所以此次统计只统计出生月份。资料下载地址为:https://wenku.baidu.com/view/a647fc86551810a6f52486b3.html

数据清洗并统计

在上一个步骤中下面下载的资料是Excel表格,而我只需要统计所有诺贝尔奖获得者的出生日期。所以数据经历了如下的清洗过程:

  1. 将Excel表格中显示生卒年的列提取到一个单独的Excel表格中

  2. 将只含有生卒年的Excel表格另存为txt文件(方便处理),如图为txt中提取出的生卒年:

图一

  1. 用Java编写程序获取每一个生卒年的出生月份,并统计出每一个月份的个数,最后将统计的结果写入到txt文件中。统计结果如下图,从上到下分别是12个月的出生数据:

图二

数据可视化

利用刚学习的Octave(功能类似于Matlab的开源软件)进行图像的绘制,使统计结果更直观。下面是Octave的执行命令:

1
2
3
4
5
6
cd desktop
load monthCount.txt
bar(monthCount)
xlabel('month')
ylabel('count')
title('The distribution of Nobel Prize Winner birth')

命令执行完毕后柱状图就绘制了出来,如下:

图三

结论

从柱状图中我们可以看到除了二月出生的人数比较少(二月天数少),其他月份出生的人都在一个稳定的范围之内,没有特别突出的月份。

综上,星座和一个人是否优秀之间是没有玄学的!