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
Oefeninstructies
- Importeer
case,castenFloatuitsqlalchemy. - Definieer een statement om
stateen het percentage vrouwen in 2000 te selecteren.- Gebruik binnen
func.sum()case()om vrouwen (met de kolomsex) uitpop2000te selecteren. Vergeet nietelse_=0op te geven alssexniet'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- naarFloatvoordat je met 100 vermenigvuldigt.
- Gebruik binnen
- Groepeer de query per
state. - Voer de query uit en sla deze op als
results. - Print voor elk record
stateenpercent_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)