【问题标题】:How do I loop through dataframe having TimeStamp index with different dates being one loop?如何循环遍历具有不同日期的时间戳索引的数据框是一个循环?
【发布时间】:2019-10-31 14:09:02
【问题描述】:
我的数据框有索引时间戳。我想根据天划分我的数据框。所以我在做什么
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。我该怎么做?
【问题讨论】:
标签:
python-3.x
pandas
loops
datetime
timestamp
【解决方案1】:
其实我找到了答案。首先,我们必须在时间戳索引中创建一个我们想要工作的范围。和
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*