2017-10-08 166 views
0
  • 我已经调换数据低于以下GROUPBY,它在底部
  • 产生的输出,我不知道怎么拉子级数据来创建两个表。一个用于PUT,另一个用于CALL。
    • ,其中X轴=罢工
    • y轴= OI和
    • 我想用matplotlib到两个柱状图叠加成一个。等安装图像

任何指针或更好的方法来创建以下输出这张图? enter image description here创建条形图

df_OI = df[['oi','strike','type','expiry']].groupby([pd.Grouper(freq='D'),'strike','type','expiry']).agg(['sum']) 

Created          oi 
            sum 
datetime strike type expiry   
2017-09-29 130.0 PUT 2017-10-06 12 
      145.0 PUT 2017-10-06 21 
      147.0 PUT 2017-10-06  1 
      149.0 PUT 2017-10-06  2 
      150.0 CALL 2017-10-06  1 
        PUT 2017-10-06 111 
      152.5 CALL 2017-10-06 12 
        PUT 2017-10-06 100 
      155.0 CALL 2017-10-06 10 
        PUT 2017-10-06 66 
      157.5 CALL 2017-10-06  8 
        PUT 2017-10-06 29 
      160.0 CALL 2017-10-06 21 
        PUT 2017-10-06 1405 
      162.5 CALL 2017-10-06 14 
        PUT 2017-10-06 327 
      165.0 CALL 2017-10-06 56 
        PUT 2017-10-06 2383 
      167.5 CALL 2017-10-06 12 
        PUT 2017-10-06 2804 
      170.0 CALL 2017-10-06 354 
        PUT 2017-10-06 1945 
      172.5 CALL 2017-10-06 438 
        PUT 2017-10-06 3022 
      175.0 CALL 2017-10-06 3373 
        PUT 2017-10-06 2093 
      177.5 CALL 2017-10-06 1688 
        PUT 2017-10-06 1201 
      180.0 CALL 2017-10-06 8241 
        PUT 2017-10-06 2269 
      182.5 CALL 2017-10-06 2152 
        PUT 2017-10-06 219 
      185.0 CALL 2017-10-06 4008 
        PUT 2017-10-06 469 
      187.5 CALL 2017-10-06 2006 
        PUT 2017-10-06 270 
      190.0 CALL 2017-10-06 1354 
        PUT 2017-10-06 37 
      192.5 CALL 2017-10-06 484 
      195.0 CALL 2017-10-06 377 
      197.5 CALL 2017-10-06 31 
      200.0 CALL 2017-10-06 109 
        PUT 2017-10-06  3 
      202.5 CALL 2017-10-06  5 
      205.0 CALL 2017-10-06  5 
+0

'df_OI.plot(种类= '酒吧',层叠=真)的宽度; plt.show()'? –

+0

关闭。只生成一个图表,不叠加[调用,拉动] x轴显示罢工+过期+调用或放 – Karun

+0

有没有办法访问您的原始数据? –

回答

0

因为我有2列,我要和bar图表,我总空间是2。因此,我使用width=2以使两个条跨越2.

df.reset_index().set_index(['strike', 'type'])['sum'].unstack() \ 
    .plot.bar(width=2, alpha=.5, figsize=(10, 4), ec='white') 

enter image description here

+0

你可以表现出你使用的DF吗?我没有得到相同的结果。我得到一个异常。我可能遇到的问题是我的Dataframe上有多索引 – Karun