Подсчёт по группам
В предыдущих упражнениях вы извлекали данные из таблиц, а затем агрегировали полученные датафреймы в pandas для построения графиков. Используя COUNT и GROUP BY в SQL-запросе, можно получать сводные показатели напрямую из базы данных.
Таблица hpd311calls содержит столбец complaint_type, который классифицирует записи звонков по категориям проблем — например, отопление или водопровод. Чтобы построить график объёмов звонков по категориям, вам нужно написать SQL-запрос, который подсчитывает (COUNT) записи по типу жалобы.
pandas импортирован как pd, а подключение к базе данных data.db создано как engine.
Это упражнение является частью курса
Эффективный импорт данных с pandas
Инструкции к упражнению
- Создайте SQL-запрос, который выбирает столбец
complaint_typeи подсчитывает количество всех записей из таблицыhpd311calls, сгруппированных поcomplaint_type. - С помощью
read_sql()создайте датафреймcalls_by_issueс количеством звонков по каждой категории проблем. - Запустите последний блок кода, чтобы построить график числа звонков по каждой жилищной проблеме.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create query to get call counts by complaint_type
query = """
____ ____,
____(*)
FROM hpd311calls
____ ____;
"""
# Create dataframe of call counts by issue
calls_by_issue = pd.read_sql(____, ____)
# Graph the number of calls for each housing issue
calls_by_issue.plot.barh(x="complaint_type")
plt.show()