2015-06-20 21 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() 
)