使用 merge_asof() 创建数据集
merge_asof() 函数可用于在存在起止日期表时创建数据集,并将这些日期用于在另一张表中生成标志位。已为您提供 gdp,它是关于 1980 年代美国季度 GDP 值的表。另外也提供了 recession 表,包含自 1980 年以来每次美国经济衰退的开始日期,以及官方宣布衰退结束的日期。请使用 merge_asof() 合并两张表,并创建一个状态标志,用于指示某一季度是否处于经济衰退期。最后,为了检查您的结果,请将数据绘制为柱状图。
表 gdp 和 recession 已为您加载。
本练习是课程的一部分
使用 pandas 连接数据
练习说明
- 使用
merge_asof()按date将gdp与recession合并,gdp作为左表。将结果保存到变量gdp_recession。 - 使用列表推导式与条件表达式创建名为
is_recession的list:对每一行,若gdp_recession['econ_status']的值等于 'recession',则填入'r',否则填入'g'。 - 使用
gdp_recession绘制gdp相对于date的柱状图,并将color参数设为is_recession。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Merge gdp and recession on date using merge_asof()
gdp_recession = ____
# Create a list based on the row value of gdp_recession['econ_status']
is_recession = ['____' if s=='recession' else '____' for s in gdp_recession['econ_status']]
# Plot a bar chart of gdp_recession
gdp_recession.plot(kind=____, y=____, x=____, color=____, rot=90)
plt.show()