Python 基于级别计数的多索引数据帧过滤

Python 基于级别计数的多索引数据帧过滤,python,pandas,multi-index,Python,Pandas,Multi Index,我有一个多索引数据框,看起来像这样: col1 col2 col3 a e m b f n g o c h p i q d j r k s l t 多重索引由col1和col2组成 如何选择正好包含col2中两个索引标签的col1的“行” 也就是说,我想要: col1 c

我有一个多索引数据框,看起来像这样:

col1    col2    col3
a       e       m
b       f       n
        g       o
c       h       p
        i       q
d       j       r
        k       s
        l       t
多重索引由
col1
col2
组成

如何选择正好包含
col2
中两个索引标签的
col1
的“行”

也就是说,我想要:

col1    col2    col3
b       f       n
        g       o
c       h       p
        i       q
IIUC

IIUC

使用分组方式

使用分组方式

s=df.groupby(level=0).size()

df.loc[s[s==2].index.tolist()]
Out[583]: 
          col3
col1 col2     
b    f       n
     g       o
c    h       p
     i       q
df.groupby('col1').filter(lambda x: len(x) == 2)

          col3
col1 col2     
b    f       n
     g       o
c    h       p
     i       q