多索引日期时间的条件选择

时间:2017-09-05 17:01:16

标签: python pandas

我正在处理多索引数据框架,其中3级索引是日期时间系列。此日期时间序列基本上是随机日期,没有特定顺序(它们是建筑物施工完成时的日期)。如何使用此日期时间索引执行条件选择?例如> = 2014年1月1日

(到目前为止,我的笨拙解决方案是将此3级索引转换为列,然后根据此列执行条件选择,例如df [' Date']。dt.year> 2013)

3 个答案:

答案 0 :(得分:2)

首先,使用sort_index对您的索引进行排序(最终仅针对您的level=3,具体取决于您生成数据的方式)

然后使用IndexSlice df.loc[pd.IndexSlice: [:, :, :, dt.datetime(2014,1,1):, :]

答案 1 :(得分:1)

使用pandas.IndexSlice。我学会了在this帖子的末尾使用它。

答案 2 :(得分:1)

您可以尝试以下内容:

df[df.index.get_level_values(2)>'2014-01-01']