0

I have a dataframe with the following format:

typeA typeB  valueA valueB valueC
A      16      1      1      1
A      16      2      1      0
B      16      1      0      0
B      16      0      0      0
B      22      2      2      2
...

How can I sum all columns for every group? that I have the following output:

typeA typeB valueA valueB valueC
A     16     3      2       1
B     16     1      0       0
B     22     2      2       2
...
PV8
  • 5,799
  • 7
  • 43
  • 87

1 Answers1

2

You can use pivot_table:

df.pivot_table(index=['typeA', 'typeB'],
               values=['valueA', 'valueB', 'valueC'],
               aggfunc=sum)\
  .reset_index()

Output:

   typeA  typeB  valueA  valueB  valueC
0      A     16       3       2       1
1      B     16       1       0       0
2      B     22       2       2       2
Arkadiusz
  • 1,835
  • 1
  • 8
  • 15