python - 在分组条形图中绘制 pandas DataFrame 中不同条目数的平均值
问题描述
我有这个csv,其中包含一些算法在某些矩阵上测量的时间,每次具有不同数量的 cpu。每个 cpu 都打印了他们的时间,所以我使用的 cpu 越多,我拥有的行数就越多。(例如,如果我使用 1 个 cpu,我进行了一次测量,如果我使用了 2,我将进行了 2 次测量,等等。上升到 64)
我想要做的是在分组条形图中绘制,其中组中的每个条都是不同的“算法”条目,x 轴是核心数(csv 中的“numtasks”),y 轴是该组中所有核心的平均值(例如,对于 2 个核心是这 2 个核心的平均时间,4 个核心是这 4 个核心的平均等)。
(编辑:有点像这样)
我尝试使用 pandas 几个小时pivot()
,mean()
并concat()
输入结果但无济于事。
如果有人能指出正确的方向,我会很高兴,在此先感谢!
解决方案
据我了解,这些是您在堆积条形图上想要的属性。unstack()
关键步骤是使用和调整结果droplevel()
fig, ax = plt.subplots(1,1, figsize=[10,5],
sharey=False, sharex=False, gridspec_kw={"hspace":0.3})
(pd.read_csv("EH3CzHf8.txt")
.groupby(["algo","numtasks"])["total"].mean()
.to_frame()
.unstack(0)
.droplevel([0], axis=1)
.plot(ax=ax, kind="bar", stacked=True)
)
输出
推荐阅读
- python - 需要帮助在 python 输出后添加文本
- sql - 在 SQL 中使用 Json auto 进入打开的 Json
- php - 如何将 HTML 登录页面连接到 myphpadmin 并根据数据库上的凭据将两个帐户定向到 2 个单独的登录页面
- python - 用python矩阵的特征向量和特征值
- r - 如何对 R 中的行和列进行子集化
- node.js - Windows 10下的nmp install -g,不识别为命令
- sqlalchemy - Fastapi sqlalchemy pydantic 关系字段
- html - 我错过了什么?CSS中的字体颜色
- node.js - 从所有获取公会 ID 的服务器更改昵称
- html - 有没有办法影响 img 的位置,但不影响锚元素中的源?