Pandas date_range具有特定的时间范围

时间:2017-06-07 15:42:17

标签: python pandas datetime indexing

我正在尝试使用pd.date_range()创建一个跨越多天的DatetimeIndex,其频率为秒。但是,每天的时间范围应限制在05:00:00和22:00:00之间

某些事情(当然不起作用):

times_c = pd.date_range(start="2015-01-01",end="2015-01-10",freq="S")
mask_c = ((times_c.time < dt.datetime.strptime("22:00:00", "%H:%M:%S")) | (times_c.time > dt.datetime.strptime("05:00:00","%H:%M:%S")))
times_c = times_c[mask_c]

3 个答案:

答案 0 :(得分:5)

使用indexer_between_time

times_c[times_c.indexer_between_time('05:00:00', '22:00:00')]

答案 1 :(得分:2)

这有用吗?

"e2e": "concurrently --success first --kill-others \"npm run e2e:start\"",

答案 2 :(得分:1)

我们试试这个。

times_c[((times_c.hour >= 5) & (times_c.hour < 22)) | ((times_c.hour == 22) &(times_c.minute == 0) & (times_c.second == 0))]

让所有时间大于小时5且小于22,然后得到22的边缘情况,零分钟和零秒。