Compter par groupes
Dans les exercices précédents, vous avez extrait des données de tables, puis résumé les dataframes résultants dans pandas pour créer des graphiques. En utilisant COUNT et GROUP BY dans une requête SQL, on peut récupérer ces chiffres sommaires directement à partir de la base de données.
La table hpd311calls contient une colonne complaint_type qui classe les appels par type de problème, comme le chauffage ou la plomberie. Pour pouvoir tracer les volumes d'appels par type de problème, vous allez écrire une requête SQL qui COUNT les enregistrements par type de plainte.
pandas a été importé sous le nom pd, et le moteur de base de données pour data.db a été créé sous le nom engine.
Cette activité fait partie du cours
Ingestion de données rationalisée avec pandas
Instructions de l’exercice
- Créez une requête SQL qui récupère la colonne
complaint_typeET le nombre de tous les enregistrements dehpd311calls, groupés parcomplaint_type. - Créez un dataframe avec
read_sql()des décomptes d'appels par type de problème,calls_by_issue. - Exécutez la dernière section de code pour tracer le nombre d'appels pour chaque problème de logement.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()