python - 如何创建堆叠条形图,每列仅显示前 N 行(值)
问题描述
我是 Python 的新手,正在研究这个项目,寻找一家 IT 公司赢得的交易。对于下面的数据,我想创建一个 堆积条形图,仅显示每个“客户类别”的前 5 个“VP-Manager”值,即每个“客户类别”赢得最多交易的前 5 个“VP-Manager” '。
[数据样本][1]:https ://i.stack.imgur.com/f9sdG.png
我从@Jon Clements 对以下问题的回复中获得了指导: 创建数据框中每行 N 个最大列的堆叠条形图
这是我的代码:
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
解决方案
推荐阅读
- scala - 如何将元素排入队列然后将它们出列?
- android - 如何多屏幕尺寸 Android Studio
- java - 我无法从 json 文件中读取和打印值
- graphics - 修复屏幕空间反射中的伪影
- android - 是否可以在使用 kotlin 1.4.x 的项目中使用使用 kotlin 1.3.x 构建的库?
- python - Django {% if object.foreignkey %} 返回值的反面
- reactjs - 当我们在反应中传递标签时,为条款和条件赋予不同的颜色
- java - 在 Selenium 的负面测试之间关闭和打开新的 WebDriver 会话是否是正确的方法?
- video - 使用 FFMPEG 在图像上叠加透明视频
- swift - 如果我使用 AVAssetExportPresetPassthrough,则忽略 AVAssetExportSession AudioMix