问题标签 [iqr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3627 浏览

python - 如何在数据框的每一列上计算修改后的 Z 分数和 IQR

我有一个数据框,我正在尝试在分析之前清理数据。

由于我的数据有点复杂,因此我正在试用样本数据。

我正在尝试处理异常值并尝试计算修改后的 Z 分数(中位数)和 IQR 以从数据中过滤掉异常值,以便我可以获得质量数据以进行进一步分析。

我想计算 IQR,然后计算每列的 Z 分数,并过滤掉数据框中每一列的异常值。

到目前为止,我已经尝试了几件事,例如:

二维码:

修改后的 Z 分数:

但没有得到正确的答案。该函数不适用于每一列,并在最后创建我意图的数据框。请帮忙。谢谢。

0 投票
5 回答
2098 浏览

python - 使用 Numpy,如何计算数字 1 到 10 的 25 个百分位数?

你能解释一下如何计算 3.25 和 7.75 的值吗?我预计他们是 3 和 8。

0 投票
1 回答
1874 浏览

python - Plotly:如何在箱线图中更改晶须的长度(最小/最大)?

我知道这1.5 * IQR是一个常见的规则,但如果可能的话,我想绘制其他最小值/最大值。我正在使用情节(python)。基本上,我想定义一个函数来通过参数数据框、列和自定义乘数显示箱线图。

我的目标是用1.5 * IQR乘数参数替换。在本例中为 3 或任何其他数字。

你知道如何改变我的功能吗?

谢谢!

0 投票
2 回答
421 浏览

pandas - 来自 TI-nspire 的 python 计算中不同的 Q1 和 Q3 值

我使用 Numpy/Pandas 和 TI-nspire 计算了上四分位数(Q3 或 75%-tile)和下四分位数(Q1 或 25%-tile)。但我得到不同的价值观。为什么会这样?

从 (5+8)/2=6.5 和 (18+21)/2=19.5,Numpy/Pandas Q1 和 Q3 是错误的。为什么 Numpy/Pandas 返回错误的数字?

Numpy 返回 18.0 和 8.0。Pandas 返回 18.0 和 8.0。但 TI-nspire 返回 19.5 和 6.5。

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
108 浏览

google-sheets - 通过在 Google 表格中使用具有多个数量的单个值来计算数据集的统计数据

在 Google 表格中,我一直在处理不同价格的数据集,以将它们与实际成本进行比较,并排除正常范围之外的值。我以前得到过帮助,但我无法根据我得到帮助的原始公式设计更多公式。

在我的数据集中,我有非常大的扩展数据集,我手动输入了多个数字重复出现的地方。我已经用多个值标记了每个值,value (x)因为 X 表示数据集中出现的数量或总数,以使其更小;因为我需要手动输入每个

计算平均值的公式如下:

这非常有效。我还有一个计算数据集的最小值和最大值的公式。

我试图编辑代码以给自己模式(不会读取value (x)值)和 IQR(四分位距),但绝对没有成功。

我希望能够在使用使用标记的值时找到数据集的标准偏差、平均偏差和 IQRvalues (x)

以下是数据集示例的链接: https ://docs.google.com/spreadsheets/d/15-UY7salQ8fI011twnIKSjEJQWCSVmfV1wErE28gvKw/edit?usp=sharing

0 投票
1 回答
29 浏览

google-sheets - 使用查询拆分数据以计算公式仅适用于一列

我有数据表,如果需要,我会为未来的数据提供更多数据集区域。我有多个公式在仅使用该范围内的一列时起作用。如果范围超过一列,但数据在第一列,则会出错。如果数据在定义范围内的第二列或更多列中,它将仅计算第一列。

注意:我将数据压缩为一个值,并用一个值表示的数量如图所示:VALUE (X)我希望保持这种状态,因为数据表非常大并且所有值都已输入。

示例公式适用于单个范围列:

中位数

如果我尝试增加范围B18:F,公式将仅适用于填充两列或更多列。它也只会在第一列上计算。

唯一可行的解​​决方案是在该范围内添加每个转置列示MEDIAN( data here ) 例如下:

这适用于中位数、众数、标准偏差和平均偏差。但是,它绝对不适用于 IQR。我不确定为什么。

IQR

我试图尝试通过使用{B18:B,C18:C,D18:D,E18:E,F18:F}不工作来缩小范围,除非它是一个单独的列B18:B

公式是否可以在超过一列的范围内查看其余列为空白的范围?本质上使公式更小。

为什么IQR不使用每个范围内的所有数据作为一个洞来计算IQR。(数据返回 6 个值而不是 2 个)

谢谢你。

https://docs.google.com/spreadsheets/d/1byR6Aw3lTImxNHDynTm5S1MWjpxmCuMyNl5WT9PcC1E/edit?usp=sharing

0 投票
1 回答
47 浏览

r - 为什么 Q1 和 Q3 和我想的不一样?

我有一个关于分位数的非常令人困惑的问题。我这里有一个样本,它的 Q1 和 Q3 应该是这样的: 在此处输入图像描述 但是当我总结 RI 中的向量时,得到了不同的结果:

我得到了 Q1 和 Q3 的不同结果。天哪,发生了什么?提前感谢很多。

0 投票
1 回答
1740 浏览

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

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

0 投票
1 回答
185 浏览

python - 使用IQR方法在python中查找异常值,不包括中位数

我正在寻找计算小数据集的第 1 和第 3 四分位数以确定异常值:

6000 13500 15000 15000 17948

虽然理论上计算相当简单,但我发现 python 使用的方法与我想要的方法不同(以及 Excel 函数 Quartile.EXC 使用的方法)。不同之处在于python在四分位数计算中包含了中位数。因此,对于第一个四分位数 python 输出 13500,对于第三个 15000。我想要的是 9750 和 16474。我还没有找到可以让我这样做的选项。

我已经使用了几个代码来尝试找到该解决方案,我目前的第一个四分位数是q1 = df.NSOT.quantile(0.25, interpolation = 'midpoint').

df 是数据框, NSOT 是具有给定值的列。

https://www.mathwords.com/o/outlier.htm上是一个示例,说明如何使用所需的第一和第三四分位数以我想要的方式计算异常值。

有什么建议么?

对不起,如果这个问题有什么不符合规定的。我刚刚创建了这个帐户,需要快速得到答案:/

0 投票
1 回答
67 浏览

r - 如何从 r 中的箱线图中获取值(例如中位数)?

我绘制了每年 PM2.5 水平的箱线图。

如何从箱线图中提取中位数等值?