最少的可复制代码:
import pandas as pd
from datetime import datetime
import numpy as np
date_rng = pd.date_range(start='1/1/2018', end='1/08/2018', freq='H')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(0,100,size=(len(date_rng)))
df.set_index("date", inplace=True)
现在我有类似
的数据框 data
date
2018-01-01 00:00:00 47
2018-01-01 01:00:00 97
2018-01-01 02:00:00 98
2018-01-01 03:00:00 36
自从我将其索引设置为datetimeindex以来,我可以执行df["2018-01-01"]
之类的操作来仅在2018年1月1日之内获取索引。
我找不到任何可以解释某些时间的方法的资源。
我想整天从早上6点到下午12点工作,以达到预期的产量
data
date
2018-01-01 06:00:00 47
2018-01-01 07:00:00 97
2018-01-01 08:00:00 98
.
.
.
2018-01-02 06:00:00 36
2018-01-02 07:00:00 47
2018-01-02 08:00:00 97
.
.
.
2018-01-03 06:00:00 98
2018-01-03 07:00:00 36
2018-01-03 08:00:00 47
.
.
. and so on
答案 0 :(得分:1)
您可以简单地使用between_time
:
print (df.between_time("06:00","12:00"))
#
data
date
2018-01-01 06:00:00 51
2018-01-01 07:00:00 61
2018-01-01 08:00:00 37
2018-01-01 09:00:00 77
2018-01-01 10:00:00 7
2018-01-01 11:00:00 59
2018-01-01 12:00:00 69
2018-01-02 06:00:00 85
2018-01-02 07:00:00 70
2018-01-02 08:00:00 72
2018-01-02 09:00:00 55
2018-01-02 10:00:00 27
2018-01-02 11:00:00 32
2018-01-02 12:00:00 8
...