การนับตามกลุ่ม
ในแบบฝึกหัดก่อนหน้า เราดึงข้อมูลจากตารางแล้วสรุปผลด้วย pandas เพื่อสร้างกราฟ แต่ด้วยการใช้ COUNT และ GROUP BY ใน SQL query เราสามารถดึงข้อมูลสรุปเหล่านั้นจากฐานข้อมูลได้โดยตรง
ตาราง hpd311calls มีคอลัมน์ complaint_type ที่จัดหมวดหมู่บันทึกการโทรตามประเภทปัญหา เช่น ระบบความร้อนหรือระบบประปา เพื่อสร้างกราฟแสดงปริมาณการโทรตามประเภทปัญหา ให้เขียน SQL query ที่ใช้ COUNT นับจำนวนบันทึกตาม complaint type
ได้นำเข้า pandas ในชื่อ pd และสร้าง database engine สำหรับ data.db ในชื่อ engine ไว้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ
คำแนะนำการฝึกหัด
- สร้าง SQL query ที่ดึงคอลัมน์
complaint_typeพร้อมกับ นับจำนวนบันทึกทั้งหมดจากhpd311callsโดยจัดกลุ่มตามcomplaint_type - สร้าง dataframe ด้วย
read_sql()สำหรับจำนวนการโทรตามประเภทปัญหา ในชื่อcalls_by_issue - รันโค้ดส่วนสุดท้ายเพื่อสร้างกราฟแสดงจำนวนการโทรของแต่ละปัญหาด้านที่อยู่อาศัย
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create query to get call counts by complaint_type
query = """
____ ____,
____(*)
FROM hpd311calls
____ ____;
"""
# Create dataframe of call counts by issue
calls_by_issue = pd.read_sql(____, ____)
# Graph the number of calls for each housing issue
calls_by_issue.plot.barh(x="complaint_type")
plt.show()