Построение графика результата функции value_counts

У меня есть результат следующий функции:

df_1['product_name'].value_counts().loc[lambda x : x > 5]
df_1


тапки одноразовые                      277
плавки мужские плавательные            103
шапка войлок взрослая                   51
пружинки для волос                      40
шапка войлок модельная                  17
гель для душа                           15
набор шампунь и кондиционер Sargan      14
пантолеты женские пляжные ЭВА           13
шапка детская Лошадка, Рога             13
шапочка для плавания                    11
пантолеты мужские пляжные ЭВА           11
маска белая глина 100 г                 10
чехол со шнурком                        10
шапка войлок детская                     8
шапочка травяная                         7
краб для волос                           6
Name: product_name, dtype: int64

Как я могу построить эти данные в виде графика? Пробовал через:

import seaborn as sns
sns.countplot(s['product_name'])

Но не видит столбца в "s".

Также пробовал через:

b = df_1['product_name'].value_counts().loc[lambda x : x > 5]
plt.bar(b.index, b.values)

Тут всё получилось, но подписей данных не видно. Хотелось бы получить результат через seaborn.


Ответы (2 шт):

Автор решения: strawdog

если вы получаете результат в виде серии, то рисуйте график так:

sns.barplot(data=s, orient="h")

где s - ваша серия с результатом выполнения value_counts().

Если у вас результат получен в виду датафрейма, то делаете то же самое, но с явным указанием колонок данных:

sns.barplot(data=df, x=1, y=0, orient="h")

где x - колонка со значениями, y - с наименованием товаров

получите:

введите сюда описание изображения

ну и слово "однаразовые" исправьте на "одноразовые".

→ Ссылка
Автор решения: CrazyElf

Как вариант, можно без Seaborn и вообще без явного импорта графических библиотек, но будет не такой красивый график:

s = df_1['product_name'].value_counts()
s[s>5].plot(kind='barh')
→ Ссылка