เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

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()
แก้ไขและรันโค้ด