# 多级表头处理

# 多级表头处理

import pandas as pd

# 创建一个具有三级表头的示例DataFrame
data = {
    ("A", "X", "I"): [1, 2, 3],
    ("A", "X", "II"): [4, 5, 6],
    ("A", "Y", "I"): [7, 8, 9],
    ("A", "Y", "II"): [10, 11, 12],
    ("B", "X", "I"): [13, 14, 15],
    ("B", "X", "II"): [16, 17, 18],
    ("B", "Y", "I"): [19, 20, 21],
    ("B", "Y", "II"): [22, 23, 24],
}

df = pd.DataFrame(data)

# 获取所有表头
all_columns = df.columns

# 获取表头的级别数量
num_levels = df.columns.nlevels

print("所有表头:\n", all_columns)
print("\n表头的级别数量:", num_levels)

# 获取一级表头为 'A' 的记录
level_1 = "A"
result_level_1 = df.xs(key=level_1, axis=1, level=0)

# 获取二级表头为 'X' 的记录
level_2 = "X"
result_level_2 = df.xs(key=level_2, axis=1, level=1)

# 获取三级表头为 'I' 的记录
level_3 = "I"
result_level_3 = df.xs(key=level_3, axis=1, level=2)

print("Records with level 1 as 'A':\n", result_level_1)
print("\nRecords with level 2 as 'X':\n", result_level_2)
print("\nRecords with level 3 as 'I':\n", result_level_3)