Zliczanie w grupach
W poprzednich ćwiczeniach pobierałeś dane z tabel, a następnie podsumowywałeś wynikowe ramki danych w pandas, aby tworzyć wykresy. Dzięki użyciu COUNT i GROUP BY w zapytaniu SQL możesz pobierać takie podsumowania bezpośrednio z bazy danych.
Tabela hpd311calls zawiera kolumnę complaint_type, która kategoryzuje zgłoszenia według rodzaju problemu, na przykład ogrzewanie lub hydraulika. Aby zwizualizować liczbę zgłoszeń według kategorii, napiszesz zapytanie SQL zliczające rekordy (COUNT) pogrupowane według typu skargi.
pandas zostało zaimportowane jako pd, a silnik bazy danych dla data.db jest dostępny jako engine.
To ćwiczenie jest częścią kursu
Sprawne importowanie danych z pandas
Instrukcje do ćwiczenia
- Utwórz zapytanie SQL, które pobiera kolumnę
complaint_typeoraz liczbę wszystkich rekordów z tabelihpd311calls, pogrupowanych wedługcomplaint_type. - Użyj
read_sql(), aby utworzyć ramkę danychcalls_by_issuez liczbą zgłoszeń według kategorii. - Uruchom ostatni fragment kodu, aby wygenerować wykres liczby zgłoszeń dla każdego rodzaju problemu mieszkaniowego.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()