Pandas,index是一个元组(名称,日期),按日期范围排序?

时间:2018-05-20 02:31:13

标签: 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
       2017-05-22  11.10  11.130  10.98  11.11  73301992

我可以使用

进行索引
f.ix[('F', date(2017,5,18))]

我无法弄清楚如何从这种索引中查询索引范围?

2 个答案:

答案 0 :(得分:1)

使用pd.IndexSlice

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

答案 1 :(得分:1)

您可以明确调用slice,例如:

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

注意:ix()已弃用loc()