Как получить 2 верхних элемента из каждой категории в столбчатую диаграмму без чека? - PullRequest
0 голосов
/ 28 апреля 2020

Мне нужно создать таблицу с несоставленными столбцами, которая показывает для каждой категории элементов, какими были 2 лучших бестселлера.

Example Input:

item_quant | item_name | item_category
1.0        | hellokitty| toy
2.0        | mighyapple| fruit
4.0        | winnypooh | toy
2.0        | tatatu.   | toy

Для игрушек item_category заказы с наивысшей покупкой выполнялись по item_names: winnypooh 4.0 и tatatu 2.0. Для фрукта item_category заказ с наивысшей покупкой был выполнен с помощью item_names: mighyapple 2.0, второй записи нет.

Теперь я хочу создать диаграмму unstacked, которая отображает item_category по оси x и item_quant на оси Y. Однако должна быть разбивка по item_name. ТОЛЬКО УЧАСТИЕ ТОП-2 ТОП-2!

Как бы я это сделал?

1 Ответ

1 голос
/ 28 апреля 2020

Пожалуйста, попробуйте

df.groupby(['item_category','item_name'])['item_quant'].sum().nlargest(2).unstack().plot(kind ='bar', stacked=True)

groupby item_category и item_name при расчете суммы

.nlargest(2) должны дать вам первые 2 в каждой группе

.plot(kind ='bar', stacked=True) указывает, что вы хотите построить гистограмму, которая сложена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...