#pandas
#pandas
Вопрос:
Я выполняю упражнение наhttps://repl.it/@freeCodeCamp/fcc-medical-data-visualizer , и проблема groupby застряла у меня:
Теперь я получаю дерево типа nested-level groupby
, я хочу получить общее количество некоторых подуровней:
>>> m.groupby(['cardio', 'cholesterol', 'gluc', 'smoke', 'alco', 'active', 'overweight']).size()
cardio cholesterol gluc smoke alco active overweight
0 0 0 0 0 0 0 36400
1 0 158936
1 0 0 752
1 0 4056
1 0 0 0 1960
1 0 11640
1 0 0 744
1 0 5544
1 0 0 0 0 2440
1 0 10104
1 0 0 88
1 0 456
1 0 0 0 152
1 0 896
1 0 0 40
1 0 432
1 0 0 0 0 0 4056
1 0 18792
1 0 0 184
1 0 1144
1 0 0 0 320
1 0 1584
1 0 0 152
1 0 888
1 0 0 0 0 3400
1 0 12832
1 0 0 112
1 0 496
1 0 0 0 152
1 0 976
...
1 0 0 0 1 0 0 552
1 0 2968
1 0 0 0 1792
1 0 7536
1 0 0 704
1 0 2792
1 0 0 0 0 2840
1 0 10200
1 0 0 96
1 0 488
1 0 0 0 216
1 0 824
1 0 0 72
1 0 360
1 0 0 0 0 0 9680
1 0 41152
1 0 0 352
1 0 1992
1 0 0 0 792
1 0 3536
1 0 0 256
1 0 1576
1 0 0 0 0 6688
1 0 24848
1 0 0 240
1 0 1304
1 0 0 0 416
1 0 1728
1 0 0 216
1 0 616
dtype: int64
Например, я хочу суммировать количество cholesterol
, gluc
, smoke
alco
, active
и cardio->overweight
, чтобы получить 0
подуровень и общее количество 1
и cardio
по отношению к overweight
и и, что дало бы мне что-то вроде:
cardio overweight
0 0 88888
1 99999
1 0 77777
1 66666
Ответ №1:
Проверьте sum
и знайте свой level
df = df.sum(level = [0, 6])