Contando em grupos
Nos exercícios anteriores, você buscou dados das tabelas e depois resumiu os dataframes resultantes no pandas para criar gráficos. Usando COUNT e GROUP BY em uma consulta SQL, dá para obter esses números resumidos diretamente do banco de dados.
A tabela hpd311calls tem uma coluna, complaint_type, que categoriza os registros de chamadas por tipo de problema, como aquecimento ou encanamento. Para gerar um gráfico do volume de chamadas por tipo de problema, você vai escrever uma consulta SQL que faça COUNT dos registros por tipo de reclamação.
pandas já foi importado como pd, e o mecanismo de banco de dados para data.db já foi criado como engine.
Este exercício faz parte do curso
Ingestão de dados simplificada com pandas
Instruções do exercício
- Crie uma consulta SQL que obtenha a coluna
complaint_typee as contagens de todos os registros dehpd311calls, agrupadas porcomplaint_type. - Crie um dataframe com
read_sql()com as contagens de chamadas por tipo de problema,calls_by_issue. - Execute a última seção do código para gerar o gráfico com o número de chamadas para cada problema de habitação.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()