邮政编码统计区
在市场营销领域,了解邮政编码的人口特征非常常见。邮政编码统计区("ZCTAs")是由 Census(人口普查局)根据普查街区构建、与邮政编码相对应的地理单元。在本练习中,您将请求 Alabama 州内所有 ZCTA 的总人口。
在 pandas 中,可以使用索引来检索特定行。GEOID 适合作为行标识符。本练习中,您将根据每行的州和 ZCTA 设置一个多级索引。
requests 和 pandas 库已导入。base_url 已定义,并提供了包含待请求变量列表的 predicates 字典。
本练习是课程的一部分
使用 Python 分析美国人口普查数据
练习说明
- 在
predicates字典中将"for"键设置为返回所有 ZCTA;请将地理名称完整拼写为"zip code tabulation area (or part)" - 在
predicates字典中将"in"键设置为仅返回 Alabama 州内的 ZCTA;您需要在学习过的在线来源中查询 Alabama 的 FIPS 代码 - 将 DataFrame 的索引设置为
state与zcta列的拼接。使用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())