gpt4 book ai didi

pandas - 如何绘制 100% 堆积条形图?

转载 作者:行者123 更新时间:2023-12-04 10:19:29 25 4
gpt4 key购买 nike

假设我有如下 DataFrame;

df = pd.DataFrame({"name":["Foo", "Foo", "Baar", "Foo", "Baar", "Foo", "Baar", "Baar"], "count_1":[5,10,12,15,20,25,30,35], "count_2" :[100,150,100,25,250,300,400,500]})

我可以绘制堆积图如下:
df.groupby(['name'])['count_1', 'count_2'].sum().plot(kind='bar', stacked=True)

Plot

那么如何制作 100% 堆积条形图呢?这是我的期望:
Plot2

我也可以得到 % 数吗?

最佳答案

您需要在总和之后进行划分,如下所示:

df = pd.DataFrame(df.groupby(['name'])['count_1', 'count_2'].sum())
df = df.divide(df.sum(axis=1), axis=0)
ax = df.plot(kind='bar', stacked=True, title='100 % stacked area chart')

并注释:
for p in ax.patches:
ax.annotate(str(int(p.get_height()*100))+'%', (p.get_x(), p.get_height()))

关于pandas - 如何绘制 100% 堆积条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60928914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com