繁体   English   中英

使用 seaborn 绘制系列

[英]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中分别将系列的indexvalues传递给xy 这样,绘图代码变为:

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 中已被弃用 另一种解决方法可能如下:

  1. 将系列转换为数据框
category = df.category_name_column.value_counts()  
category_df = category.reset_index()
category_df.columns = ['categories', 'frequency']
  1. 使用条形图
ax = sns.barplot(x = 'categories', y = 'frequency', data = category_df)

虽然这不完全是系列情节,但这是 seaborn 官方支持的解决方法。

有关更多条形图示例,请参阅此处:

  1. https://seaborn.pydata.org/generated/seaborn.barplot.html
  2. https://stackabuse.com/seaborn-bar-plot-tutorial-and-examples/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM