我是熊猫/熊猫数据分析的新手,来自Matlab背景。我试图将数据分组,然后处理各个组。但是,我不知道如何实际访问分组结果。
这是我的设置:我有一个熊猫数据框df
,具有固定间隔的DateTime索引timestamp
,频率为10分钟。我的数据总共持续了几个星期。现在我想按天对数据进行分组,如下所示:
grouping = df.groupby([pd.Grouper(level="timestamp", freq="D",)])
注意我做的是而不是想要聚合组(似乎与大多数示例和教程相反)。我只是想依次处理每个组并单独处理,像这样(不起作用):
for g in grouping:
g_df = d.toDataFrame()
some_processing(g_df)
我该怎么做?我还没有找到任何方法从DataFrameGroupBy
对象中提取每日数据框架对象。
将组扩展为数据框架字典:
data = dict(list(df.groupby(df.index.date.astype(str))))
>>> data.keys()
dict_keys(['2021-01-01', '2021-01-02'])
>>> data['2021-01-01']
value
timestamp
2021-01-01 00:00:00 0.405630
2021-01-01 01:00:00 0.262235
2021-01-01 02:00:00 0.913946
2021-01-01 03:00:00 0.467516
2021-01-01 04:00:00 0.367712
2021-01-01 05:00:00 0.849070
2021-01-01 06:00:00 0.572143
2021-01-01 07:00:00 0.423401
2021-01-01 08:00:00 0.931463
2021-01-01 09:00:00 0.554809
2021-01-01 10:00:00 0.561663
2021-01-01 11:00:00 0.537471
2021-01-01 12:00:00 0.461099
2021-01-01 13:00:00 0.751878
2021-01-01 14:00:00 0.266371
2021-01-01 15:00:00 0.954553
2021-01-01 16:00:00 0.895575
2021-01-01 17:00:00 0.752671
2021-01-01 18:00:00 0.230219
2021-01-01 19:00:00 0.750243
2021-01-01 20:00:00 0.812728
2021-01-01 21:00:00 0.195416
2021-01-01 22:00:00 0.178367
2021-01-01 23:00:00 0.607105
注意:我改变了你的组更容易索引:'2021-01-01'
而不是Timestamp('2021-01-01 00:00:00', freq='D')