标签: iqr

如何使用带有IQR的pandas过滤器?

是否有内置的方法通过IQR对列进行过滤(即Q1-1.5IQR和Q3 + 1.5IQR之间的值)?另外,建议大熊猫中任何其他可能的广义过滤都将受到重视.

python data-processing pandas iqr

24
推荐指数
5
解决办法
3万
查看次数

如何使用 IQR 从 DataFrame 中删除异常值?

我有很多列的数据框(大约 100 个特征),我想应用四分位法并想从数据框中删除异常值。

我正在使用此链接 stackOverflow

但问题是上述方法的 nan 工作正常,

当我像这样尝试时

Q1 = stepframe.quantile(0.25)
Q3 = stepframe.quantile(0.75)
IQR = Q3 - Q1
((stepframe < (Q1 - 1.5 * IQR)) | (stepframe > (Q3 + 1.5 * IQR))).sum()
Run Code Online (Sandbox Code Playgroud)

它给了我这个

((stepframe < (Q1 - 1.5 * IQR)) | (stepframe > (Q3 + 1.5 * IQR))).sum()
Out[35]: 
Day                      0
Col1                     0
Col2                     0
col3                     0
Col4                     0
Step_Count            1179
dtype: int64
Run Code Online (Sandbox Code Playgroud)

我只是想知道,接下来我要做什么,以便删除数据框中的所有异常值。

如果我使用这个

def remove_outlier(df_in, col_name):
q1 = df_in[col_name].quantile(0.25)
q3 = df_in[col_name].quantile(0.75)
iqr = q3-q1 …
Run Code Online (Sandbox Code Playgroud)

dataframe python-3.x pandas iqr

6
推荐指数
1
解决办法
2万
查看次数

小提琴曲线:如何确定相邻的数值范围,为什么它与箱线图不同?

理论上,vioplot包的小提琴图是盒图+密度函数.

在"boxplot部分"中,

  • 黑匣子对应于IQR(实际上,见下文),和

  • 中线应该对应相同的范围(相邻值,默认值为1.5 IQR),但不是(见下文).任何人都可以解释为什么他们不同?

    require("vioplot")
    a = rnorm(100)
    range (a)
    a = c(a,2,8,2.9,3,4, -3, -5) # add some outliers
    
    par ( mfrow = c(1,2))
    boxplot(a, range=1.5)
    vioplot(a, range=1.5 )
    
    Run Code Online (Sandbox Code Playgroud)

上面提到:

Box vs Vio由上面的行生成

Hintze,JL和RD Nelson(1998).小提琴图:箱形图 - 密度跟踪协同作用.美国统计学家,52(2):181-4.

r boxplot iqr violin-plot

5
推荐指数
1
解决办法
530
查看次数

排除 R 中基于多列的异常值?IQR法

我目前正在尝试根据选定变量的子集排除异常值,目的是执行敏感性分析。我已经调整了此处可用的函数:计算 R 中的异常值),但到目前为止尚未成功(我仍然是 R 新手用户)。如果您有任何建议,请告诉我!

df <- data.frame(ID = c(1001, 1002, 1003, 1004, 1005,   1006,   1007,   1008,   1009,   1010,   1011),
                 measure1 = rnorm(11, mean = 8, sd = 4),
                 measure2 = rnorm(11, mean = 40, sd = 5),
                 measure3 = rnorm(11, mean = 20, sd = 2),
                 measure4 = rnorm(11, mean = 9, sd = 3))

vars_of_interest <- c("measure1", "measure3", "measure4")

# define a function to remove outliers
FindOutliers <- function(data) {
  lowerq = quantile(data)[2]
  upperq = quantile(data)[4] …
Run Code Online (Sandbox Code Playgroud)

r outliers iqr

1
推荐指数
1
解决办法
3227
查看次数