Построить сгруппированную гистограмму из двух листов Excel с первичным ключом?
У меня есть два листа Excel следующим образом:
Мне нужно построить график каждого Grade
(A, B, C,..) в каждом Region
(Region1, Region2,..) в сгруппированной гистограмме.
Я загрузил два листа с помощью панд следующим образом:
xl = pd.ExcelFile("D:/Works.xlsx")
df = xl.parse("Sheet1")
ds = xl.parse("Sheet2")
Затем я объединил листы в один фрейм данных:
data_set = pd.merge(df, ds, how='left')
Фрейм данных 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 ответ
Решение
Вы можете получить желаемый результат двумя способами. Либо сгруппированы:
data_set.groupby(['Region','Grade'])['Grade'].count().unstack('Grade').fillna(0).plot(kind='bar')
или же stacked
:
data_set.groupby(['Region','Grade'])['Grade'].count().unstack('Grade').fillna(0).plot(kind='bar',stacked=True)
Спасибо!