[英]Plotting series using seaborn
category = df.category_name_column.value_counts()
我有上面的系列返回值:
CategoryA,100
CategoryB,200
我正在尝试在 X 轴上绘制前 5 个类别名称,在 y 轴上绘制值
head = (category.head(5))
sns.barplot(x = head ,y=df.category_name_column.value_counts(), data=df)
它不会在 X 轴上打印类别的“名称”,而是打印计数。 如何打印 X 中的前 5 个名称和 Y 中的值?
您可以在sns.barplot
中分别将系列的index
和values
传递给x
和y
。 这样,绘图代码变为:
sns.barplot(head.index, head.values)
我正在尝试绘制 X 中的前 5 个类别名称
调用category.head(5)
将返回系列category
的前五个值,根据每个类别出现的次数,这可能与前 5 个不同。 如果您想要 5 个最常见的类别,则必须先对系列进行排序,然后调用head(5)
。 像这样:
category = df.category_name_column.value_counts()
head = category.sort_values(ascending=False).head(5)
由于以前接受的解决方案在 seaborn 中已被弃用。 另一种解决方法可能如下:
category = df.category_name_column.value_counts()
category_df = category.reset_index()
category_df.columns = ['categories', 'frequency']
ax = sns.barplot(x = 'categories', y = 'frequency', data = category_df)
虽然这不完全是系列情节,但这是 seaborn 官方支持的解决方法。
有关更多条形图示例,请参阅此处:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.