我正在处理多索引数据框架,其中3级索引是日期时间系列。此日期时间序列基本上是随机日期,没有特定顺序(它们是建筑物施工完成时的日期)。如何使用此日期时间索引执行条件选择?例如> = 2014年1月1日
(到目前为止,我的笨拙解决方案是将此3级索引转换为列,然后根据此列执行条件选择,例如df [' Date']。dt.year> 2013)
答案 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']