У меня есть данные с> 100 тыс. Строк, и мне нужно эффективно перегруппировать их из левого DataFrame в мультииндексированный правый, индексы которого сортируются по сумме значений в 3-м столбце, а внутри каждого индекса значения 2-го столбца сортируются по значения в 3-м столбце. Все сортировки по убыванию.
Я понятия не имею, как это сделать правильно, и уже потратил целый день на то, чтобы это выяснить.
a b c a sum b c %
foo one 1 foo 5 one 3 3/5
foo two 2 two 2 2/5
bar one 1 => baz 4 two 3 3/4
baz one 1 one 1 1/4
baz two 3 bar 3 six 2 2/3
foo one 2 one 1 1/3
bar six 2
UPDATE :
Код, заданный @ jezrael , работает очень хорошо, но выводит его следующим образом:
%
a sum b c
foo 5 one 3 0.60
two 2 0.40
six NaN NaN
baz 4 two 3 0.75
one 1 0.25
six NaN NaN
bar 1 one 1 1.00
two NaN NaN
six NaN NaN
Можно ли избавиться от этих строк с помощью NaN?
ОБНОВЛЕНИЕ № 2:
Я нашел проблему, которая дает проблему NaNs. Это было вызвано типом данных 'category' . Как это влияет на поведение кода, я не знаю. Просто указав причину.