始める無料で始める

ブートストラップをたくさん回してビースウォームで可視化

現在シンシナティに住んでいるあなたは、これまで住んだことのあるほかの都市であるデモイン、インディアナポリス、ヒューストンと比べて、平均的な NO2 の値がどう違うか知りたくなりました。

これを確かめるため、各都市の平均 NO2 値をブートストラップ推定で求めることにします。比較が主目的なので、推定値の比較にはスウォームプロットを使います。

ブートストラップの再標本化を行うためのスライドにある bootstrap() 関数とともに、DataFrame pollution_may が用意されています。

この演習はコースの一部です

Pythonでデータ可視化を磨く

コースを見る

演習の手順

  • city_NO2 ベクトルに対してブートストラップ再標本化を実行します。
  • 都市名をブートストラップの DataFrame cur_boot の列として追加します。
  • 色とサイズの問題を避けるため、スウォームプロットの全ての点を '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()
コードを編集して実行