# 单个1级索引列值对应数据
cols = pd.MultiIndex.from_tuples([("a", "b"), ("a", "c"),("d", "b"), ("d", "c")], names=['l1', 'l2'])
df = pd.DataFrame([[1,2,5,6], [3,4,7,8], [5,3,9,1]], columns=cols)
print('原数据')
print(df)
print('取出1级索引为a的所有数据,结果不带a')
print(df.xs('a', axis=1, drop_level=True))
print('取出1级索引为a的所有数据,结果带a')
print(df.xs('a', axis=1, drop_level=False))
print('取出1级索引为d的所有数据,结果不带d')
print(df.xs('d', axis=1, drop_level=True))
print('取出1级索引为d的所有数据,结果带d')
print(df.xs('d', axis=1, drop_level=False))
参考资料:https://www.cnpython.com/qa/25214