Bắt đầu ngayBắt đầu miễn phí

Xử lý ngoại lệ bằng winsorization

Cho một basetable với hai biến: "sum\_donations""donor\_id". "sum_donations có thể chứa các giá trị ngoại lệ khi nhà tài trợ đóng góp những khoản đặc biệt lớn. Vì vậy, bạn muốn winsorize biến này sao cho 5% giá trị cao nhất được thay thế bằng giá trị phần trăm 5% trên cùng.

Bài tập này là một phần của khóa học

Phân tích dự đoán nâng cao với Python

Xem khóa học

Hướng dẫn bài tập

  • In ra giá trị nhỏ nhất của sum_donations và kiểm tra rằng nó ít nhất là 0. Sau đó in ra giá trị lớn nhất của sum_donations.
  • Điền phần trăm giới hạn dưới phù hợp. Vì tất cả các giá trị lớn hơn 0 là hợp lý và xuất hiện thường xuyên, không cần thay thế các giá trị thấp hơn giá trị phần trăm giới hạn dưới.
  • Tạo biến mới "sum_donations_winsorized" là phiên bản đã winsorize của biến "sum_donations".
  • In ra giá trị lớn nhất của sum_donations_winsorized.

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.

from scipy.stats.mstats import winsorize

# Check minimum sum of donations
print(____["____"].____())
print(____["____"].____())

# Fill out the lower limit
lower_limit = ____

# Winsorize the variable sum_donations
basetable["sum_donations_winsorized"] = ____(____["____"], limits=[lower_limit, 0.05])

# Check maximum sum of donations after winsorization
print(____["____"].____())
Chỉnh sửa và Chạy Mã