Làm nổi bật các giá trị trong phân phối
Đôi khi bạn cần xử lý dữ liệu để tạo trực quan hóa tốt hơn. Hai phương thức giúp xử lý giá trị khuyết là .dropna() và .fillna(). Bạn cũng có thể loại bỏ ngoại lệ bằng cách lọc các bản ghi vượt trên hoặc dưới một phân vị nhất định bằng cách áp dụng điều kiện dùng .quantile() cho một cột cụ thể.
Bạn cũng đã thấy trong video cách nhấn mạnh một giá trị cụ thể trên biểu đồ bằng cách thêm một đường thẳng đứng tại vị trí x cắt qua các trục:
Axes.axvline(x=0, color=None, ...)
Trong bài tập này, bạn sẽ xem lần cuối về phân phối thu nhập toàn cầu, sau đó loại bỏ các ngoại lệ trên phân vị thứ 95, vẽ phân phối và làm nổi bật cả giá trị trung bình lẫn trung vị. pandas là pd, seaborn là sns, và matplotlib.pyplot là plt đã được nhập, và DataFrame income từ các bài tập trước có sẵn trong không gian làm việc của bạn.
Bài tập này là một phần của khóa học
Nhập và quản lý dữ liệu tài chính bằng Python
Hướng dẫn bài tập
- Gán cột
'Income per Capita'choinc_per_capita. - Lọc để chỉ giữ các hàng trong
inc_per_capitanhỏ hơn phân vị thứ 95. Gán lại vào cùng biến. - Vẽ biểu đồ histogram mặc định cho phiên bản đã lọc của
inc_per_capitavà gán nó choax. - Dùng
ax.axvline()vớicolor='b'để làm nổi bật giá trị trung bình củainc_per_capitabằng màu xanh lam, - Dùng
ax.axvline()vớicolor='g'để làm nổi bật giá trị trung vị bằng màu xanh lá. Hiển thị kết quả!
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.
# Create inc_per_capita
inc_per_capita = ____
# Filter out incomes above the 95th percentile
inc_per_capita = inc_per_capita[____ < ____]
# Plot histogram and assign to ax
ax = ____
# Highlight mean
ax.axvline(inc_per_capita.mean(), color='b')
# Highlight median
ax.axvline(inc_per_capita.median(), color='g')
# Show the plot
plt.show()