假设我需要使用 IQR 规则删除异常值,即本例中的 (40, 10)(请参阅下面所附的图),我该怎么做?
与邻近点相比,(40, 10) 绝对是异常值。但是,
Q1 = 11.25,
Q3 = 35.75
1.5 * IQR = 1.5 * (Q3 - Q1) = 36.75
仅 y 值低于 11.25-36.75 或大于 35.75+36.75 的点被视为异常值。
如果必须使用 IQR 规则,如何使用 IQR 规则查找并删除 (40, 10)?
这是我的代码:
import pandas as pd
import matplotlib.pyplot as plt
test = pd.DataFrame({'x': range(50), 'y': [i if i != 40 else 10 for i in range(50)]})
plt.figure(**FIGURE)
plt.scatter(test['x'], test['y'], marker='x')
plt.show()
这是从上面的代码生成的图。
蝴蝶不菲
相关分类