Построение частот в Сиборне - PullRequest
0 голосов
/ 12 апреля 2019

Я смотрю на набор данных SNL и хочу использовать seaborn, чтобы взглянуть на пару разных вещей.

Я использую это, чтобы узнать больше о визуализациях в jupyter (иначе яначинающий).

Набор данных выглядит следующим образом: enter image description here

помощь: актер
вместимость: какова их роль
чародейка: уникальнаяидентификатор персонажа
impid: уникальный идентификатор олицетворения
роль: название роли, которую они сыграли
tid: идентификатор эскиза
голос: они были просто голосом за кадром?
epid: id эпизода
sid:идентификатор сезона

Некоторые вопросы: кто из 20 лучших актеров появился в SNL?Символы используются чаще всего?Впечатления чаще всего?Какие персонажи играли несколько актеров?

Я пробовал это, но это очень много людей, я хочу ограничить его до 20 человек.Или, если у вас есть предложения других визуализаций, попробуйте «Я весь в ушах».

plt.style.use('seaborn-whitegrid')
plt.figure(figsize=(5,5)) 
sns.countplot(y="aid", data=appearances);

Некоторые примеры графиков того, как ответить на некоторые из этих вопросов, были бы потрясающими !!

1 Ответ

2 голосов
/ 16 апреля 2019

Ваш вопрос довольно широкий, но в целом для каждой серии вы можете сделать следующее:

Получить счетчик для каждого уникального элемента определенного столбца и взять только 20 элементов с наибольшим количеством:

top20aid=appearances.groupby(['aid'],sort=False)['aid'].count().sort_values().tail(20)
    bot20aid=appearances.groupby(['aid'],sort=False)['aid'].count().sort_values().head(20)

Примечание: sort_values, по умолчанию сортировка в порядке возрастания.Следовательно, чтобы найти значения с наибольшим количеством, мы используем tail().Вы можете отсортировать в порядке убывания, используя следующую команду .sort_values(ascending=False).В этом случае вы должны выбрать элементы с наибольшим количеством, используя .head().например,

top20aid=appearances.groupby(['aid'],sort=False)['aid'].count().sort_values(ascending=False).head(20)
bot20aid=appearances.groupby(['aid'],sort=False)['aid'].count().sort_values(ascending=False).tail(20)

Затем просто отобразите результаты в barplot

sns.barplot(top20aid.values,top20aid.index)
...