Matplotlib线图与熊猫数据透视表

时间:2016-05-16 15:16:57

标签: python-3.x pandas matplotlib pivot-table

给出以下数据框和结果数据透视表:

import pandas as pd
import numpy as np
%matplotlib inline
df = pd.DataFrame(
        {'YYYYMM':[201603,201503,201403,201303,201603,201503,201403,201303],
         'Count':[5,6,2,7,4,7,8,9],
         'Group':['A','A','A','A','B','B','B','B']})
df['YYYYMM']=df['YYYYMM'].astype(str).str[:-2].astype(np.int64)
t=df.pivot_table(df,index=['YYYYMM'],columns=['Group'],aggfunc=np.sum)


    Count
Group   A   B
YYYYMM      
2013    7   9
2014    2   8
2015    6   7
2016    5   4

我想绘制它来创建一个折线图,其中y轴刻度标签反映了数据透视表中显示的年份(YYYYMM)。

这是我到目前为止所拥有的:

fig, ax = plt.subplots(1,1)
t.plot(ax=ax)

轴标签应分别为2013年,2014年,2015年和2016年,而不是那些。

enter image description here

提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为你可以删除SPbox.label = lbl #make the label an attribute of each SPbox. SPbox.bind("<<Change>>", Correction) # OR SPbox.bind("<<Change>>",partial(Correction, label=lbl) 但是你会在索引.astype(np.int64)中获得值类型:

string

但如果您需要df['YYYYMM']=df['YYYYMM'].astype(str).str[:-2] print t.index Index([u'2013', u'2014', u'2015', u'2016'], dtype='object', name=u'YYYYMM') 索引,请使用:

int