您可以get_level_values
结合布尔切片。
In [50]:
print df[np.in1d(df.index.get_level_values(1), ['Lake', 'River', 'Upland'])]
Area
NSRCODE PBL_AWI
CM Lake 57124.819333
River 1603.906642
LBH Lake 258046.508310
River 44262.807900
可以用许多不同的方式来表达相同的想法,例如 df[df.index.get_level_values('PBL_AWI').isin(['Lake', 'River', 'Upland'])]
请注意,您'upland'
的数据中包含的是'Upland'