Pandas - 从groupby对象中选择值

时间:2014-04-17 16:31:53

标签: python plot pandas group-by

我有pandas groupby个对象,c

>>> c.index.names
FrozenList([u'Thing1', u'Thing2', u'Month'])
>>> c.columns
Index([u'Tot'], dtype='object')
>>> c
                           Tot
Thing1 Thing2 Month                
G      P      2012-12-01   0.017640
              2013-01-01   0.012062
              2013-02-01   0.029022
              2013-03-01   0.007593
              2013-04-01   0.004862
              2013-05-01   0.002671
              2013-06-01   0.014895
              2013-07-01   0.029641
              2013-08-01   0.051129
              2013-09-01   0.023913
              2013-10-01   0.061406
              2013-11-01   0.054781
              2014-01-01   0.017115
              2014-02-01   0.011919
H      K      2013-06-01   2.390632
              2013-07-01   7.066034
              2013-08-01   5.426312
              2013-09-01   8.276066
              2013-10-01   5.745811
              2013-11-01   2.250162
              2013-12-01   0.976822
              2014-01-01   1.438316
              2014-02-01   3.507220
       M      2012-06-01   3.050136
              2012-07-01   5.911788
              2012-08-01   2.794381
              2012-09-01   4.418268
              2012-10-01   5.312635
              2012-11-01   1.810977
              2012-12-01   3.097878
              2013-01-01   0.811326
              2013-02-01   3.105154
              2013-03-01   2.384704

如何选择Thing1=GThing2=P的时间序列值进行绘图?

1 个答案:

答案 0 :(得分:2)

您可以像其他数据框一样对其进行索引,但使用元组组合级别:

c.loc[('G', 'P'), :]

但是,对于这样的索引操作,可能需要对多索引进行排序(否则它可以给出和异常)。你可以这样做:

c = c.sortlevel()

而且要正确,c不是groupby对象,而是DataFrame(您还有pandas GroupBy个对象,但它们是.groupby()调用的结果)