Python.sum()给了我一个与plt.bar()和sns.barplot()不同的结果,这是正确的吗?

Python.sum()给了我一个与plt.bar()和sns.barplot()不同的结果,这是正确的吗?,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个数据集,看起来像: User ID | Group | Revenue 101 | 1 | 0 102 | 2 | 1.3 103 | 2 | 0.5 103 | 1 | 2.3 104 | 1 | 1.4 ... | ... | ... 我想知道每个团体的收入。我已经做到了: df.groupby('Group').Revenue.sum() 已返回: Gr

我有一个数据集,看起来像:

User ID | Group | Revenue
101     |   1   |    0
102     |   2   |    1.3
103     |   2   |    0.5
103     |   1   |    2.3
104     |   1   |    1.4
...     |   ... |   ...
我想知道每个团体的收入。我已经做到了:

df.groupby('Group').Revenue.sum()
已返回:

Group
Group 1    643.00
Group 2    351.47
Name: Revenue, dtype: float64
然后,我通过执行以下操作将其绘制在matplotlib中:

plt.bar(df.Group, df.Revenue)
plt.show()
我得到了这个图表:

第一组在左边

在seaborn上试用时,我编写了以下代码:

sns.barplot(data=df, x='Group', y='Revenue')
plt.show()
我得到了这个图表:

第一组在右边

我希望得到每个群体的总收入,但不确定哪个结果是正确的,以及其他人试图展示的内容。不知道如何改变图表,如果他们是错误的,以显示真实的收入总额


谢谢。

完成分组依据后,您可以使用该分组依据对象绘制条形图:

In [8]: df = pd.DataFrame([[1, 343], [1, 300], [2, 300], [2, 51.47]], columns=['Group', 'Revenue'])

In [9]: df.groupby('Group').Revenue.sum().plot.bar()
Out[9]: <matplotlib.axes._subplots.AxesSubplot at 0x7f97345e7710>

In [10]: plt.show()
[8]中的
df=pd.DataFrame([1343]、[1300]、[2300]、[251.47]、columns=['Group]、[Revenue')
[9]中:df.groupby('Group').Revenue.sum().plot.bar()
出[9]:
In[10]:plt.show()

我尝试了这个方法,但是我得到了
AttributeError:“Series”对象没有属性“plt”
。我现在尝试的是将
groupby
代码放入
plt.bar()
。你知道为什么我得到的图形的答案与总和不同吗?Series对象没有plt属性,但它有plot属性。你复制粘贴了我的答案吗?谢谢,这给了我一张和我的总和相同的图表。我最初认为“plot”是对pyplot的引用,我将其作为plt导入。不管怎样,谢谢你给我看!Seaborn条形图显示各组的平均值以及平均值的标准偏差或置信区间(取决于给定参数)。感谢您的解释,这是有意义的。