用标准差处理离群值
给定一个包含变量 "age" 的 basetable。年龄由捐赠者在在线表单中手动填写,因此容易出现输入错误并产生离群值。请将所有小于"age 的均值减去 3 倍标准差"的值替换为该下限值,并将所有大于"age 的均值加上 3 倍标准差"的值替换为该上限值。
本练习是课程的一部分
Python 预测分析进阶
练习说明
- 打印 "age" 的最大值。
- 计算 "age" 的均值与标准差。
- 按"标准差经验法则"计算上下限。
- 在 basetable 中新增变量 "age_mod",将离群值替换后赋值,并打印 "age _mod" 的新最大值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Show the maximum age
print(___["___"].___())
# Calculate mean and standard deviation of age
mean_age = ____["____"].____()
std_age = ____["____"].____()
# Calculate the lower and upper limits
lower_limit = ____ - ____ * ____
upper_limit = ____ + ____ * ____
# Add a variable age_no_outliers to the basetable with outliers replaced
basetable["age_mod"] = (pd.Series([____(____(____, ____), ____)
for a in basetable["age"]]))
print(___["___"].___())