Показать топ-3 «плохих» систем на линейке «хорошо» и «плохо» из фрейма данных (отсортировать по одному значению, но показать оба на графике) - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть фрейм данных, содержащий запросы на изменение (CR), систему, владельца и оценку (пример)

CR  |system |  owner  |  assessment
A1  |Alpha  |  Alice  |  good
A2  |Alpha  |  Alice  |  good
A3  |Alpha  |  Alice  |  bad
B2  |Bravo  |  Bob    |  bad
B3  |Bravo  |  Bob    |  good
B4  |Bravo  |  Bob    |  bad

Я пытаюсь создать график matplotlib для трех лучших систем с худшими показателямиоценки, но покажите гистограмму с накоплением в pyplot как с хорошими, так и с плохими значениями.

Этот код (CR был отброшен) дает мне правильную графику, но счет неправильный, так как он считает хорошие и плохие отдельно,

table = df.groupby(['system','owner']).assessment.value_counts().nlargest(3)
chart = table.plot.barh(stacked=True, color= ['red','green'], fontsize=12)

Таблица выглядит так (фактическая выдержка):

system                     owner             assessment         
ALPHA                      Alice             good                   75
                                             bad                    60
BRAVO                      Bob               bad                    57

Я попробовал несколько утверждений, чтобы вытащить топ-3 худших систем и показать график, который показывает как хорошиеи плохие значения на горизонтальном столбце с накоплением, но я не могу сделать оба одновременно.

Как сортировать по «плохим» числам (60 и 57), но показывать хорошие (75) и плохие (60) на одном и том же столбце с накоплением?И как я могу показать топ-3 худших систем (большинство плохих значений)?

Таким образом, результат сгруппированного бара, который я ищу, выглядит так:

Alpha    BBBBBBBBBGGGGGGGGG
Bravo    BBBBBBBBBBBBBB
Charlie  BBBGGGGGGGG

1 Ответ

0 голосов
/ 28 ноября 2018

Это решило мою проблему:

print (df.groupby (['system', 'owner']). Evaluation.value_counts (). Unstack (level = -1) .nlargest (3, столбцы= 'плохо'). стек ())

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