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, nous pouvons récupérer ces chiffres de synthèse directement depuis 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 représenter le volume d’appels par type de problème, vous allez écrire une requête SQL qui COUNT les enregistrements par type de réclamation.
pandas a été importé sous l’alias pd, et le moteur de base de données pour data.db a été créé sous le nom engine.
Cet exercice fait partie du cours
Ingestion de données simplifiée avec pandas
Instructions
- Créez une requête SQL qui récupère la colonne
complaint_typeet le décompte de tous les enregistrements dehpd311calls, regroupés parcomplaint_type. - Créez un dataframe avec
read_sql()contenant les 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 cet exemple de code.
# 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()