При построении DataFrame каждый столбец становится записью легенды, а каждая строка становится категорией горизонтальной оси.
# Example data (different from yours):
df = pd.DataFrame({'Responder': ['Y', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'N'],
'female': [0, 1, 1, 0, 1, 1, 0, 1],
'married': [0, 1, 1, 1, 1, 0, 0, 1],
'children': [0, 1, 0, 1, 1, 0, 1, 0]})
g = df.groupby('Responder')
res = g.mean().T
res
Responder N Y
female 1.00 0.25
married 0.75 0.50
children 0.25 0.75
res.plot(kind='bar')
ПоКстати, я не уверен, что mean
является правильным выбором, поскольку ваши исходные данные состоят из двоичных чисел.Будет ли нормализованная сумма иметь больше смысла?