返回pandas MultiIndex

时间:2017-12-01 02:12:20

标签: python pandas

我的数据框如下:

              count
year   person   
       a.smith  1
2008   b.johns  2
       c.gilles 3
       a.smith  4
2009   b.johns  3
       c.gilles 2

其中yearperson都是索引的一部分。我希望所有年份都使用a.smith返回所有行。我可以找到df.loc[(2008, 'a.smith)]的特定年份的计数,输出1.但如果我尝试df.loc[(:,'a.smith)],我会得到SyntaxError: invalid syntax

如何将df.loc用于MultiIndex中的一系列索引值?

1 个答案:

答案 0 :(得分:0)

使用pd.IndexSlice

idx = pd.IndexSlice
df.loc[idx[:,'a.smith'],:]
Out[200]: 
              count
year person        
2008 a.smith      1
2009 a.smith      4

数据输入

df
Out[211]: 
               count
year person         
2008 a.smith       1
     b.johns       2
     c.gilles      3
2009 a.smith       4
     b.johns       3
     c.gilles      2