Python熊猫:基于掩码列表抛出错误过滤数据帧

Python熊猫:基于掩码列表抛出错误过滤数据帧,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个包含真/假值的列表。列表的索引是id。列表如下所示: 遮罩: 我有一个数据帧,它也包含id列。我想从列表中保留那些具有True的id的值。我正在尝试使用以下命令筛选数据帧: df.loc[:,mask] 但是,我得到了TypeError,如下所示: TypeError: '(slice(None, None, None), 0000003555CE050 True 0000484541CE90D True 0000486629CE4AA True 000

我有一个包含真/假值的列表。列表的索引是id。列表如下所示:

遮罩:

我有一个数据帧,它也包含id列。我想从列表中保留那些具有True的id的值。我正在尝试使用以下命令筛选数据帧:

df.loc[:,mask]
但是,我得到了TypeError,如下所示:

    TypeError: '(slice(None, None, None), 0000003555CE050     True
0000484541CE90D     True
0000486629CE4AA     True
0000012748DE8FB     True
0000047030DE4E4     True
                   ...  
0000510518CEA7C    False
0000510762DE9AC    False
0000510486CEF04    False
0000202438DEE9C    False
0000510534CE437    False
Name: ICP, Length: 92245, dtype: bool)' is an invalid key

我不确定我在哪里犯了错误。有人能指出我在哪里犯了错误吗?

让我们试试
获取\u level\u值
,您需要知道id列的级别

df = df[df.columns.get_level_values(level=0).isin(mask.index[mask])]
df = df[df.columns.get_level_values(level=0).isin(mask.index[mask])]