现已使用Pandas读取数据集loandata.csv请用盒图的方法检测数据集中loan_amnt的异常值,即超过上四分位+1.5倍IQR距离,或者下四分位-1.5倍IQR距离的点为异常值,并将异常值所在的索引存为outlier_index.提示:可以用describe()函数获取统计信息,或者使用np.percentile()、pandas中的quantile()得到上(下)四分位数,四分位距(IQR)就是上四分位与下四分位的差值。【输入形式】【输出形式】【样例输入】【样例输出】【样例说明】【评分标准】import pandas as pddef main(): loan_data = pd.read_csv("loandata.csv") loan_data.dropna(inplace=True) # 异常值检测 print(outlier_index)if __name__ == '__main__': main()
时间: 2023-12-03 08:42:57 浏览: 164
异常数据 检测
4星 · 用户满意度95%
代码如下:
```python
import pandas as pd
import numpy as np
def main():
loan_data = pd.read_csv("loandata.csv")
loan_data.dropna(inplace=True)
# 异常值检测
q1 = loan_data['loan_amnt'].quantile(0.25)
q3 = loan_data['loan_amnt'].quantile(0.75)
iqr = q3 - q1
upper_bound = q3 + 1.5 * iqr
lower_bound = q1 - 1.5 * iqr
outlier_index = loan_data[(loan_data['loan_amnt'] > upper_bound) | (loan_data['loan_amnt'] < lower_bound)].index
print(outlier_index)
if __name__ == '__main__':
main()
```
其中,我们通过 `quantile()` 方法获取上下四分位数,然后通过计算四分位距 `IQR`,进而确定异常值的上下限。最后,我们通过索引获取异常值所在的行。
阅读全文