开始使用免费开始使用

用温莎化处理异常值

给定一个包含两个变量的 basetable"sum\_donations""donor\_id"。当捐赠者的捐款金额异常时,"sum_donations" 可能包含离群值。因此,您希望对该变量进行温莎化,将最高的 5% 金额替换为上 5% 分位数对应的数值。

本练习是课程的一部分

Python 预测分析进阶

查看课程

练习说明

  • 打印 sum_donations 的最小值并确认其至少为 0。然后打印 sum_donations 的最大值。
  • 填写合适的下限分位数。由于大于 0 的取值都较为合理且常见,没有必要将低于下限分位数的取值进行替换。
  • 创建新变量 "sum_donations_winsorized",它是 "sum_donations" 的温莎化版本。
  • 打印 sum_donations_winsorized 的最大值。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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(____["____"].____())
编辑并运行代码