Python 熊猫多索引选择:如何选择数据帧的子集?

Python 熊猫多索引选择:如何选择数据帧的子集?,python,list,pandas,indexing,multi-index,Python,List,Pandas,Indexing,Multi Index,我已经创建了一个名为key_mat的多索引数据框架 cnt keys minutes 0000 21:01:00 1 0002 19:08:00 2 16:07:00 1 我想使用.loc >>> key_mat.loc[['0002']] >>> cnt keys minutes 0002 19:08:00

我已经创建了一个名为key_mat的多索引数据框架

                   cnt
keys    minutes 
0000    21:01:00    1
0002    19:08:00    2
        16:07:00    1
我想使用
.loc

>>> key_mat.loc[['0002']] 
>>>
                   cnt
keys    minutes 
0002    19:08:00    2
        16:07:00    1
现在,我有一个
键列表
键列表=['0000','0001','0004'…]
和一个
分钟列表
分钟列表=['19:08:00','20:07:00',…]
。我想选择
键列表中的
键和
分钟列表中的
分钟。我试着使用
.loc
,但我只是找到了
键材料loc[[('0000','21:01:00'),('0002','19:08:00')]['cnt']
。但这不能满足我的需要。我找到了一种使用
query
key\u mat.query({key\u list}中的键和{minutes\u list}中的分钟数)的方法。格式(key\u list=key\u list,minutes\u list=minutes\u list))
。有没有办法使用
.loc
.ix
来完成我的任务?

您需要,但首先,因为错误:

KeyError:“多索引切片要求索引为完全lexsort元组len(2),lexsort depth(1)”


很高兴能帮助你!天气真好!
key_list = ['0000','0001','0004']
minutes_list = ['19:08:00','21:01:00']

df.sort_index(inplace=True)

idx = pd.IndexSlice
print (df.loc[idx[key_list,minutes_list],:])
              cnt
keys minutes     
0000 21:01:00   1