开始使用免费开始使用

邮政编码统计区

在市场营销领域,了解邮政编码的人口特征非常常见。邮政编码统计区("ZCTAs")是由 Census(人口普查局)根据普查街区构建、与邮政编码相对应的地理单元。在本练习中,您将请求 Alabama 州内所有 ZCTA 的总人口。

pandas 中,可以使用索引来检索特定行。GEOID 适合作为行标识符。本练习中,您将根据每行的州和 ZCTA 设置一个多级索引。

requestspandas 库已导入。base_url 已定义,并提供了包含待请求变量列表的 predicates 字典。

本练习是课程的一部分

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

查看课程

练习说明

  • predicates 字典中将 "for" 键设置为返回所有 ZCTA;请将地理名称完整拼写为 "zip code tabulation area (or part)"
  • predicates 字典中将 "in" 键设置为仅返回 Alabama 州内的 ZCTA;您需要在学习过的在线来源中查询 Alabama 的 FIPS 代码
  • 将 DataFrame 的索引设置为 statezcta 列的拼接。使用 inplace = True,以便不创建新的 DataFrame。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Build dictionary of predicates and execute the request
predicates = {}
predicates["get"] = ",".join(["NAME",  "P001001"])
____
____
r = requests.get(base_url, params=predicates)

# Construct the DataFrame
col_names = ["name", "total_pop", "state", "zcta"]
zctas = pd.DataFrame(columns=col_names, data=r.json()[1:])
zctas["total_pop"] = zctas["total_pop"].astype(int)

# Set multilevel index from GEOIDs and print the head
zctas.set_index([____, ____], inplace = True)
print(zctas.head())
编辑并运行代码