制作条形图时无法解释输入“百分比”[重复]
Posted
技术标签:
【中文标题】制作条形图时无法解释输入“百分比”[重复]【英文标题】:Could not interpret input 'percent' when making a barplot [duplicate] 【发布时间】:2021-12-18 19:47:18 【问题描述】:我有一个数据框,设置如下:
index Category Item
1 a true
2 b false
3 c true
4 b true
5 c false
6 a false
7 b true
8 c False
我想制作一个分组条形图,我可以在其中可视化每个类别 a、b 和 c 的真值和假值的百分比。我在下面提供了绘制此数据的尝试。我不断收到的错误是“无法解释输入'百分比'”。任何帮助表示赞赏。我对 seaborn 和 pandas 非常陌生。
sns.barplot(data=DF.loc[:,["Category", "Item"]], x="Category", y="percent", hue="Item", order=["a", "b", "c"])
【问题讨论】:
【参考方案1】:参数y
应该是您通过data
参数传递给函数的数据框的一列。在这里,您将传递它DF.loc[:,["Category", "Item"]]
,它只有 2 列,类别和项目。尝试改用data=DF
。
【讨论】:
【参考方案2】:您首先需要修改您的数据框以应用具有标准化计数的value_counts
:
df2 = (df.groupby('Category')['Item']
.value_counts(normalize=True)
.rename('percent').reset_index()
)
sns.barplot(data=df2, x="Category", y="percent", hue="Item", order=["a", "b", "c"])
注意。归一化计数是分数(介于 0 和 1 之间),如果您想要百分比,请乘以 100
【讨论】:
以上是关于制作条形图时无法解释输入“百分比”[重复]的主要内容,如果未能解决你的问题,请参考以下文章