2017-09-09 15 views

答えて

0

マルチインデックスに含まれるdatetimeインデックスでのみ勤務時間をフィルタリングする方法。ほんの一例だ

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

は - datetime型の列であるマルチインデックスの第二のレベルをフィルタリングし、昼休みを除く9〜5時間があるどこTrueのブールマスクを取得します。

さらに詳しい精度が必要ですか?

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) 
+0

@jezrael:ありがとうございます。 –

関連する問題