按通勤方式划分的出行时间热力图
在本练习中,您将创建一个全国数据的热力图,用于比较通勤时间(分钟)与出行方式。您从 data_row 开始,这是来自 JSON API 响应对象单行数据的值列表。已为出行 modes(5 个)和通勤 times(9 个)创建列表,并已打印到控制台。您需要将这单行数据重塑为列表的列表,构建可传入 sns.heatmap 的 DataFrame,并绘制热力图。
该数据行包含 5 种出行方式的数据,每种方式对应一组 9 个通勤时间。一次迭代即为一整组通勤时间。
已按常用别名加载 pandas 和 seaborn。
本练习是课程的一部分
使用 Python 分析美国人口普查数据
练习说明
- 将
iter_len设为times列表的长度 - 在列表推导中,构造一个范围:起始为 0,结束为
data_row的长度,步长为iter_len - 使用
commutingDataFrame 作为第一个参数构建热力图;在热力图上标注以千为单位的通勤人数(使用整除将其除以1000)
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Set iter_len to the number of commute times
iter_len = ____
# Break row into list of lists by travel mode
data = [data_row[i:i+iter_len] for i in range(____)]
# Create DataFrame, set data type to int
commuting = pd.DataFrame(data=data, index=modes, columns=times)
commuting = commuting.astype(int)
# Create heatmap of commuters by mode by income
sns.heatmap(____, annot=____, fmt = "d", cmap="YlGnBu")
plt.xticks(rotation = 50)
plt.yticks(rotation = 50)
plt.show()