Počítání ve skupinách
V předchozích cvičeních jsi načítal/a data z tabulek a pak je v pandas shrnoval/a, abys mohl/a vytvořit grafy. Pomocí COUNT a GROUP BY v SQL dotazu ale můžeš tato souhrnná čísla získat přímo z databáze.
Tabulka hpd311calls obsahuje sloupec complaint_type, který rozděluje záznamy volání podle typu problému – například topení nebo instalatérství. Abys mohl/a zobrazit počty volání podle problému v grafu, napíšeš SQL dotaz, který pomocí COUNT spočítá záznamy podle typu stížnosti.
pandas je importován jako pd a databázový engine pro data.db je připraven jako engine.
Toto cvičení je součástí kurzu
Streamlined Data Ingestion with pandas
Pokyny k cvičení
- Vytvoř SQL dotaz, který ze tabulky
hpd311callsvybere sloupeccomplaint_typea počty všech záznamů, seskupené podlecomplaint_type. - Pomocí
read_sql()vytvoř dataframe s počty volání podle typu problému:calls_by_issue. - Spusť poslední část kódu, která zobrazí graf s počtem volání pro každý problém s bydlením.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()