У меня есть 3 фрейма данных для годовых данных (по одному за 2014, 2015 и 2016 годы), каждый из которых имеет 3 столбца с именем 'PRACTICE', 'BNF NAME', 'ITEMS'
.
BNF NAME относится к названиям лекарств, и я выбираю 3 ампициллина, амоксициллин и ко-амоксиклав. В этом столбце указаны разные силы / дозировки (например, Ко-Амоксиклав 200 мг или Ко-Амоксиклав 300 мг и т. Д.), Которые я хочу игнорировать, поэтому я использовал str.contains()
, чтобы выбрать эти 3 препарата. ITEMS
- общее количество рецептов, выписанных на каждый препарат.
Я хочу создать столбчатую диаграмму с накоплением, где по оси X будет указан год (2014, 2014, 2015), а по оси Y - общее количество рецептов, а каждая из 3 полосок будет разделена на 3 для каждого названия лекарства.
Я предполагаю, что мне нужно использовать df.groupby()
и, возможно, выбрать частичную строку, однако я не уверен, как объединить годовые данные, а затем как сгруппировать данные для создания столбчатой диаграммы с накоплением.
Будем очень признательны за любое руководство.
Это строка кода, которую я использую для выбора строк только для трех названий лекарств.
frame=frame[frame['BNF NAME'].str.contains('Ampicillin' and 'Amoxicillin' and 'Co-Amoxiclav')]
Вот на что похож каждый из фреймов данных:
PRACTICE | BNF NAME | ITEMS
Y00327 | Co-Amoxiclav_Tab 250mg/125mg | 23
Y00327 | Co-Amoxiclav_Susp 125mg/31mg/5ml S/F | 10
Y00327 | Co-Amoxiclav_Susp 250mg/62mg/5ml S/F | 6
Y00327 | Co-Amoxiclav_Susp 250mg/62mg/5ml | 1
Y00327 | Co-Amoxiclav_Tab 500mg/125mg | 50
frame.head(5).to_dict()
), мы сможем помочь вам быстрее. - person DataSwede   schedule 27.11.2016