首页 > 解决方案 > 计算两个数据框中一列的平均值,然后在带有特定标签的条形图中绘制每个数据框的平均值?

问题描述

这里是 Stack Overflow 的新手,如果这是一个愚蠢的问题,我们深表歉意。

我想知道,我如何计算特定列的两个数据帧的平均值,然后在具有特定标签的条形图上绘制两个数据帧的平均值?

例如,考虑下面的两个虚构数据框。

ID     NAME     NUMBER_GIRLS
----------------------------
1     SCHOOL_1       32
2     SCHOOL_2       12
3     SCHOOL_3       26
ID     NAME     NUMBER_GIRLS
----------------------------
1     SCHOOL_1       56
2     SCHOOL_2       33
3     SCHOOL_3       34

现在,通过计算两所学校的平均值NUMBER_GIRLS,我得到:

因此,通过计算这两个数据框的平均值,我如何将它们绘制在条形图上,以便将学校(北)标记为“北”,将学校(南)标记为“南”?

看起来像这样的东西:

我想要达到的目标

非常感谢任何帮助,因为我想做与此类似的事情,但需要更多数据帧。

谢谢!

标签: pythonpandasdataframematplotlibseaborn

解决方案


import matplotlib.pyplot as plt

objects = ('North', 'South')
y_pos = np.arange(len(objects))
performance = [23.3,41]

plt.bar(y_pos, performance, align='center', alpha=0.5)
plt.xticks(y_pos, objects)
plt.title('Average Number of Girls')

plt.show()

您可以用 Northdf[NUMBER_GIRLS].mean() 和 Southdf[NUMBER_GIRLS].mean() 或任何数据框名称替换 23.3 和 41


推荐阅读