如何用分组依据绘制图?

时间:2020-07-21 04:30:24

标签: python matplotlib graph

我有一个这样的数据框:

quantity    fruit
---------------------
1           apple
1           apple
0           apple
1           orange

我想group by所有水果并绘制数量为1的总百分比图。 例如,苹果将具有2/3 = 66.67%,橙色将具有1/3 = 33.33%

因此,我想在x轴上绘制 fruit ,在y轴上绘制%的图形。

2 个答案:

答案 0 :(得分:1)

尝试以下操作:

pd.concat([dataframe, colum-you-want-to-group-by], axis=1).groupby('name-of the-column').name-of-the-column.mean().plot(kind='barh').set_xlabel('% TEXT')

如果您已从数据框中拆分了列,并且不只是像这样省略了concat,则上面的说法是正确的:

name-of-your-dataframe.groupby('name-of the-column').name-of-the-column.mean().plot(kind='barh').set_xlabel('% TEXT')

答案 1 :(得分:1)

我能够做到这一点,并获得想要的预期结果。检查一下。

{{1,2}, {3,20}, {40,5}, {3,2}}