相关疑难解决方法(0)

如何使用python(Pandas)堆积条形集群

所以这是我的数据集的样子:

In [1]: df1=pd.DataFrame(np.random.rand(4,2),index=["A","B","C","D"],columns=["I","J"])

In [2]: df2=pd.DataFrame(np.random.rand(4,2),index=["A","B","C","D"],columns=["I","J"])

In [3]: df1
Out[3]: 
          I         J
A  0.675616  0.177597
B  0.675693  0.598682
C  0.631376  0.598966
D  0.229858  0.378817

In [4]: df2
Out[4]: 
          I         J
A  0.939620  0.984616
B  0.314818  0.456252
C  0.630907  0.656341
D  0.020994  0.538303
Run Code Online (Sandbox Code Playgroud)

我希望每个数据帧都有堆积条形图,但由于它们具有相同的索引,我希望每个索引有2个堆叠条形.

我试图在同一轴上绘制两个:

In [5]: ax = df1.plot(kind="bar", stacked=True)

In [5]: ax2 = df2.plot(kind="bar", stacked=True, ax = ax)
Run Code Online (Sandbox Code Playgroud)

但它重叠.

然后我尝试先连接两个数据集:

pd.concat(dict(df1 = df1, df2 = df2),axis = 1).plot(kind="bar", stacked=True)
Run Code Online (Sandbox Code Playgroud)

但这里一切都堆积如山

我最好的尝试是:

 pd.concat(dict(df1 = df1, df2 = df2),axis = …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib pandas seaborn

46
推荐指数
5
解决办法
3万
查看次数

在熊猫中制作堆积的条形图

我想从以下数据框创建一个堆积条形图:

   VALUE     COUNT  RECL_LCC  RECL_PI
0      1  15686114         3        1
1      2  27537963         1        1
2      3  23448904         1        2
3      4   1213184         1        3
4      5  14185448         3        2
5      6  13064600         3        3
6      7  27043180         2        2
7      8  11732405         2        1
8      9  14773871         2        3
Run Code Online (Sandbox Code Playgroud)

情节中会有2个酒吧.一个用于RECL_LCC,另一个用于RECL_PI.每个条形中有3个部分对应于RECL_LCC和RECL_PI中的唯一值,即1,2,3,并将每个部分的COUNT相加.到目前为止,我有这样的事情:

df = df.convert_objects(convert_numeric=True)    
sub_df = df.groupby(['RECL_LCC','RECL_PI'])['COUNT'].sum().unstack()
sub_df.plot(kind='bar',stacked=True)
Run Code Online (Sandbox Code Playgroud)

但是,我得到这个情节: 在此输入图像描述

有关如何解决它的任何想法?我对groupby做错了,但不确定解决方案

python plot stacked pandas

5
推荐指数
1
解决办法
8002
查看次数

标签 统计

pandas ×2

plot ×2

python ×2

matplotlib ×1

seaborn ×1

stacked ×1