在将垂直数据转换为水平数据的过程中聚合数据(例如R的dcast函数)

时间:2018-10-16 10:04:15

标签: python sum dcast

输入:

x   y   z   a     b     wkn   year   S1   S2
A   1   6   121   1066  18    2015   10   5
A   1   6   121   1066  18    2015   20   6
A   1   6   121   1066  19    2015   5    3

预期输出:

x   y   z    a      b   wkn   S1_2015  S2_2015
A   1   6   121   1066  18      30      11
A   1   6   121   1066  19      5       3

group_keys = [x,y,z,a,b,wkn]

aggrgated_function:总和

任何人都可以帮助我获得预期的输出。

谢谢。

1 个答案:

答案 0 :(得分:0)

假设您输入的内容是pandas.DataFrame,则只需执行以下操作:

df.groupby(['x','y','z','a','b','wkn','year]).agg('sum')

这将导致:

                                    S1  S2
x   y   z   a   b    wkn    year        
A   1   6   121 1066  18    2015    30  11
                      19    2015    5   3