对多个时间序列数据帧pandas使用一个图表

时间:2018-03-26 11:46:44

标签: python pandas matplotlib jupyter-notebook

我目前正在使用时间序列创建一个关于股票价格的熊猫项目。我有一个柱子返回,在y轴上有负值和正值。我有过去5年的数据,并且我试图在同一图表中比较每年的月份,但是当我绘制它们时,它们沿着日期分开而不是重叠(下图):

fig, ax = plt.subplots()
Monthly_Return2017.plot(ax=ax)
Monthly_Return2016.plot(ax=ax)
Monthly_Return2015.plot(ax=ax)
Monthly_Return2014.plot(ax=ax)
Monthly_Return2013.plot(ax=ax).axhline(y = 1, color = "black", lw = 2)
plt.show()

enter image  helloption here

所以我想让它们在1月到12月间在x轴上分开。 无论如何我能做到这一点将数据保存为时间序列。 下面是三个数据帧的样本。

    Close
Date    
2017-01-31  1.000000
2017-02-28  1.033158
2017-03-31  1.041128
2017-04-30  1.137012
2017-05-31  1.210934
2017-06-30  1.140489
2017-07-31  1.167811
2017-08-31  1.178893
2017-09-30  1.203717
2017-10-31  1.275920
2017-11-30  1.281906
2017-12-31  1.313270

Close
Date    
2016-01-31  1.000000
2016-02-29  0.939188
2016-03-31  1.002692
2016-04-30  0.932781
2016-05-31  0.990268
2016-06-30  0.931557
2016-07-31  1.034780
2016-08-31  1.032438
2016-09-30  1.046221
2016-10-31  1.055979
2016-11-30  1.020311
2016-12-31  1.038859

    Close
Date    
2015-01-31  1.000000
2015-02-28  1.044676
2015-03-31  1.025219
2015-04-30  1.010808
2015-05-31  1.000970
2015-06-30  0.979148
2015-07-31  1.176855
2015-08-31  1.163010
2015-09-30  1.144519
2015-10-31  1.337128
2015-11-30  1.396929
2015-12-31  1.427554

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我只想创建两个不同的数据框,忘记情节和时间序列的日期。 类似的东西:

V1=['02-Feb-2018 08:23:42'; '02-Feb-2018 08:24:42';'02-Feb-2018 09:10:42'];
V2 = [' 8:35 AM' ;' 8:36 AM';' 9:01 AM'];
V1=datenum(V1);
V2=datenum(V2);
[~,t0]=min(abs(V2(1)-V1));
[~,tend]=min(abs(V2(end)-V1));

然后你可以用xticks来玩几个月。 这有帮助吗?