gpt4 book ai didi

python - Pandas :如何绘制两个类别和四个系列的条形图?

转载 作者:太空狗 更新时间:2023-10-30 01:12:51 26 4
gpt4 key购买 nike

我有以下数据框,其中 pd.concat 已用于对列进行分组:

    a               b            
C1 C2 C3 C4 C5 C6 C7 C8
0 15 37 17 10 8 11 19 86
1 39 84 11 5 5 13 9 11
2 10 20 30 51 74 62 56 58
3 88 2 1 3 9 6 0 17
4 17 17 32 24 91 45 63 48

现在我想绘制一个条形图,其中我只有两个类别(ab),每个类别有四个条代表每列的平均值。 C1 和 C5 列应具有相同的颜色,C2 和 C6 列也应具有相同的颜色,依此类推。

我如何使用 df.plot.bar() 来完成?

绘图应类似于下图。很抱歉它是手绘的,但我很难找到相关的例子: enter image description here

编辑

这是我实际的 DataFrame 的 header :

    C1  C2  C3  C4  C5  C6  C7  C8
0 34 34 34 34 6 40 13 26
1 19 19 19 19 5 27 12 15
2 100 100 100 100 0 0 0 0
3 0 0 0 0 0 0 0 0
4 100 100 100 100 0 0 0 0

最佳答案

您可以在计算DFmean 后简单地执行unstack 以呈现条形图。

import seaborn as sns
sns.set_style('white')

#color=0.75(grey)
df.mean().unstack().plot.bar(color=list('rbg')+['0.75'], rot=0, figsize=(8,8))

Image


数据:(根据编辑后的帖子)

df

Image

通过根据列的选择(此处为 4)重复标签来创建一个额外的列,从而准备多索引 DF

df_multi_col = df.T.reset_index()
df_multi_col['labels'] = np.concatenate((np.repeat('A', 4), np.repeat('B', 4)))
df_multi_col.set_index(['labels', 'index'], inplace=True)
df_multi_col

Image

df_multi_col.mean(1).unstack().plot.bar(color=list('rbg')+['0.75'], rot=0, figsize=(6,6), width=2)

Image

关于python - Pandas :如何绘制两个类别和四个系列的条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39774826/

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