如何解决如何创建每列仅显示前 N 行值的堆积条形图
我是 Python 新手,正在研究这个项目,研究 IT 公司赢得的交易。 对于下面的数据,我想创建一个堆积条形图,仅显示每个“客户类别”的前 5 个“VP-Manager”值,即获胜的前 5 个“VP-Manager”每个“客户类别”的交易最多。
[数据样本][1]:https://i.stack.imgur.com/f9sdG.png
我从@Jon Clements 的回答中获得了以下问题的指导: Create a stacked bar chart of the N largest columns per row in a dataframe
这是我的代码:
top5 = (
# bring the client category back as a column to use as a grouping var
dataw.reset_index()
# make a long DF of client category/column/name value
.melt(id_vars='Client Category')
# order DF by highest values first
.sort_values('VP-Manager',ascending=False)
# group by the index and take the first 5 rows of each
.groupby('Client Category')
.head(5)
# pivot back so we've got an X & Y to chart...
.pivot('Client Category','VP-Manager')
# drop the value level as we don't need that
.droplevel(level=0,axis=1)
)
top5.plot.bar(stacked=True)
但我不断收到错误消息 KeyError: 'VP-Manager'
请问有人可以帮忙吗?谢谢!
更新:我正在寻找与此类似的图表 - [期望输出][2]:https://i.stack.imgur.com/yb6Xl.jpg
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。