我有以下DataFrame
data = DataFrame({'k1':['one'] * 3 + ['two'] *4,
'k2':[1, 1, 2, 3, 3, 4, 4],
'date': [
DT.datetime(2013,1,1,14,0),
DT.datetime(2013,1,1,14,5),
DT.datetime(2013,1,2,15,0),
DT.datetime(2013,1,2,10,0),
DT.datetime(2013,1,3,19,0),
DT.datetime(2013,1,3,18,0),
DT.datetime(2013,1,4,16,0)]
})
data.set_index(['date','k1', 'k2'], inplace=True)
有谁知道如何查询此MultiIndex以检索2013-01-02之前的所有条目并且k1 ='one'且k2 = 1?
感谢任何帮助
由于
答案 0 :(得分:0)
您可以使用data.index.get_level_values()
过滤multiIndex
>> data.iloc[data.index.get_level_values('k1') == 'one']
仅根据k1
过滤索引。要根据k1
和k2
进行过滤,请使用
>> data.iloc[(data.index.get_level_values('k1') == 'one') & (data.index.get_level_values('k2') == 1)]