我有一个数据帧,看起来像:
YEAR | REGION | POWER |
2009 | West | 1.66 |
2009 | West | 1.77 |
2009 | East | 10.6 |
2009 | East | 8.7 |
2010 | West | 11.9 |
2010 | North | 14.8 |
2010 | North | 4.6 |
2010 | West | 3.0 |
2011 | East | 7.0 |
2011 | East | 9.66 |
我想对幂的数值求和,按年和地区分组,得到如下结果:
YEAR | REGION | POWER |
2009 | West | 3.43 |
2009 | East | 19.3 |
2010 | West | 11.9 |
2010 | North | 19.4 |
2010 | West | 3.0 |
2011 | East | 16.66 |
我试过:
df.groupby(['YEAR', 'REGION'])['POWER'].sum()
但我得到的是一个级数,它的值是乘幂,而不是求和。你知道吗
有人能帮忙做这个手术吗?你知道吗
使用
shift
和cumsum
创建grouper列:输出:
详细说明了grouper列,grp在聚合之前的样子。对于每年检查的地区,以以前记录的地区,如果不同的增量为1。然后,康姆在那一年创建了小组。你知道吗
在
groupby
上运行sum
,然后reset_index()
将其展平。像这样:相关问题 更多 >
编程相关推荐