Python 熊猫,索引是元组(名称、日期),按日期范围排序?

Python 熊猫,索引是元组(名称、日期),按日期范围排序?,python,pandas,Python,Pandas,我有一张这样的熊猫桌: f.tail() Close High Low Open Volume Symbol Date F 2017-05-18 10.79 10.820 10.70 10.73 37890246 2017-05-19 10.87 10.940 10.79 10.81 32429488

我有一张这样的熊猫桌:

f.tail()
                   Close    High    Low   Open    Volume
Symbol Date                                             
F      2017-05-18  10.79  10.820  10.70  10.73  37890246
       2017-05-19  10.87  10.940  10.79  10.81  32429488
       2017-05-22  11.10  11.130  10.98  11.11  73301992
我可以使用

f.ix[('F', date(2017,5,18))]
我搞不懂的是如何从这种索引中查询索引范围?

使用pd.indexlice

您可以显式调用slice,例如:


注意:ix不推荐使用loc

您的问题说您想按日期范围排序,但您的文字询问的是切片。。。顺便说一句:你当然可以在切片之前用f.sort_indexlevel=1对日期进行排序,但它们看起来已经排序了。这两个答案都很好,而且都很有效。我之所以选择这个,是因为它使用了pd.datetime,我怀疑这可能会使日期更加明确。
df.loc[pd.IndexSlice['F','2017-05-18':'2017-05-20'],:] # notice here I am using 2017-05-20 
Out[42]: 
                   Close   High    Low   Open    Volume
Symbol Date                                            
F      2017-05-18  10.79  10.82  10.70  10.73  37890246
       2017-05-19  10.87  10.94  10.79  10.81  32429488
In []:
f.loc[('F', slice(pd.datetime(2017,5,18), pd.datetime(2017,5,20))),]

Out[]:
                   Close   High    Low   Open    Volume
Symbol Date                                            
F      2017-05-18  10.79  10.82  10.70  10.73  37890246
       2017-05-19  10.87  10.94  10.79  10.81  32429488