要按特定索引值过滤多级索引的数据框架,可以使用pd.IndexSlice
来选择要过滤的索引值。下面是一个示例代码:
import pandas as pd
# 创建一个包含多级索引的数据框架
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]}
index = pd.MultiIndex.from_tuples([('Group1', 'A'), ('Group1', 'B'), ('Group2', 'A'), ('Group2', 'B'), ('Group3', 'A')], names=['Group', 'Variable'])
df = pd.DataFrame(data, index=index)
# 使用pd.IndexSlice来选择要过滤的索引值
filtered_df = df.loc[pd.IndexSlice[:, 'A'], :]
print(filtered_df)
输出结果如下:
A B C
Group Variable
Group1 A 1 6 11
Group2 A 3 8 13
Group3 A 5 10 15
在这个示例中,我们使用pd.IndexSlice
选择所有Variable
为A
的行。:,:
表示选择所有Group
的值,并使用'A'
来选择Variable
列的值。这样我们就只保留了Variable
为A
的行。