Вот хороший пример, хотя ваша серия рассматривается как кадр данных:
from io import StringIO
df = pd.read_table(StringIO('''
AnnualReportDate BoardID Gender val
20150901 2355 F 2
20150901 2355 M 3
20150901 8888 F 2
20150901 8888 M 3
20160901 5655 F 3
20160901 5655 M 3
20160901 9999 M 6
'''), delim_whitespace=True, index_col=['AnnualReportDate', 'BoardID', 'Gender'])
df.div(df.groupby(['AnnualReportDate','BoardID']).transform('sum')).unstack()
Выход:
Gender F M
AnnualReportDate BoardID
20150901 2355 0.4 0.6
8888 0.4 0.6
20160901 5655 0.5 0.5
9999 NaN 1.0