用Pandas制作堆积条形图

2024-06-16 09:45:19 发布

您现在位置:Python中文网/ 问答频道 /正文

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

   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

情节中会有两个小节。一个用于重合闸LCC,另一个用于重合闸PI。每个条中有3个部分对应于RECL_LCC和RECL_PI中的唯一值,即1、2、3,并将每个部分的计数相加。到目前为止,我有这样的东西:

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)

但是,我得到了这个情节: enter image description here

你知道怎么修吗?我对groupby做了些错事,但不确定解决方法


Tags: 数据trueconvertdfobjectsvaluecountpi
1条回答
网友
1楼 · 发布于 2024-06-16 09:45:19

我已经把数据显示在stackpandas.dat。鉴于这些数据:

from pandas import *
import matplotlib.pyplot as plt

df = read_table("stackpandas.dat"," +",engine='python')

df = df.convert_objects(convert_numeric=True)
sub_df1 = df.groupby(['RECL_LCC'])['COUNT'].sum()
sub_df2 = df.groupby(['RECL_PI'])['COUNT'].sum()
sub_df = concat([sub_df1,sub_df2],keys=["RECL_LCC","RECL_PI"]).unstack()
sub_df.plot(kind='bar',stacked=True,rot=1)
plt.show()

。。。给予: enter image description here

。。。我想这就是我们所追求的。

相关问题 更多 >