用 beeswarm 呈現大量 bootstrap 結果
你目前住在 Cincinnati,也好奇平均 NO2 數值和你曾住過的其他城市 Des Moines、Indianapolis、以及 Houston 相比如何。
為了檢視這點,你決定用 bootstrap 估計各城市的 NO2 平均值。由於比較是重點,你會使用 swarm 圖來比較這些估計值。
已提供 DataFrame pollution_may,以及投影片中用於執行 bootstrap 重抽樣的 bootstrap() 函式。
本練習屬於課程
用 Python 改善你的資料視覺化
練習說明
- 對每個
city_NO2向量執行 bootstrap 重抽樣。 - 在 bootstrap 的 DataFrame
cur_boot中加入城市名稱欄位。 - 將所有 swarm 圖的點設為顏色
'coral',以避免顏色與大小混淆的問題。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Initialize a holder DataFrame for bootstrap results
city_boots = pd.DataFrame()
for city in ['Cincinnati', 'Des Moines', 'Indianapolis', 'Houston']:
# Filter to city
city_NO2 = pollution_may[pollution_may.city == city].NO2
# Bootstrap city data & put in DataFrame
cur_boot = pd.DataFrame({'NO2_avg': bootstrap(____, 100), 'city': ____})
# Append to other city's bootstraps
city_boots = pd.concat([city_boots,cur_boot])
# Beeswarm plot of averages with citys on y axis
sns.swarmplot(y = "city", x = "NO2_avg", data = city_boots, ____ = '____')
plt.show()