Tellen per groep
In eerdere oefeningen heb je data uit tabellen opgehaald en de resulterende dataframes in pandas samengevat om grafieken te maken. Door COUNT en GROUP BY in een SQL-query te gebruiken, kunnen we die samenvattingscijfers direct uit de database halen.
De tabel hpd311calls heeft een kolom complaint_type die oproepregistraties indeelt naar probleem, zoals verwarming of sanitair. Om het aantal oproepen per probleem te kunnen plotten, schrijf je een SQL-query die records per klachtsoort COUNT.
pandas is geïmporteerd als pd, en de database-engine voor data.db is aangemaakt als engine.
Deze oefening maakt deel uit van de cursus
Gestroomlijnde data-inname met pandas
Oefeninstructies
- Maak een SQL-query die de kolom
complaint_typeophaalt én het aantal records uithpd311calls, gegroepeerd percomplaint_type. - Maak een dataframe met
read_sql()van de aantallen oproepen per probleem,calls_by_issue. - Voer het laatste stuk code uit om het aantal oproepen per woningprobleem te plotten.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()