911 calls capstone project
Last updated
Last updated
Kaggle是一個數據建模和數據分析競賽平台。企業和研究者可在其上發布數據
有眾多策略可以用於解決幾乎所有預測建模的問題, 而研究者不可能在一開始就了解什麼方法對於特定問題是最為有效的, Kaggle的目標則是試圖通過眾包的形式來解決這一難題, 進而使數據科學成為一場運動
在資料頁面按下Download, 即可下載CSV檔
第二步記得將matplotlib的圖表直接嵌入到Notebook之中 (如果是使用jupyter notebook), 並匯入seaborn, matplotlib等視覺化套件
讀取資料並分析資料
先了解資料欄位的型別以及變數的型態, 由pd.info()可以知道這份資料有9個欄位: 有3筆屬於float, 1筆屬於int64, 5筆屬於object (oject可能是屬於Series)
可以確認前幾筆資料的內容長怎樣, 例如確認前10筆
取得資料的基本統計數值: 如數量, 平均值, 標準差, 四分位數等數值
列出出現次數前幾名的某欄位? 例如列出出現次數前5名的zipcode
value_counts會返回一個Series, 預設為由降冪排序, 想改成升冪排序也可以使用ascending=True
某欄位有多少個唯一值? 例如有多少個title
title的格式是Reason/Department, 例如以EMS: BACK PAINS/INJURY來說, Reason就是EMS, 使用lambda表達式及apply()來創造新的Reason欄位
911中最常被呼叫的幾個原因為何?
取得timeStamp中的hour
由於在DataFrame中所儲存的timeStamp Series為字串, 需要先轉成datetime
將timeStamp中的hour, month, dayofweek存在新欄位中
對pf['timeStamp']中的每一個元素來說, 直接呼叫hour, month, dayofweek就可以取得小時, 月, 日資料
將Day of Week從number轉為string
畫出Day of Week的countplot: x軸指定'Day of Week', hue指定'Reason'
用groupby找出個月份中每個欄位分別的數量
用seaborn來做每個月求救次數的線性回歸圖 (linear fit), 可以使用sns.lmplot
x軸資料指定為Month, y軸資料指定為twp, data指定為reset_index()後的資料
對每一種撥打求救電話原因, 畫出其每日的求救次數的曲線圖: 先對原始資料進行條件過濾再plot
Taffic的每日的求救次數曲線圖, 並加上title
Fire的每日的求救次數曲線圖, 並加上title
EMS的每日的求救次數曲線圖, 並加上title