我正在查看一个SNL数据集,我想用seaborn来研究几个不同的东西。
我正在使用它来学习有关jupyter中可视化的更多信息(又名我是初学者)。
援助:演员
能力:他们的角色是什么
charid:唯一字符ID
impid:唯一的模拟ID
角色:他们扮演的角色名称
提示:素描ID
声音:他们只是画外音吗?
epid:第id集
sid:季节ID
一些问题: 谁是SNL出现的前20名演员? 最常使用的字符? 印象最频繁? 哪些角色是由多个演员扮演的?
我尝试了这个,但人数太多了,我想限制为20个人。或者,如果您有其他可视化建议,请尝试。
plt.style.use('seaborn-whitegrid')
plt.figure(figsize=(5,5))
sns.countplot(y="aid", data=appearances);
一些如何回答其中一些问题的示例情节太神奇了!
答案 0 :(得分:2)
您的问题很广泛,但总的来说,对于每个系列,您都可以这样做:
获取特定列中每个唯一元素的计数,仅获取计数最高的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)
NB: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)