Bestimme den Bevölkerungsanteil nach Geschlecht und Bundesstaat
In dieser Übung schreibst du eine Abfrage, um den prozentualen Anteil der Frauen an der Bevölkerung im Jahr 2000 zu bestimmen. Du gruppierst die Abfrage nach Bundesstaat.
Diese Übung ist Teil des Kurses
Einführung in Datenbanken mit Python
Anleitung zur Übung
- Importiere
case,castundFloataussqlalchemy. - Definiere eine Anweisung, die
stateund den prozentualen Frauenanteil im Jahr 2000 auswählt.- Verwende innerhalb von
func.sum()case(), um Frauen (über die Spaltesex) auspop2000zu selektieren. Denk daran,else_=0anzugeben, fallssexnicht'F'ist. - Um den Prozentsatz zu erhalten, teile die Anzahl der Frauen im Jahr 2000 durch die Gesamtbevölkerung im Jahr 2000. Wandle den Divisor –
census.columns.pop2000– vor der Multiplikation mit 100 inFloatum.
- Verwende innerhalb von
- Gruppiere die Abfrage nach
state. - Führe die Abfrage aus und speichere sie als
results. - Gib für jeden Datensatz
stateundpercent_femaleaus. Das ist bereits für dich vorbereitet, also Antwort senden, um das Ergebnis zu sehen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)