Bootstrap หลายรอบด้วย Beeswarm
ในฐานะที่อาศัยอยู่ที่ Cincinnati คุณอยากเปรียบเทียบค่าเฉลี่ย NO2 กับเมืองอื่นที่เคยอยู่ ได้แก่ Des Moines, Indianapolis และ Houston
เพื่อวิเคราะห์เรื่องนี้ คุณจะใช้การประมาณค่าแบบ bootstrap เพื่อดูค่าเฉลี่ย NO2 ของแต่ละเมือง และเนื่องจากการเปรียบเทียบระหว่างเมืองคือสิ่งที่สนใจเป็นหลัก จึงใช้ swarm plot ในการแสดงผลการประมาณ
มี DataFrame ชื่อ pollution_may และฟังก์ชัน bootstrap() ตามที่แสดงในสไลด์ให้พร้อมใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การพัฒนาการแสดงผลข้อมูลใน Python
คำแนะนำการฝึกหัด
- รัน bootstrap resampling กับเวกเตอร์
city_NO2ของแต่ละเมือง - เพิ่มชื่อเมืองเป็นคอลัมน์ใน DataFrame ของ bootstrap ชื่อ
cur_boot - กำหนดสีจุดทั้งหมดใน swarm plot เป็น
'coral'เพื่อหลีกเลี่ยงปัญหาสีกับขนาด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Initialize a holder DataFrame for bootstrap results
city_boots = pd.DataFrame()
for city in ['Cincinnati', 'Des Moines', 'Indianapolis', 'Houston']:
# Filter to city
city_NO2 = pollution_may[pollution_may.city == city].NO2
# Bootstrap city data & put in DataFrame
cur_boot = pd.DataFrame({'NO2_avg': bootstrap(____, 100), 'city': ____})
# Append to other city's bootstraps
city_boots = pd.concat([city_boots,cur_boot])
# Beeswarm plot of averages with citys on y axis
sns.swarmplot(y = "city", x = "NO2_avg", data = city_boots, ____ = '____')
plt.show()