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