Déterminer le pourcentage de population par genre et par État
Dans cet exercice, vous allez écrire une requête pour déterminer le pourcentage de la population en 2000 composée de femmes. Vous regrouperez cette requête par État.
Cet exercice fait partie du cours
Introduction aux bases de données en Python
Instructions
- Importez
case,castetFloatdepuissqlalchemy. - Définissez une instruction pour sélectionner
stateet le pourcentage de femmes en 2000.- À l’intérieur de
func.sum(), utilisezcase()pour sélectionner les femmes (en utilisant la colonnesex) à partir depop2000. N’oubliez pas de préciserelse_=0sisexn’est pas'F'. - Pour obtenir le pourcentage, divisez le nombre de femmes en 2000 par la population totale en 2000. Convertissez le diviseur —
census.columns.pop2000— enFloatavant de multiplier par 100.
- À l’intérieur de
- Regroupez la requête par
state. - Exécutez la requête et stockez le résultat dans
results. - Affichez
stateetpercent_femalepour chaque enregistrement. Cela a été fait pour vous, donc Soumettre la réponse pour voir le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)