Например, это кадр данных:
Manager Status Price
0 Debra Henley declined 1000
1 Fred Anderson pending 1001
2 Debra Henley presented 1002
3 Fred Anderson won 1003
4 Debra Henley declined 1004
5 Fred Anderson pending 1005
6 Debra Henley presented 1006
7 Fred Anderson won 1007
8 Debra Henley declined 1008
9 Fred Anderson pending 1009
10 Debra Henley presented 1010
11 Fred Anderson won 1011
12 Debra Henley declined 1012
13 Fred Anderson declined 1013
14 Debra Henley pending 1014
15 Fred Anderson presented 1015
16 Debra Henley won 1016
17 Fred Anderson declined 1017
18 Debra Henley declined 1018
Чтобы повернуть таблицу:
df.pivot_table(values='Price', index=['Manager', 'Status'], margins=True, margins_name='Total', aggfunc={'Price': np.sum})
Результат:
Price
Manager Status
Debra Henley declined 5042
pending 1014
presented 3018
won 1016
Fred Anderson declined 2030
pending 3015
presented 1015
won 3021
Добавить Всего в последнем ряду, добавьте margins=True, margins_name='Total'
к своему сводному коду.
Окончательный код:
df.pivot_table(values='Price', index=['Manager', 'Status'], margins=True, margins_name='Total', aggfunc={'Price': np.sum})
Результат:
Price
Manager Status
Debra Henley declined 5042
pending 1014
presented 3018
won 1016
Fred Anderson declined 2030
pending 3015
presented 1015
won 3021
Total 19171
Надеюсь, что это такполезно