在多索引中切割日期时间的最佳方法是什么?

时间:2017-09-09 14:24:02

标签: python-3.x pandas multi-index

最具效果的是什么'如果DataFrame具有包含日期​​时间索引的多索引,那么按时间过滤DataFrame的方法是什么?

例如,如何仅在多索引中包含的日期时间索引中过滤营业时间。

1 个答案:

答案 0 :(得分:0)

  

如何仅在多索引中包含的日期时间索引中过滤营业时间。

df.index.get_level_values(1).hour.isin([9,10,11,13,14,15,16])

这只是一个例子 - 过滤MultiIndex的第二级,这是一个日期时间列,并获得一个布尔值掩码,即小时为9到5,不包括午休时间。

需要更高的精度吗?

dt = df.index.get_level_values(1)
minutes = dt.hour * 60 + dt.minute
minutes.between(8*60+15, 17*60+45)

那是8:15到17:45。

午睡?

minutes.between(9*60+30, 15*60) | minutes.between(17*60+30, 20*60)