Я создаю барплот с помощью группового показа, показывающего уровень успеха человека в 2012 календарном году. Это хорошо работает.Ось X = S_L, а ось Y -% успеха.У меня есть столбец в моем наборе данных для успеха (1 или 0).
ax=df[df['CY']==2012].groupby('S_L').success.mean().sort_values(ascending=False).plot(kind='bar',stacked=False)
Вместо того, чтобы показывать значения для каждого из графиков, я хочу показать расчеты за средним значением, то есть общее значение длякаждая группа и количество, где успех (который является флагом) = 1, то есть числитель.Например: если столбец показывает 90%, который рассчитывается как 9 (числитель), который является успешным / 10 (общий счет для данной группы S_L), я хочу показать n = 9 и n = 10 для этого бара.
Я посмотрел на эти сообщения Добавьте метки на барплоты , и это работает, когда я отображаю значения для столбцов.Тем не менее, я не знаю, как добавить значения для расчета.Поскольку я также сортирую значения в порядке убывания, я не знаю, как это сделать.Пожалуйста, помогите.
Мой код:
import pandas as pd
from os import path
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
fname=path.expanduser(r'Test file.xlsx')
df=pd.read_excel(io=fname,sheet_name='Sheet1')
ax=df.groupby('S_L').success.mean().sort_values(ascending=False).plot(kind='bar',stacked=False)
vals = ax.get_yticks()
ax.set_ylabel('Success Rate')
ax.set_yticklabels(['{:,.2%}'.format(x) for x in vals])
Ниже приведено изображение набора данных 