开始使用免费开始使用

从 API 到可视化:集体宿舍(Group Quarters)

在本练习中,您将探究未成年犯罪者被关押在何处。本练习将引入"集体宿舍(group quarters)"人口的概念,其中包括大学宿舍、惩教设施、养老院、军事基地等。

您将按州可视化被关押在"成人"惩教设施中的"未成年"男性所占比例。需要请求的变量为:

  • PCT021005 - 男性:未满 18 岁:被机构收容的人口:成人惩教设施
  • PCT021015 - 男性:未满 18 岁:被机构收容的人口:青少年设施:面向青少年的惩教设施

已导入 requests。用于 API 请求的 base_url 已定义。

已按常用别名导入 pandasseaborn

本练习是课程的一部分

使用 Python 分析美国人口普查数据

查看课程

练习说明

  • 用这两个目标变量补全列表 get_vars
  • 使用 astype 将列 in_adultin_juvenile 转换为整数类型
  • 计算未成年人在成人惩教设施中的百分比:分子应为未成年人在 in_adult 惩教设施的人数乘以 100;分母应为未成年人在 in_adultin_juvenile 惩教设施的人数之和
  • pct_in_adultstates 降序排序,使用 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()
编辑并运行代码