Obliczanie procentowego udziału populacji według płci i stanu
W tym ćwiczeniu napiszesz zapytanie wyznaczające, jaki procent populacji w roku 2000 stanowiły kobiety. Wyniki pogrupujesz według stanu.
To ćwiczenie jest częścią kursu
Wprowadzenie do baz danych w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
case,castiFloatzsqlalchemy. - Zdefiniuj instrukcję wybierającą
stateoraz procentowy udział kobiet w roku 2000.- Wewnątrz
func.sum()użyjcase(), aby wybrać kobiety (na podstawie kolumnysex) zpop2000. Pamiętaj, aby podaćelse_=0, gdy wartośćsexnie wynosi'F'. - Aby obliczyć procent, podziel liczbę kobiet w roku 2000 przez całkowitą populację w roku 2000. Rzutuj mianownik –
census.columns.pop2000– na typFloatprzed pomnożeniem przez 100.
- Wewnątrz
- Pogrupuj zapytanie według stanu (
state). - Wykonaj zapytanie i zapisz wynik jako
results. - Wyświetl
stateipercent_femaledla każdego rekordu. Ta część kodu jest już gotowa – prześlij odpowiedź, aby zobaczyć wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# import case, cast and Float from sqlalchemy
from sqlalchemy import ____, ____, ____
# Build a query to calculate the percentage of women in 2000: stmt
stmt = select([____,
(func.sum(
____([
(____ == 'F', ____)
], else_=0)) /
cast(func.sum(____), ____) * 100).label('percent_female')
])
# Group By state
stmt = stmt.group_by(____)
# Execute the query and store the results: results
results = connection.execute(____).fetchall()
# Print the percentage
for result in results:
print(result.state, result.percent_female)