Подтвердить что ты не робот

Как можно построить гистограмму в pandas с использованием номинальных значений?

Дано:

ser = Series(['one', 'two', 'three', 'two', 'two'])

Как создать основную гистограмму этих значений?

Вот версия ASCII, которую я хочу увидеть в matplotlib:

     X
 X   X   X
-------------
one two three

Я устал видеть:

TypeError: cannot concatenate 'str' and 'float' objects
4b9b3361

Ответ 1

Вы можете использовать метод value_counts:

In [10]: ser.value_counts()
Out[10]: 
two      3
one      1
three    1

а затем нарисуйте это как гистограмму:

ser.value_counts().plot(kind='bar')

Изменить: я заметил, что это не сохраняет желаемый порядок. Если у вас есть список/серия для этого упорядочения (в этом случае ser[:3] будет делать), вы можете reindex перед построением графика:

In [12]: ser.value_counts().reindex(ser[:3])
Out[12]: 
one      1
two      3
three    1