3 回答

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
使用Index.isin
刪除第 3 級(jí)并MultiIndex.droplevel
過濾boolean indexing
:
df = df[df.index.droplevel(2).isin(mux)]
print (df)
? ? ? ? ColB colA
A1 B2 1? cb3? ca3
? ? ? 2? cb4? ca4
A2 B1 1? cb5? ca5
? ? ? 2? cb6? ca6
它適用于任何index:
mux = pd.MultiIndex.from_tuples([('A1', 'B1'),('A2', 'B2')])
df = df[df.index.droplevel(2).isin(mux)]
print (df)
? ? ? ? ColB colA
A1 B1 1? cb1? ca1
? ? ? 2? cb2? ca2
A2 B2 1? cb7? ca7
? ? ? 2? cb8? ca8

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
咱們?cè)囋嚢?code>Advanced indexing with hierarchical index
df.loc[('A1', 'B2'):('A2','B1')]
Out[56]:?
? ? ? ? ColB colA
A1 B2 1? cb3? ca3
? ? ? 2? cb4? ca4
A2 B1 1? cb5? ca5
? ? ? 2? cb6? ca6
添加回答
舉報(bào)