Bắt đầu ngayBắt đầu miễn phí

Xác định tỷ lệ dân số theo giới tính và bang

Trong bài tập này, bạn sẽ viết một truy vấn để xác định tỷ lệ dân số năm 2000 là phụ nữ. Bạn sẽ nhóm truy vấn này theo bang.

Bài tập này là một phần của khóa học

Nhập môn Cơ sở dữ liệu với Python

Xem khóa học

Hướng dẫn bài tập

  • Import case, castFloat từ sqlalchemy.
  • Định nghĩa một câu lệnh để chọn state và phần trăm phụ nữ vào năm 2000.
    • Bên trong func.sum(), dùng case() để chọn phụ nữ (dựa trên cột sex) từ pop2000. Nhớ chỉ định else_=0 nếu sex không phải 'F'.
    • Để tính phần trăm, chia số phụ nữ trong năm 2000 cho tổng dân số năm 2000. Ép kiểu số chia - census.columns.pop2000 - sang Float trước khi nhân với 100.
  • Nhóm truy vấn theo state.
  • Thực thi truy vấn và lưu vào results.
  • In statepercent_female cho mỗi bản ghi. Phần này đã được làm sẵn, nên hãy gửi câu trả lời để xem kết quả.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)
Chỉnh sửa và Chạy Mã