TQC+ 網頁資料擷取與分析_Python_305_登革熱病例統計

文、意如

1. 題目說明:

請開啟PYD03.py檔案,依下列題意進行作答,使輸出值符合題意要求。作答完成請另存新檔為PYA03.py再進行評分。

2. 設計說明:

請撰寫一程式,讀取登革熱近12個月每日確定病例統計read.csv,接著依序輸出下列項目:
a. 以遞減順序顯示居住縣市的病例人數
b. 顯示感染病例人數最多的5個國家,並按遞減順序顯示
c. 顯示台北市各區病例人數
d. 顯示台北市最近病例的日期

3. 輸入輸出:

輸入說明

讀取read.csv

輸出說明

分別輸出下列四段資料:
a. 以遞減順序顯示居住縣市的病例人數
b. 顯示感染病例人數最多的5個國家,並按遞減順序顯示
c. 顯示台北市各區病例人數
d. 顯示台北市最近病例的日期


範例輸入

範例輸出

居住縣市
台北市    76
新北市    60
台中市    43
桃園市    43
高雄市    42
台南市    20
彰化縣    14
新竹市     8
屏東縣     7
南投縣     6
新竹縣     5
苗栗縣     5
嘉義縣     4
雲林縣     3
宜蘭縣     2
基隆市     2
台東縣     2
澎湖縣     2
嘉義市     1
Name: 居住縣市, dtype: int64
感染國家
越南      94
菲律賓     50
泰國      44
馬來西亞    33
緬甸      29
Name: 感染國家, dtype: int64
居住鄉鎮
中山區     8
中正區    10
信義區     7
內湖區    10
北投區     1
南港區     7
士林區     7
大同區     5
大安區    10
文山區     2
松山區     3
萬華區     6
Name: 居住鄉鎮, dtype: int64
發病日: 2018/06/25

題目提示:

檔案連結:read.csv (請另存檔案,必須與程式同一資料夾)

# 載入 pandas 模組縮寫為 pd
import ___ as ___

# 讀取csv檔
df1 = pd.read_csv(___, encoding="utf-8", sep=",", header=0)

# 居住縣市病例人數,並按遞減順序顯示
df_county = df1.groupby("居住縣市")["___"].___
print(df_county.sort_values(___=___))
# 顯示感染病例人數最多的5個國家,並按遞減順序顯示
df_country = df1.groupby("感染國家")["___"].___
print(df_country.sort_values(___=___).___)
# 台北市各區病例人數
df_taipei = df1[df1.居住縣市 == "___"]
print(df_taipei.groupby("居住鄉鎮")["___"].___)
# 台北市最近病例的日期
print("發病日: " + df_taipei.___.___())

參考解答

import pandas as pd  # 載入Pandas程式庫

# 讀取CSV檔案並設定編碼為utf-8,分隔符號為逗號,並使用第一行作為列標籤(header=0)
df1 = pd.read_csv('read.csv', encoding="utf-8", sep=",", header=0)

# 以"居住縣市"為分組依據,計算每個縣市的記錄數,並按數量降序排列
df_county = df1.groupby("居住縣市")["居住縣市"].count()
print(df_county.sort_values(ascending=False))

# 以"感染國家"為分組依據,計算每個國家的記錄數,並按數量降序排列,並列印前五個
df_country = df1.groupby("感染國家")["感染國家"].count()
print(df_country.sort_values(ascending=False).head(5))

# 選擇"居住縣市"為"台北市"的記錄
df_taipei = df1[df1.居住縣市 == "台北市"]

# 以"居住鄉鎮"為分組依據,計算"台北市"內每個鄉鎮的記錄數
print(df_taipei.groupby("居住鄉鎮")["居住鄉鎮"].count())

# 找出"台北市"內的最大發病日並列印
print("發病日: " + df_taipei.發病日.max())

 

參考

Yiru@Studio - 關於我 - 意如