按日期分组,并使用panda按给定的时间间隔进行处理



我有一个包含几个月数据的大数据帧,我需要在[09:00:00-11:59:59]之间处理31天中的每一天的数据。

数据帧(df(的结构如下:

id,date,value
5,2012-03-01 00:00:00,0
2,2012-03-01 00:00:00,0
3,2012-03-01 00:00:00,0
1,2012-03-01 00:00:00,0
4,2012-03-01 00:00:00,0

我可以使用轻松地在[09:00:00-11:59:59]之间过滤数据帧

indx = pd.DatetimeIndex(df['date'])
df1 = df.iloc[indx.indexer_between_time('09:00:00','11:59:59')]

我还可以使用对每天的数据帧进行分组

df['date'] = pd.to_datetime(df['date'])
df_grouped = df.groupby([df['date'].dt.date])
df_list = []
for idx, data in df_grouped:
df_list.append(data)

我如何将其联系在一起以获得仅包含[09:00:00-11:59:59]之间数据的数据帧列表。其目的是循环浏览数据帧和[09:00:00-11:59:59]的数据,并将每个数据帧传递到某个函数中进行进一步处理:

您已经有了df1,现在分组依据:

df_grouped = df1.groupby(pd.to_datetime(df1['date']).dt.date) )
df_list = [d for _,d in df_grouped]

最新更新