python - 按组绘制变量平均值,每个条形中具有指定数量的实例

标签 python pandas dataframe matplotlib bar-chart

我使用以下代码来绘制条形图:

df.groupby(['Borrow_Rank'])['Outcome'].mean().plot(kind = 'bar')

这显示了结果变量的平均值,范围为 0-1。但是,我还需要条形图来显示每个组中有多少个实例或行(每个组中有 2000-5000 个)。

最佳答案

您希望如何显示数据尚不清楚,但您可以使用多个聚合函数:

df.groupby(['Borrow_Rank'])['Outcome'].agg(['mean', 'count']).plot.bar()

输出:

enter image description here

其他选项,将计数注释为文本:

g = df.groupby(['Borrow_Rank'])['Outcome']
s = g.mean()
ax = s.plot.bar()

for x, (y, count) in enumerate(zip(s, g.count())):
    ax.annotate(f'n = {count}', (x, y), ha='center', va='bottom')

输出:

enter image description here

可重现的虚拟输入:

df = pd.DataFrame({'Borrow_Rank': list('AABABACC'), 'Outcome': range(8)})

关于python - 按组绘制变量平均值,每个条形中具有指定数量的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72716278/

相关文章:

python - 在 y 轴上绘制特定值而不是增加数据帧的比例

Python Pandas 只比较相同标签的 DataFrame 对象

python - Pandas DataFrame 中匹配行的索引 [Python]

python - pandas_profiling 主要方法在 Windows 10 上无法正常工作...构造函数有效,但方法无效

python - np.random.normal 的非随机采样版本

python - pandas dataframe 根据索引/列名称应用函数

python - Pandas :组合不同大小的数据框

python - 如果值不在使用 python 的数据中,则跳过文件

python - 如何从列表列表中的每个列表中删除某些索引

python - 如何在 ubuntu 机器上自动登录 jupyterhub