Contar por grupos
En ejercicios anteriores, extrajiste datos de tablas y luego resumiste los dataframes resultantes en pandas para crear gráficos. Usando COUNT y GROUP BY en una consulta SQL, podemos obtener esas cifras resumidas directamente de la base de datos.
La tabla hpd311calls tiene una columna, complaint_type, que clasifica los registros de llamadas por tipo de incidencia, como calefacción o fontanería. Para poder graficar el volumen de llamadas por incidencia, escribirás una consulta SQL que haga COUNT de los registros por tipo de incidencia.
pandas se ha importado como pd, y el motor de base de datos para data.db se ha creado como engine.
Este ejercicio forma parte del curso
Ingesta de datos eficiente con pandas
Instrucciones del ejercicio
- Crea una consulta SQL que obtenga la columna
complaint_typey los recuentos de todos los registros dehpd311calls, agrupados porcomplaint_type. - Crea un dataframe con
read_sql()de recuentos de llamadas por incidencia,calls_by_issue. - Ejecuta la última sección de código para graficar el número de llamadas de cada problema de vivienda.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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()