Numărare pe grupuri
În exercițiile anterioare, ai extras date din tabele, apoi ai rezumat dataframe-urile rezultate în pandas pentru a crea grafice. Folosind COUNT și GROUP BY într-o interogare SQL, putem obține direct din baza de date aceste valori sumarizate.
Tabelul hpd311calls conține o coloană, complaint_type, care clasifică înregistrările apelurilor după tip de problemă — de exemplu, încălzire sau instalații sanitare. Pentru a reprezenta grafic volumul apelurilor pe tip de problemă, vei scrie o interogare SQL care numără înregistrările (COUNT) grupate după tipul de reclamație.
pandas a fost importat ca pd, iar motorul bazei de date pentru data.db a fost creat ca engine.
Acest exercițiu face parte din cursul
Ingestie eficientă a datelor cu pandas
Instrucțiuni pentru exercițiu
- Creează o interogare SQL care să selecteze coloana
complaint_typeși numărul total de înregistrări dinhpd311calls, grupate dupăcomplaint_type. - Creează un dataframe cu
read_sql()care să conțină numărul de apeluri pe tip de problemă, numitcalls_by_issue. - Rulează ultima secțiune de cod pentru a reprezenta grafic numărul de apeluri pentru fiecare problemă locativă.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()