Conteggi per gruppi
Negli esercizi precedenti hai estratto dati dalle tabelle e poi hai riassunto i dataframe risultanti con pandas per creare grafici. Usando COUNT e GROUP BY in una query SQL, possiamo ottenere direttamente dal database quei valori riepilogativi.
La tabella hpd311calls ha una colonna, complaint_type, che classifica le chiamate per tipo di problema, ad esempio riscaldamento o idraulica. Per poter rappresentare a grafico i volumi di chiamate per problema, scriverai una query SQL che faccia il COUNT dei record per tipo di segnalazione.
pandas è stato importato come pd ed è stato creato l’engine del database per data.db come engine.
Questo esercizio fa parte del corso
Acquisizione dati semplificata con pandas
Istruzioni dell'esercizio
- Crea una query SQL che ottenga la colonna
complaint_typee i conteggi di tutti i record dahpd311calls, raggruppati percomplaint_type. - Crea un dataframe con
read_sql()dei conteggi di chiamate per problema,calls_by_issue. - Esegui l’ultima sezione di codice per tracciare il numero di chiamate per ciascun problema abitativo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()