这是唯一的,因为我希望堆叠的条形图能够反映实际的数值,而不是根据示例计算计数或大小
我有一个数据框
## create Data frame
DF = pd.DataFrame({ 'name':
['AA6','B7Y','CCY','AA6','B7Y','CCY','AA6','B7Y','CCY','AA6'],
'measure': [3.2,4.2,6.8,5.6,3.1,4.8,8.8,3.0,1.9,2.1]})
我要按名称分组
#Create a groupby object
gb=DF.groupby(['name', 'measure'])
gb.aggregate('sum')
然后以名称(AA6,B7Y和CCY)的名称绘制三个类别的条形图,并堆叠每个相应的“度量”值,并按其顺序排列(不按升序显示在上方)
我已经尝试过了:
DF.groupby('name').plot(kind='bar', stacked=True)
但是它只是创建单独的图。
答案 0 :(得分:0)
如果我了解您的要求:
df = pd.DataFrame({ 'name': ['AA6','B7Y','CCY','AA6','B7Y','CCY','AA6','B7Y','CCY','AA6'],
'measure': [3.2,4.2,6.8,5.6,3.1,4.8,8.8,3.0,1.9,2.1]})
df.groupby(["name", "measure"])["measure"].sum().unstack().plot(kind="bar", stacked=True)
我们正在使用sum
来保持条形图中的measure
大小。
如果不需要图例,请将legend=False
添加到plot(...)
。