以下のようにagg関数をつかうとできます。
参考:Python: pandas の DataFrameGroupBy#agg() には関数も渡せる
単純な集計なら.sum()でよいです。
Python
1import pandas as pd
2from io import StringIO
3s = """A,B,C
409011,20,10
509021,50,20
609021,30,10
709031,20,30
809031,30,40"""
9df = pd.read_csv(StringIO(s), dtype={'A':str})
10print(df)
11#       A   B   C
12#0  09011  20  10
13#1  09021  50  20
14#2  09021  30  10
15#3  09031  20  30
16#4  09031  30  40
17
18
19dfg = df.groupby('A').sum()
20print(dfg)
21#        B   C
22#A
23#09011  20  10
24#09021  80  30
25#09031  50  70
26
27
28def func(sr):
29    s = f'{sum(sr)}'
30    if len(sr) > 1:
31        exp = '+'.join(map(str,sr))
32        s += f'({exp})'
33    return s
34
35dfg = df.groupby('A').agg({'B':func, 'C':func})
36print(dfg)
37#               B          C
38#A
39#09011         20         10
40#09021  80(50+30)  30(20+10)
41#09031  50(20+30)  70(30+40)