始める無料で始める

API から可視化へ:Group Quarters(施設入所者)

この演習では、少年犯罪者がどこに収容されているかを調べます。本演習では、大学寮、矯正施設、介護施設、軍基地などを含む「group quarters(施設入所者)」という概念を紹介します。

各州ごとの、未成年の男性が「成人」矯正施設に収容されている割合を可視化します。リクエストする変数は次のとおりです。

  • PCT021005 - 男性:18歳未満:施設入所人口:成人向け矯正施設
  • PCT021015 - 男性:18歳未満:施設入所人口:少年施設:少年向け矯正施設

requests はインポート済みです。API リクエスト用の base_url は定義されています。

pandasseaborn は通常のエイリアスでインポート済みです。

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

Pythonで学ぶ米国センサスデータ分析

コースを見る

演習の手順

  • 必要な2つの変数で get_vars のリストを完成させます
  • astype を使って、in_adultin_juvenile の列を整数型に変換します
  • 成人矯正施設にいる未成年の割合を計算します:分子は未成年が in_adult 矯正施設にいる人数の100倍、分母は未成年が in_adultin_juvenile 矯正施設にいる人数の合計です
  • statespct_in_adult で降順に並べ替え、inplace = True を指定します

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Specify variables and execute API request
get_vars = ["NAME", ____]
predicates["get"] = ",".join(get_vars)
r = requests.get(base_url, params=predicates)

# Construct DataFrame
col_names = ["name", "in_adult", "in_juvenile", "state"]
states = pd.DataFrame(columns=col_names, data=r.json()[1:])
states[["in_adult", "in_juvenile"]] = states[["in_adult", "in_juvenile"]].____

# Calculate percentage of incarcerated male minors in adult facilities
states["pct_in_adult"] = ____
states.sort_values(by = ____, ascending = ____, inplace = ____)
sns.stripplot(x = "pct_in_adult", y = "name", data = states)
plt.show()
コードを編集して実行