python 限制条件分组该怎么求

假设有一群学生的信息表,分别来自1,2,3,4,5个班,现在想分别求每个班的男生数和女生数
如果正常分组的话我知道可以df.groupby('calss')['gender'].value_counts()
但是现在想分别得到每个班的男生数和每个班的女生数两个list,该怎么写呢
我能想到的只有df.loc[df.gender=='男']groupby('class')['gender'].value_counts()这种,请问有其他方法吗

classgender
1
2
1
3
5
4
2
4
我的解答思路和尝试过的方法
我想要达到的结果

可以尝试python中的决策树对指定数据进行特征划分