极端值处理
处理异常值的方法有很多种。一种常见的方法是使用IQR(四分位数范围)方法来识别和处理异常值。IQR是第三四分位数(Q3)和第一四分位数(Q1)之间的差,它可以用来衡量数据的离散程度。在这种方法中,我们通常认为那些小于(Q1-1.5*IQR)或大于(Q3+1.5*IQR)的值是异常值。识别出异常值后,我们可以根据需要删除它们,或者用其他值替换它们
IQR(四分位数范围)方法来识别和删除异常值:
# 假设我们有一个可能包含异常值的数据集,最后一个值1000明显偏离正常值的范围
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5, 1000]
})
# 使用IQR方法来识别异常值
Q1 = df['A'].quantile(0.25) # 第一四分位数
Q3 = df['A'].quantile(0.75) # 第三四分位数
IQR = Q3 - Q1
# 正常值范围在(Q1 - 1.5 * IQR)和(Q3 + 1.5 * IQR)之间,不在这个范围内的就是异常值,对异常值作删除处理
df = df[~((df['A'] < (Q1 - 1.5 * IQR)) |(df['A'] > (Q3 + 1.5 * IQR)))]