Aan de slagGa gratis aan de slag

Bepaal het percentage van de bevolking per geslacht en staat

In deze oefening schrijf je een query om te bepalen welk percentage van de bevolking in 2000 uit vrouwen bestond. Je groepeert deze query per staat.

Deze oefening maakt deel uit van de cursus

Introductie tot databases in Python

Cursus bekijken

Oefeninstructies

  • Importeer case, cast en Float uit sqlalchemy.
  • Definieer een statement om state en het percentage vrouwen in 2000 te selecteren.
    • Gebruik binnen func.sum() case() om vrouwen (met de kolom sex) uit pop2000 te selecteren. Vergeet niet else_=0 op te geven als sex niet 'F' is.
    • Om het percentage te krijgen, deel je het aantal vrouwen in het jaar 2000 door de totale bevolking in 2000. Cast de deler - census.columns.pop2000 - naar Float voordat je met 100 vermenigvuldigt.
  • Groepeer de query per state.
  • Voer de query uit en sla deze op als results.
  • Print voor elk record state en percent_female. Dit is al voor je gedaan, dus verzend het antwoord om het resultaat te zien.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren