可以使用pandas的多级索引(MultiIndex)实现按多级列筛选行。首先,需要创建一个包含多级列的数据帧。然后,可以使用逻辑运算符(&、|和~)对多级列的不同层级进行筛选和组合。下面是一个示例代码:
import pandas as pd
# 创建包含多级列的数据帧
columns = pd.MultiIndex.from_tuples([('first', 'A'), ('first', 'B'), ('second', 'C'), ('second', 'D')])
data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
df = pd.DataFrame(data, columns=columns)
# 筛选第一层级为'first'且第二层级为'A'和'B'的行
filtered_df = df.loc[(df[('first', 'A')] > 2) & (df[('first', 'B')] < 7)]
print(filtered_df)
输出结果为:
first second
A B C D
1 5 6 7 8
在这个示例中,我们创建了一个包含两个层级的列('first'和'second'),并随机生成了一些数据。然后,我们筛选第一层级为'first'、第二层级为'A'并且大于2,同时第一层级为'first'、第二层级为'B'且小于7的行。