1. # 单个1级索引列值对应数据
    2. cols = pd.MultiIndex.from_tuples([("a", "b"), ("a", "c"),("d", "b"), ("d", "c")], names=['l1', 'l2'])
    3. df = pd.DataFrame([[1,2,5,6], [3,4,7,8], [5,3,9,1]], columns=cols)
    4. print('原数据')
    5. print(df)
    6. print('取出1级索引为a的所有数据,结果不带a')
    7. print(df.xs('a', axis=1, drop_level=True))
    8. print('取出1级索引为a的所有数据,结果带a')
    9. print(df.xs('a', axis=1, drop_level=False))
    10. print('取出1级索引为d的所有数据,结果不带d')
    11. print(df.xs('d', axis=1, drop_level=True))
    12. print('取出1级索引为d的所有数据,结果带d')
    13. print(df.xs('d', axis=1, drop_level=False))

    image.png
    参考资料:https://www.cnpython.com/qa/25214