拿諾貝爾獎可以長壽?——從爬蟲到簡單數據分析

最近在看《魔鬼經濟學》,作者通過數據分析來揭示問題的真相,十分有趣。

剛好看見一篇講諾貝爾與長壽關係的

一 項 歷 時 50 年 的 調 查 研 究 發 現, 諾 貝 爾 化 學 獎 和 物 理 學 獎 獲 得 者 比 那 些 與 獎 項 失 之 交 臂 的 提 名 者 活 得 更 長。

不過只說了化學獎與物理學獎的,那其他獎項呢,是不是也是可以讓人長壽?

帶著好奇心,開始了我的數據分析之路。

獲取數據

Kaggle上就有現成的歷屆獲獎者數據集,時間從1901年到2016年

Nobel Laureates, 1901-Present | Kaggle

還差一個提名者的數據集,找遍全網發現只有諾貝爾獎的官網有提供資料庫搜索服務,看來只能自己寫爬蟲爬取數據了。

編寫爬蟲

資料庫地址 The Nomination Database

熟練地按下F12召喚開發者工具,然後開始搜索,再點開開發者工具的Network標籤,第一個結果就是我們要的

而紅圈標註的就是搜索引擎需要的參數。

搜索結果如下

經過一系列酷炫的正則操作,把Nominee提取出來,注意不是Nominator,Nominee是被提名者,而Nominator是提名者的意思。

爬蟲的具體流程這裡就不贅述了,知乎上有許多很好的爬蟲教程,我這裡只用了requests庫獲取網頁源代碼,然後用re正則表達式提取需要的信息。

清洗數據

  1. 處理缺失值,不少人沒有Birth DateDeath Date,將這些記錄直接清除
  2. 選擇時間,獲獎者是1901年-2016年的,而提名者是1901年-1967年的數據,其中醫學類的只有到1953年的,所以選擇統計的年份為1901年-1950年。
  3. 將不需要的特徵去除
  4. 處理異常值

數據清洗完就能進行分析了。

數據分析

計算了一下不同獎項50年內的獲獎者以及提名者的平均壽命,並繪製了圖表,結果驚人。

首先是,針對書上的結論,諾貝爾化學獎、物理學獎的獲得者比提名者活得更久,這與我實際的數據分析結果不一致,獲獎者的平均壽命比提名者要短暫,而且化學獎的獲得者平均壽命遠低於提名者的。撇開化學獎不說,除了文學獎,有點小差距,平均壽命基本上差不多。

然後把獲獎者和提名的混在一起,看壽命平均值,學醫的活得最久,研究化學的平均壽命是最短的,搞科研是及其辛苦和危險的,這裡向他們的科研精神致敬。

順帶說一下,1969年才開始有的諾貝爾經濟學獎。

總結與反思

這次通過自己的親手實踐,推翻了書上的結論,可見也不能盡信書。不過我還是推薦大家去看《魔鬼經濟學》這本書,它能給你一個全新的思考角度去看待生活中的問題。

如果你也對其中的一些數據感興趣,也可以像我一樣自己動手做做數據分析,沒準也會有些出乎意料的結果。


推薦閱讀:

QQ空間動態爬蟲
左手用R右手Python系列17——CSS表達式與網頁解析

TAG:数据分析 | 网页爬虫 | 数据可视化 |