Python 使用pandas和matplotlib打印范围内的数据

Python 使用pandas和matplotlib打印范围内的数据,python,matplotlib,dataframe,visualization,Python,Matplotlib,Dataframe,Visualization,我有以下数据帧: var sales month 2017-01-01 1 356558.02 2017-01-01 2 295062.54 2017-01-01 3 236702.53 2017-02-01 1 305813.24 2017-02-01 2 348966.32 2017-02-01 3 364121.50 2017-03-01 1 292793.76 2017-03-01 2 345290.6

我有以下数据帧:

         var    sales
month       
2017-01-01  1   356558.02
2017-01-01  2   295062.54
2017-01-01  3   236702.53
2017-02-01  1   305813.24
2017-02-01  2   348966.32
2017-02-01  3   364121.50
2017-03-01  1   292793.76
2017-03-01  2   345290.65
2017-03-01  3   361361.49
2017-04-01  1   265695.47
2017-04-01  2   351965.57
2017-04-01  3   520796.56

如何在x轴和y轴以及三条不同的线中绘制
month
sales
:每条线对应于
var
列中的一个值?我需要表示每个
var
sales
是如何随时间变化的。

首先旋转数据,使其符合您想要的格式。然后策划

df = df.pivot(index='month', columns='var', values='sales')
df.plot()
pivot为您提供了以下功能:

month        1           2           3
2017-01-01   356558.02   295062.54   236702.53
2017-02-01   305813.24   348966.32   364121.50
2017-03-01   292793.76   345290.65   123456.78

从这里开始,意图应该更加明确。

首先旋转数据,使其以您想要的形式显示。然后策划

df = df.pivot(index='month', columns='var', values='sales')
df.plot()
pivot为您提供了以下功能:

month        1           2           3
2017-01-01   356558.02   295062.54   236702.53
2017-02-01   305813.24   348966.32   364121.50
2017-03-01   292793.76   345290.65   123456.78

从这里开始,意图应该更加清晰。

是的,谢谢它起作用了,只是一个额外的问题,我如何在一个特定的日期添加一条垂直线,例如='2017-03-23'到这个图中?我将推迟到关于使用命令
axvline
绘制一条垂直线的问题。是的,谢谢它起作用了,只是一个额外的问题,如何将特定日期的垂直线(例如='2017-03-23')添加到此图中?我将稍后讨论如何使用命令
axvline
绘制垂直线。