使用主键从两个Excel工作表中绘制分组条形图?

时间:2016-11-13 20:32:21

标签: python excel pandas plot analytics

我有两张Excel表格如下:

Sheet1

ٍSheet2

我需要在分组条形图中的每个Grade(Region1,Region2,..)中绘制每个Region(A,B,C,..)的计数。

我使用pandas加载了两张纸,如下所示:

xl = pd.ExcelFile("D:/Works.xlsx")
df = xl.parse("Sheet1")
ds = xl.parse("Sheet2")

然后我在一个数据框中合并了工作表:

data_set = pd.merge(df, ds, how='left')

DataFrame data_set被复制为:

data_set = pd.DataFrame({'Center_ID': ['E25007','E08003','E17020','E08004','E25007','E08035','E08614','E08026','E25023','E17006','E25007','E08004'],
 'Grade': ['A', 'B', 'B', 'A', 'C', 'F', 'A', 'A', 'E', 'F', 'C', 'B'],
 'Name': ['Jack','Eliana','Frank','Sheila','Irene','Celine','Sebastian','Teun','Silvia','Luis','Catalina','Patricia'],
 'Region': ['Region1',None,'Region4','Region3','Region1','Region2','Region2','Region3','Region3','Region2','Region1','Region3'],
 'Sector': ['Sector1',None,'Sector1','Sector3','Sector1','Sector1','Sector3','Sector2','Sector1','Sector2','Sector1','Sector3']})

接下来我可以做些什么来创建分组条形图?

1 个答案:

答案 0 :(得分:0)

您可以通过两种方式获得所需的输出。分组:

data_set.groupby(['Region','Grade'])['Grade'].count().unstac‌​k('Grade').fillna(0)‌​.plot(kind='bar')

grouped bar plots

stacked

data_set.groupby(['Region','Grade'])['Grade'].count().unstac‌​‌​k('Grade').fillna(‌​0)‌​.plot(kind='bar'‌​,sta‌​cked=True)

stacked bar plots

谢谢!