LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Importiere case, cast und Float aus sqlalchemy.
  • Definiere eine Anweisung, die state und den prozentualen Frauenanteil im Jahr 2000 auswählt.
    • Verwende innerhalb von func.sum() case(), um Frauen (über die Spalte sex) aus pop2000 zu selektieren. Denk daran, else_=0 anzugeben, falls sex nicht '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 in Float um.
  • Gruppiere die Abfrage nach state.
  • Führe die Abfrage aus und speichere sie als results.
  • Gib für jeden Datensatz state und percent_female aus. 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)
Code bearbeiten und ausführen