获取属于熊猫datetimeindex中小时范围的行

时间:2019-12-10 03:50:11

标签: python pandas

最少的可复制代码:

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

1 个答案:

答案 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
...