在上一篇中咱們跟隨大神的腳步,探討了學生的消費數據,消費數據對本次競賽預測來說很重要。本篇將探索寢室門禁、圖書借閱、圖書館門禁和學生成績等一些和學生學習相關的數據,來看看學生的品行如何,雖然資助金和獎學金的性質不太同樣,但咱們畢竟仍是想資助那些品學兼優的學生,而不是資助雖然家境很貧寒但不學無術的學生。函數
因此本篇探索的數據能夠比較好的反應出這些狀況。固然這裏面還隱藏了更好玩的話題,學霸去哪了?話很少說,let's go!學習
1、數據介紹spa
OpenFEA已經將上述數據存放到了OpenFEA在線試用環境的match/fund目錄下,具體在www.openfea.cn下載專區裏有介紹。.net
2、數據探索排序
(一) 寢室門禁數據分析索引
一、 加載寢室門禁數據字符串
由於原始數據沒有列名,因此加with (header=-1)爲各列自動填寫列名。字符串處理
加載寢室門禁數據數據分析
二、 修改字段名it
分別用id、time、isout表示學生編號、進出寢室時間、進出寢室。
三、 提取時間中的小時爲單獨的一列
四、 修改hour字段類型爲數字類型
五、 過濾出深夜出入寢室的人
六、 分組統計
按照id字段進行分組統計,統計每一個學生深夜進出寢室的次數。
七、 繪圖
圖形展現學生深夜出入寢室的數據。
2131多條記錄中,共涉及1297人,最多的34次,最少的1次,平均2.08次。元芳,你怎麼看呢?
(二) 圖書借閱數據分析
一、加載圖書借閱數據
因爲原始數據中有逗號,會在加載時被認爲是分隔符,因此咱們須要採用一個全文沒有出現的分割符`,將數據按一整行加載成爲DF表。同時因爲原始數據沒有列名,須要爲各列自動填寫列名,因此參數處需添加with (header=-1,sep="`") 。
二、修改字段名
三、字符串處理
經過lambda函數將raw字段中的」,」和,」替換爲$,而後按分隔符$分割爲幾個不一樣的list,具體表達式爲x: x.replace ('","','$').replace (',"','$').split("$")
四、分割列
將raw字段按照分隔符分割爲幾個不一樣的列。
此數據主要能夠分析借閱次數(本書),閱讀時間等,要想再深刻一些能夠分析閱讀的門類等,就不詳細介紹了。
(三) 圖書館門禁數據分析
一、 加載圖書館門禁數據
由於原始數據沒有列名,因此加with (header=-1)爲各列自動填寫列名。
二、修改字段名
分別用id、gate、time表示學生編號、門禁編號、時間。
三、 分組統計
按照id字段進行分組統計,統計每一個學生進出圖書館的次數。
四、 繪圖
圖形展現學生出入圖書館的數據。
最多的學生是1485次,最少的竟然兩年只去1次(慘不忍睹,都忙啥了?),平均是122次。去的次數最多的是否是學習成績最好呢,一會咱們驗證一下。
(四) 學生成績數據分析
一、 加載學生成績數據
由於原始數據沒有列名,因此加with (header=-1)爲各列自動填寫列名。
加載學生成績數據
二、 修改字段名
分別用id、college、score表示學生編號、學院編號、成績排名。
成績數據就這樣了,咱們來看一下圖書館次數最多的學生成績到底怎麼樣,是真的一份耕耘一份收穫,仍是在磨洋工裝樣子呢。
三、 對分組統計好的圖書館門禁數據進行重置索引
四、修改該數據的字段名,將index修改成id。
五、取去圖書館次數最多的100人
六、和成績數據進行關聯
七、設置id列爲索引
八、刪除college列
九、將數據按照進出圖書館次數進行排序
十、繪圖
黃線表明去圖書館的次數,紅線表明成績的排名,看完這個也很心塞啊!其中最好的才排學院30名,比比都是500名開外,都在圖書館幹嗎了呢?
好吧,再來看看學院的學霸們(前100名)到底去不去圖書館呢?
十一、取每一個學院的前100名
十二、和分組統計後的進出圖書館書架進行關聯
1三、設置id字段爲索引
1四、因爲count字段中有控制,因此咱們用數字0來填充空值
1五、刪除college列
1六、將數據按照成績和進出圖書館次數進行排序
1七、修改字段名,分別將id和count修改成「成績排名」和「去圖書館次數」
看這滿屏的0,不知你做何感想?禁不住要問學霸去哪了?這仍是之前的大學圖書館嗎?
1八、繪圖
紅色表明成績,黃色表明去圖書館的次數,去圖書館的平均線是105,看來"死讀書"是愈來愈沒市場了。^V^
有興趣的同窗,能夠將學霸的數據和深夜外出的數據碰一下,看看學霸到底去哪了。