График результатов опроса как pd.value_counts () - PullRequest
0 голосов
/ 25 февраля 2019

Я провел опрос, где ответы могут быть от 1 до 7, как, например, в случае с «абсолютно несчастным» до «абсолютно счастливым» и всем промежуточным, данные представляют собой ряд панд.Выполнение data.value_counts () для него приводит к упорядоченной таблице

5.0  6
6.0  5
7.0  5
3.0  1
2.0  1

, как я могу преобразовать ее в гистограмму, где а) 7 баров, по одному на каждую возможность ответа, б) упорядоченный 1-7 вместо по величине и в) с отдельными именами (крайне несчастными, несчастными, частично несчастными, нейтральными, частично счастливыми, счастливыми, чрезвычайно счастливыми) вместо 1-7 для баров?Спасибо!

1 Ответ

0 голосов
/ 25 февраля 2019

Создать словарь по zip, индекс карты по Index.map и reindex для добавления отсутствующих категорий с заданным порядком, последний график по Series.plot.bar:

s = pd.Series([6,5,5,1,1], index=[5.0,6.0,7.0,3.0,2.0])

cats = ['extremely unhappy', 'unhappy', 'partly unhappy', 
        'neutral', 'partly happy', 'happy', 'extremely happy']
vals = range(1, 8)
d = dict(zip(vals, cats))

s.index = s.index.map(d.get)
s1 = s.reindex(cats, fill_value=0)
print (s1)
extremely unhappy    0
unhappy              1
partly unhappy       1
neutral              0
partly happy         6
happy                5
extremely happy      5
dtype: int64

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