如何遍历具有TimeStamp索引且日期不同的数据框为一个循环?

时间:2019-10-31 14:09:02

标签: python-3.x pandas loops datetime timestamp

我的数据框具有索引时间戳。我想根据天数划分数据框。所以我在做什么

df['index_day'] = df.index.floor('d')
for day, i in df.groupby('index_day'):

循环正常。

但是,由于日期在00:00更改,因此我想同样地访问夜间。我希望整个晚上都是一个循环,比方说从18:00 till 6:00 = one loop开始而不是00:00 till 00:00 of next date = one loop。我该怎么办?

1 个答案:

答案 0 :(得分:0)

实际上我找到了答案。首先,我们必须在我们要使用的时间戳索引中创建一个范围。与 rng = pd.date_range('2019-01-10', periods=35, freq='H') 比将数据帧切成仅包含持续时间的数据 df = df.between_time('18:00:01', '6:00')

对于循环部分,可以,您可以使用

for i, g in df.groupby(pd.Grouper(freq='12H', base=6, closed='right')):
    if not g.empty:
        *start working on the loop*