【发布时间】:2021-09-27 20:13:56
【问题描述】:
我创建了一个 DataFrame,其中日期(格式 = 1950-01-01)作为索引、失业率和衰退的二元变量(真 = 衰退)。我正在尝试将数据绘制为 x 轴上的月份和年份的时间序列。现在它只显示年份。
fig, ax = plt.subplots(figsize=(10,5))
df1.plot(y='UNRATE',ax=ax)
plt.show()
此外,我应该在经济衰退的几个月里遮遮掩掩。我使用ax.axvspan(),它将 x-start 和 x-ends 作为遮蔽位置的参数。但是,我的“开始”和“结束”代码存在问题 - 我认为这与几个月有关,但我不确定。如果有人也可以帮助我解决这个问题,那就太棒了!谢谢!
starts = df1['USREC']==True
ends = df1['USREC']==False
n = len(df1)
for i in range(1,n):
ax.axvspan(starts[i], ends[i], facecolor='lightgray')
【问题讨论】:
-
这有帮助吗?这是我打印 df1.head() DATE: 1950-01-01 , 1950-02-01 , 1950-03-01 , 1950-04-01 , 1950-05-01 UNRATE: 6.5 , 6.4 , 6.3 时的输出5.8 , 5.5 USREC: 0, 0, 0, 0, 0
-
不是真的,一个最小的例子应该很容易复制以便重现问题
-
我编辑了评论,您应该可以用它重新创建部分数据框。我想我不明白您还需要什么其他信息...不过感谢您的尝试!
-
我提供了一个解决方案,因此您可以看到 MRE 是什么(无需重建任何东西,只需复制并运行);)
标签: python pandas date datetime