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
绘制垂直线。