对 python 中的数据进行分组

Grouping the data in python

假设,我有这样的数据,

 Date      Time    Energy_produced
01.01.2016   00:00      500
01.01.2016   00:15      580
01.01.2016   00:30      600
01.01.2016   00:45      620
01.01.2016   01:00      580
01.01.2016   01:15      520
01.01.2016   01:30      590
01.01.2016   01:45      570
01.01.2016   02:00      540

现在,我想根据每小时产生的能量求和

假设 ,

Date          Hour      Energy produced per hour
01.01.2016   00:00      2280(per hour)
01:01:2016   01:00      2240(per hour)

这样求和怎么算?

如果您想将 Date/Time 保留为字符串,您可以使用:

(df.groupby(['Date', df['Time'].str[:3].rename('Hour')+'00'])
   ['Energy_produced'].sum()
   .reset_index()
 )

输出:

         Date   Hour  Energy_produced
0  01.01.2016  00:00             2300
1  01.01.2016  01:00             2260
2  01.01.2016  02:00              540

注意。您还可以通过以下方式获得第二组:df['Time'].str.replace(r'\d{2}$', '00', regex=True).rename('Hour')