gpt4 book ai didi

python - 在单列中按多年分组并绘制堆叠的结果

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:28 26 4
gpt4 key购买 nike

我有一个看起来像这样的数据框,默认的 pandas 索引从 0 开始:

index     Year    Count    Name
0 2005 70000 Apple
1 2005 60000 Banana
2 2006 20000 Pineapple
3 2007 70000 Cherry
4 2007 60000 Coconut
5 2007 40000 Pear
6 2008 90000 Grape
7 2008 10000 Apricot

我想创建此数据的堆积条形图。但是,使用 df.groupby() 函数只允许我对这些数据调用 .mean() 或 .count() 等函数,以便按年份绘制数据。我得到以下结果,它将每个数据点分开并且不按共享年份对它们进行分组。

enter image description here我看过堆叠条形图的 matplotlib 示例,但它们按公共(public)索引分组,在这种情况下,我没有要绘制的公共(public)索引。有没有一种方法可以在不重新排列整个数据框的情况下对这些数据进行分组和绘制?

最佳答案

如果我没理解错的话,你可以先使用 pivot 来做到这一点:

df1 = pd.pivot_table(df, values='Count', index='Year', columns='Name')
df1.plot(kind='bar')

输出:

enter image description here或者使用参数 stacked=True:

df1.plot(kind='bar', stacked=True)

enter image description here

关于python - 在单列中按多年分组并绘制堆叠的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53624347/

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