У меня есть df, который содержит 'age_bracket' в форме 20-25, 25-30 и т. Д. И 'no_show', который имеет только значения 0 или 1 для указания того, пришел ли пациент на прием илине.
Для создания гистограммы мне нужны общие и пропорциональные значения для шоу против отсутствия шоу для возраста.Я попробовал это:
noshow_counts = df.groupby('age_bracket')['no_Show'].value_counts()[1]
show_counts = df.groupby('age_bracket')['no_Show'].value_counts()[0]
age_totals = df.groupby('age_bracket').count()['no_Show']
Вычисление пропорций, подобных этой
nowshow_proportions = noshow_counts / age_totals
show_proportions = show_counts /age_totals
И вот как это используется в гистограмме
#Bar Chart
ind = np.arange(len(nowshow_proportions))
width = 0.40
# plot bars
noshow_bars = plt.bar(ind, nowshow_proportions, width, color='g',
alpha=.7, label='No Show')
show_bar = plt.bar(ind + width, show_proportions, width, color='b',
alpha=.7, label='Show')
Это не продуктправильные значения.Я предполагаю, что это потому, что value_counts возвращает объект, а не серию.Так что это неверно
noshow_counts = df.groupby('age_bracket')['no_Show'].value_counts()[1]
show_counts = df.groupby('age_bracket')['no_Show'].value_counts()[0]
Есть ли способ выбрать только «1» и только «0» значения и вернуть серию?