Python 使用seaborn绘制序列

Python 使用seaborn绘制序列,python,pandas,matplotlib,data-visualization,seaborn,Python,Pandas,Matplotlib,Data Visualization,Seaborn,我有上面返回值的序列: category = df.category_name_column.value_counts() 我试图在X轴上绘制前5个类别名称,在y轴上绘制值 CategoryA,100 CategoryB,200 它不会在X轴上打印类别的“名称”,而是打印计数。如何打印X中的前5个名称和Y中的值?您可以在sns.barplot中将序列“索引”和值分别传递到X和Y。此时,打印代码变为: head = (category.head(5)) sns.barplot(x = h

我有上面返回值的序列:

category = df.category_name_column.value_counts()  
我试图在X轴上绘制前5个类别名称,在y轴上绘制值

CategoryA,100
CategoryB,200

它不会在X轴上打印类别的“名称”,而是打印计数。如何打印X中的前5个名称和Y中的值?

您可以在
sns.barplot
中将序列“
索引”和
值分别传递到
X
Y
。此时,打印代码变为:

head = (category.head(5)) 
sns.barplot(x = head ,y=df.category_name_column.value_counts(), data=df)
我正在尝试绘制X中前5个类别名称

调用
category.head(5)
将返回系列
category
中的前五个值,根据每个类别出现的次数,这五个值可能不同于前五个值。如果您想要5个最常见的类别,必须首先对序列进行排序,然后调用
head(5)
。像这样:

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

我得到AttributeError:“Series”对象没有属性“value”。对不起,这是我的输入错误。它应该是
values
@sagar如果解决了您的问题,请不要忘记接受这个答案。有没有办法仍然坚持“标准”函数调用
ax=sns。条形图(data=head,x=“index”,y=“values”)
不起作用。有什么想法吗?@user989762有。只需使用
pd.dataframe(您的\u系列)
将系列转换为数据帧即可。
category = df.category_name_column.value_counts()
head = category.sort_values(ascending=False).head(5)