คำนวณเปอร์เซ็นต์ของประชากรจำแนกตามเพศและรัฐ
ในแบบฝึกหัดนี้ จะเขียนคิวรีเพื่อคำนวณเปอร์เซ็นต์ของประชากรในปี 2000 ที่เป็นผู้หญิง โดยจัดกลุ่มคิวรีตามรัฐ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับฐานข้อมูล
คำแนะนำการฝึกหัด
- นำเข้า
case,castและFloatจากsqlalchemy - กำหนดคำสั่งเพื่อเลือก
stateและเปอร์เซ็นต์ของผู้หญิงในปี 2000- ภายใน
func.sum()ให้ใช้case()เพื่อเลือกข้อมูลผู้หญิง (โดยใช้คอลัมน์sex) จากpop2000อย่าลืมระบุelse_=0หากค่าsexไม่ใช่'F' - เพื่อคำนวณเปอร์เซ็นต์ ให้หารจำนวนผู้หญิงในปี 2000 ด้วยจำนวนประชากรทั้งหมดในปี 2000 โดยแปลงตัวหาร
census.columns.pop2000ให้เป็นFloatก่อนคูณด้วย 100
- ภายใน
- จัดกลุ่มคิวรีตาม
state - รันคิวรีและเก็บผลลัพธ์ไว้ในตัวแปร
results - แสดง
stateและpercent_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)