Nhiều bootstrap với beeswarm
Là một cư dân hiện tại của Cincinnati, bạn muốn xem giá trị NO2 trung bình so với Des Moines, Indianapolis và Houston như thế nào: một vài thành phố khác mà bạn từng sống.
Để quan sát điều này, bạn quyết định dùng ước lượng bootstrap để xem giá trị trung bình NO2 cho mỗi thành phố. Vì so sánh là trọng tâm, bạn sẽ dùng swarm plot để so sánh các ước lượng.
DataFrame pollution_may được cung cấp kèm với hàm bootstrap() như trong các slide để bạn thực hiện bootstrap resampling.
Bài tập này là một phần của khóa học
Nâng cấp trực quan hóa dữ liệu của bạn với Python
Hướng dẫn bài tập
- Chạy bootstrap resampling trên mỗi vector
city_NO2. - Thêm tên thành phố làm một cột trong DataFrame bootstrap,
cur_boot. - Tô màu tất cả điểm trong swarm plot là
'coral'để tránh vấn đề giữa màu và kích thước.
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.
# 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()