시작하기무료로 시작하기

주와 성별별 인구 비율 구하기

이 연습에서는 2000년 인구 중 여성의 비율을 구하는 쿼리를 작성해 볼 거예요. 이 쿼리는 주(state)별로 그룹화합니다.

이 연습은 강의의 일부입니다

Python으로 배우는 데이터베이스 입문

강의 보기

연습 안내

  • sqlalchemy에서 case, cast, Float를 import하세요.
  • state와 2000년 여성 비율을 선택하는 statement를 정의하세요.
    • func.sum() 안에서 case()를 사용해 pop2000에서 여성(sex 열 사용)을 선택하세요. sex'F'가 아닐 때는 else_=0을 지정하는 것을 잊지 마세요.
    • 비율을 구하려면 2000년 여성 수를 2000년 전체 인구로 나누세요. 100을 곱하기 전에 나누는 값인 census.columns.pop2000Float로 캐스팅하세요.
  • 쿼리를 state로 그룹화하세요.
  • 쿼리를 실행하고 결과를 results로 저장하세요.
  • 각 레코드에 대해 statepercent_female을 출력하세요. 이 부분은 이미 작성되어 있으니, 답안을 제출해서 결과를 확인하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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)
코드 편집 및 실행