如何根据熊猫中值的频率绘制堆叠条形图?

厨房公主

我有一个包含两列“位置”和“等级值”的数据框。

rankvalue   position
    0   D   3
    1   D   20
    2   S   1
    3   D   80
    4   D   100
    5   S   1
    6   D   3
    7   D   100
    8   D   20
    9   D   80
    10  D   20
    11  D   80
    12  S   1
    13  D   3
    14  D   100
    15  S   1
    16  VS  3
    17  LS  100
    18  D   20
    19  LS  80

我按“位置”对它进行分组,然后计算每个位置的“等级值”的频率:

aggre= results.groupby(['position','rankvalue'])['position'].agg({'Frequency':'count'})

这产生百分比:

final = aggre.groupby(level=0).apply(lambda x:100 * x / float(x.sum()))

在此处输入图片说明

如何根据数据框“最终”生成堆叠条形图?

final.plot(kind='bar', stacked=True) # this does not produce intended stacked bar

x 轴应为位置 (1,3,20,80,100),y 轴应为频率百分比。任何帮助表示赞赏。

平方

尝试:

final.Frequency.unstack().plot.bar(stacked=True)

或者

final.Frequency.unstack(0).plot.bar(stacked=True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章