分組計數
在前面的練習中,你先從資料表取出資料,再用 pandas 彙總成 dataframe 來繪圖。透過在 SQL 查詢中使用 COUNT 與 GROUP BY,我們可以直接從資料庫取得這些彙總數字。
hpd311calls 資料表有一個欄位 complaint_type,用來依照問題類型(例如暖氣或管線)分類通報紀錄。為了依問題類型繪製通話量圖表,你將撰寫一個 SQL 查詢,依通報類型來 COUNT 紀錄數。
pandas 已以 pd 匯入,而且 data.db 的資料庫引擎已建立為 engine。
本練習屬於課程
使用 pandas 的精實資料導入
練習說明
- 撰寫一個 SQL 查詢,從
hpd311calls取得complaint_type欄位,並計算所有紀錄的筆數,依complaint_type分組。 - 使用
read_sql()建立一個依問題類型計算通話次數的 dataframe,命名為calls_by_issue。 - 執行最後一段程式碼,繪製各種住屋問題的通話數量圖。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create query to get call counts by complaint_type
query = """
____ ____,
____(*)
FROM hpd311calls
____ ____;
"""
# Create dataframe of call counts by issue
calls_by_issue = pd.read_sql(____, ____)
# Graph the number of calls for each housing issue
calls_by_issue.plot.barh(x="complaint_type")
plt.show()