Сортировать фрейм данных Pandas по промежуточной сумме и подсчитыватьPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сортировать фрейм данных Pandas по промежуточной сумме и подсчитывать

Сообщение Anonymous »

У меня есть очень большой набор данных под названием bin_df.
Используя pandas и следующий код, я присвоил каждой группе промежуточный итог «Итого»:

Код: Выделить всё

        bin_df = df[df["category"].isin(model.BINARY_CATEGORY_VALUES)]

bin_category_mime_type_count_df = (
bin_df.groupby(["category", "mime_type"])["mime_type"]
.count()
.reset_index(name="Count")
)
Вывод из bin_category_mime_type_count_df:

Код: Выделить всё

      category                   mime_type  Count
1      application/x-executable     19
1  application/x-pie-executable    395
1       application/x-sharedlib      1
2       application/x-sharedlib    755
3       application/x-sharedlib      1
6          application/x-object    129
Тогда:

Код: Выделить всё

        bin_category_total_count_df = (
bin_category_mime_type_count_df.groupby(["category", "mime_type"])[
"Count"
]
.sum()
.unstack()
)

bin_category_total_count_df = (
bin_category_total_count_df.assign(
Total=bin_category_total_count_df.sum(1)
)
.stack()
.to_frame("Count")
)

bin_category_total_count_df["Count"] = (
bin_category_total_count_df["Count"].astype("Int64").fillna(0)
)
В результате получается следующее (по умолчанию оно отсортировано по категориям):

Код: Выделить всё

                                        Count
category mime_type
1        application/x-executable         19
application/x-pie-executable    395
application/x-sharedlib           1
Total                           415
2        application/x-sharedlib         755
Total                           755
3        application/x-sharedlib           1
Total                             1
6        application/x-object            129
Total                           129
Я хотел бы, чтобы он был отсортирован по «Итогу», а затем внутри категории я хотел бы, чтобы он был отсортирован по количеству mime_type:

Код: Выделить всё

                                        Count
category mime_type
2        application/x-sharedlib         755
Total                           755
1        application/x-pie-executable    395
application/x-executable         19
application/x-sharedlib           1
Total                           415
6        application/x-object            129
Total                           129
3        application/x-sharedlib           1
Total                             1
На какую функцию мне следует обратить внимание, чтобы получить желаемый результат?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -and-count
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»