对 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')
假设,我有这样的数据,
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')