Вводная часть
Для создания графиков были выбраны сводные данные о лекарствах в формате таблица Excel. В данной таблице представлены сведения об исключенных лекарственных препаратах разделенные по следующим столбцам: 1) Международное название, 2) Торговое наименование, 3) Лекарственная фирма, 4) Производитель, 5) Количество, 6) Предельная цена, 7) Номер сертификата, 8) Дата регистрации, 9) Штрих-код, 10) Причина исключения, 11) Дата исключения. И далее идет список из 435 строк с различными препаратами и информацией о них.

Фрагмент из таблицы с данными для анализа
Было интересно проанализировать именно данные из предметно-количественного учета аптеки, потому что в результате работы можно изучить новые материалы, с которыми не доводилось сталкиваться прежде и провести их анализ.
В результате анализа были выбраны следующие виды диаграмм: линейчатая диаграмма, гистограмма, круговая диаграмма и диаграмма Парето. Именно на них можно качественно и точно отобразить и скомбинировать данные для наилучшего понимания и усвоения информации из таблицы.
Этапы работы

готовый код (1)
готовый код (2)
- Вначале происходит подготовка данных:
Импорт библиотек:
- Следующий шаг-это преобразование данных:
Создание колонки ‘Страна производитель’: Определяем функцию russia (country): Если в строке country присутствует слово «Россия», возвращаем «Россия». Иначе возвращаем «Иностранный производитель». <df['Страна производитель'] = df['Производитель'].apply(russia)>: Применяем функцию russia ко всем значениям в столбце ‘Производитель’ и создаем новый столбец ‘Страна производитель’. Переопределение типа для колонки ‘Предельная цена’: <df['Предельная цена'] = df['Предельная цена'].astype(str)>: Преобразуем тип данных в столбце ‘Предельная цена’ в строковый.
<df['Предельная цена'] = df['Предельная цена'].str.replace(',', '.')>: Заменяем запятые на точки в строковых значениях. <df['Предельная цена'] = df['Предельная цена'].str.extract(r'(\d+.\d+|\d+)', expand=False).astype(float)>: Извлекаем числовые значения из строк и преобразуем их в тип float.
- Производим анализ и визуализацию:
Установка стиля для графиков: <sns.set_style("whitegrid")>: Устанавливаем стиль «whitegrid» для графиков Seaborn. Подсчёт самых распространённых торговых наименований: <top_medicines = df['Торговое наименование'].value_counts().head(10)>: Подсчитываем количество появлений каждого торгового наименования и берем 10 самых частых. <sns.barplot(...)>: Строим столбчатую диаграмму, показывающую количество лекарств для 10 самых распространенных наименований.
Средние цены для производителей из России и других стран: <avg_price_by_country = df.groupby('Страна производитель')['Предельная цена'].mean()>: Вычисляем среднюю предельную цену для каждого типа производителя (Россия / Иностранный). <sns.barplot(...)>: Строим столбчатую диаграмму, сравнивающую средние цены для российских и зарубежных производителей.
- Подсчёт причин исключения:
<exclusion_reasons = df['Причина исключения'].value_counts()>: Подсчитываем количество появлений каждой причины исключения. <plt.pie(...)>: Строим круговую диаграмму, показывающую процентное соотношение разных причин исключения.
5.Подсчёт количества по производителям: <producers_count = df['Производитель'].value_counts().head(10)>: Подсчитываем количество лекарств для 10 самых распространенных производителей. <sns.barplot(...)>: Строим столбчатую диаграмму, показывающую количество лекарств для 10 самых распространенных производителей. Построение гистограммы распределения предельных цен: <sns.histplot(...)>: Строим гистограмму, показывающую распределение предельных цен лекарств.
Для стилизации графиков была выбрана лаконичная цветовая гамма и определенное количество пастельных оттенков, чтобы верно различать данные в таблице и их нельзя было спутать. Для таких же целей выбран контрастный темный фон.
Итоговые графики
Линейчатая диаграмма
Гистограмма
Круговая диаграмма
Линейчатая диаграмма
Диаграмма Парето




