У меня есть DataFrame pandas, содержащий процент учащихся, обладающих определенными навыками по каждому предмету, стратифицированных в зависимости от их пола
# Plot how the skills are distributed according to the subjects
df.sum(axis=1,level=[0]).plot(kind='bar')
df.plot(kind='bar')
Теперь я хотел бы добавить процентное соотношение мужчин и женщин к каждому столбцу в виде стопок. Например. для первой планки («Математика», «Выше базового») оно должно быть 50/50. Для планки («Литература», «Базовый») должно быть 40/60, для планки («Литература», «Низкая») должно быть 33,3/66,7 и так далее...
Как это сделать?
У меня есть DataFrame pandas, содержащий процент учащихся, обладающих определенными навыками по каждому предмету, стратифицированных в зависимости от их пола [code]iterables = [['Above basic','Basic','Low'], ['Female','Male']] index = pd.MultiIndex.from_product(iterables, names=["Skills", "Gender"]) df = pd.DataFrame(data=[[36,36,8,8,6,6],[46,46,2,3,1,2],[24,26,10,11,16,13]], index=["Math", "Literature", "Physics"], columns=index) print(df) [/code] Вывод: [code] Skill Above basic Basic Low Gender Female Male Female Male Female Male Math 36 36 8 8 6 6 Literature 46 46 2 3 1 2 Physics 24 26 10 11 16 13 [/code] Далее я хочу посмотреть, как навыки распределяются по предметам [code]# Plot how the skills are distributed according to the subjects df.sum(axis=1,level=[0]).plot(kind='bar') df.plot(kind='bar') [/code] [img]https://i.sstatic.net/XosqE.png[/img]
Теперь я хотел бы добавить процентное соотношение мужчин и женщин к каждому столбцу в виде стопок. Например. для первой планки («Математика», «Выше базового») оно должно быть 50/50. Для планки («Литература», «Базовый») должно быть 40/60, для планки («Литература», «Низкая») должно быть 33,3/66,7 и так далее... Как это сделать?