2015-06-20 20 views
0

我有水平“身份证”和“年”的多索引数据帧:大熊猫根据多指标的电平值删除了观测

   value  
id  year   
10  2001 100  
     2002 200   
11  2001 110   
12  2001 200  
     2002 300  
13  2002 210 

我想保持id S作值都2001年和2002年。这意味着,我想获得:

   value  
id  year   
10  2001 100  
     2002 200   
12  2001 200  
     2002 300  

我知道df.loc[df.index.get_level_values('year') == 2002]的作品,但我无法扩展,以考虑提前2001年和2002年 感谢。

回答

1

如何使用groupbyfilter

df.groupby(level=0).filter(
    lambda df:np.in1d([2001, 2002], df.index.get_level_values(1)).all() 
)