我正在尝试从数据集中删除异常值。
如何获得晶须末端的价值?
让我们说: min的值为:0 我的第25个四分位数的值是:125 我的第75个四分位数的值是:1938 max的值是:113499
我尝试了以下类似操作,但不确定是否正确:
clean_model.drop(clean_model[clean_model.num_likes > (1938 + (1.5* (1938-125)))].index, inplace=True)
该计算(1938 +(1.5 *(1938-125)))对吗,得到图中点的值?
下面是我的数据框的描述:
答案 0 :(得分:0)
您的计算是正确的。晶须长度的计算方式是一些“晶须”因子(在matplotlib / seaborn中默认为1.5)乘以四分位间距(iqr)。
例如使用numpy.percentile
import numpy as np
p_25, p_75 = np.percentile(clean_model['num_likes'], [25, 75])
iqr = p_75 - p_25
upper_bound = p_75 + 1.5 * iqr
lower_bound = p_25 - 1.5 * iqr
scipy.stats
还有一个方便功能iqr
,您可以使用:
from scipy.stats import iqr
_iqr = iqr(clean_model['num_likes'])