Python中四分位距应该如何计算?

2024-01-15

我有一个数字列表[1, 2, 3, 4, 5, 6, 7]我想要一个函数来返回这个数字列表的四分位数范围。四分位数间距是上四分位数和下四分位数之间的差值。我尝试使用 NumPy 函数和 Wolfram Alpha 计算四分位数范围。我发现所有的答案,从我的手册到 NumPy 的答案,再到 Wolfram Alpha 的答案,都是不同的。我不知道这是为什么。

我在Python中的尝试如下:

>>> a = numpy.array([1, 2, 3, 4, 5, 6, 7])
>>> numpy.percentile(a, 25)
2.5
>>> numpy.percentile(a, 75)
5.5
>>> numpy.percentile(a, 75) - numpy.percentile(a, 25) # IQR
3.0

我在 Wolfram Alpha 中的尝试如下:

  • “第一个四分位数 1、2、3、4、5、6、7”:2.25 http://www.wolframalpha.com/input/?i=first+quartile+1%2C+2%2C+3%2C+4%2C+5%2C+6%2C+7
  • “第三个四分位数 1、2、3、4、5、6、7”:5.75 http://www.wolframalpha.com/input/?i=third+quartile+1%2C+2%2C+3%2C+4%2C+5%2C+6%2C+7
  • (评论:5.75 - 2.25 = 3.5)
  • “四分位数间距 1、2、3、4、5、6、7”:~3.5 https://www.wolframalpha.com/input/?i=interquartile+range+1%2C+2%2C+3%2C+4%2C+5%2C+6%2C+7

因此,我发现 NumPy 和 Wolfram Alpha 返回的值(我认为的第一四分位数、第三四分位数和四分位数范围)不一致。为什么是这样?我应该在 Python 中做什么才能正确计算四分位数范围?

据我所知,四分位数范围[1, 2, 3, 4, 5, 6, 7]应该是以下内容:

median(5, 6, 7) - median(1, 2, 3) = 4.

numpy 1.9 版本提供了一个方便的“插值”参数来帮助您达到 4。

a = numpy.array([1, 2, 3, 4, 5, 6, 7])
numpy.percentile(a, 75, interpolation='higher') - numpy.percentile(a, 25, interpolation='lower')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中四分位距应该如何计算? 的相关文章

  • Python:urlretrieve PDF下载

    我在 Python 中使用 urllib 的 urlretrieve 函数来尝试从网站上获取一些 pdf 它 至少对我来说 已停止工作并正在下载损坏的数据 15 KB 而不是 164 KB 我已经用几个 pdf 对此进行了测试 但都没有成功
  • from __future__ importabsolute_import 实际上做了什么?

    I have answered https stackoverflow com a 22679558 2588818一个关于Python中绝对导入的问题 我认为我通过阅读理解了这个问题Python 2 5 变更日志 https docs p
  • 为什么 Dash 在上传文件时会出现解析错误?

    上传 Excel 或 CSV 会导致错误 我遵循了 Dash 演示 但是当我尝试扩展它来执行绘图之类的操作时 它就不起作用了 我不想只显示一张桌子 Dash Table 函数已更新 因此之前使用 Dash Table Experiments
  • 是否可以在 SQLAlchemy 中创建一个可以创建父记录的事件侦听器?

    有两个表 父表和子表 我想创建一个事件监听器 触发器 如果孩子没有父母 它可以创建父母 这就是我试图做的 class parent db Model tablename parent id db Column db Integer prim
  • 在 python 中返回 self [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个代表对象的类 我有很多方法可以修改这个对象状态 没有明显的返回或显然没有任何返回 在 C 中 我会将所有这些方法声明为void
  • 如何在Python中通过URL下载Azure Blob存储文件?

    我正在尝试从我的存储帐户下载 Azure Blob 存储文件 为此 我检查了 URL 是什么 并且正在执行以下操作 with urllib request urlopen
  • 在 AWS Elastic Beanstalk 中部署 Flask 应用程序

    当我部署 Flask 应用程序时 它显示成功 但是当我检索日志时 我看到错误 找不到 Flask 我的需求文件中有烧瓶 任何帮助 Sat Jan 11 06 51 50 503908 2020 error pid 3393 remote 1
  • 为什么通过selenium切换到alert不稳定?

    为什么通过selenium切换到alert不稳定 例如 1 运行代码 一切顺利 一切都很顺利 但如果这段代码在几分钟内运行 那么可能会出现错误 例如 没有可以单击的元素 等等 2 在一个站点上有一个警报窗口 alert driver swi
  • 使用Python mysql.connector远程连接MySQL

    以下代码 在同一 LAN 内与 mysql 服务器不同的机器上运行 使用 Python3 和 mysql connector 本地连接到 MySQL 数据库 import mysql connector cnx mysql connecto
  • Matplotlib 动画未显示

    当我在家里的电脑上尝试这个时 它可以工作 但在工作的电脑上却不行 这是代码 import numpy as np import matplotlib pyplot as plt import matplotlib animation as
  • 如何将 NaN 数组插入 numpy 二维数组

    我试图在二维数组中的特定位置插入任意数量的 NaN 值行 我正在将来自微控制器的一些数据记录在 csv 文件中并使用 python 进行解析 数据存储在 3 列 2D 数组中 如下所示 122 0 1 0 47 0 123 0 1 0 47
  • 在用户提交的正则表达式中查找捕获组

    我有一个 python 应用程序 需要处理用户提交的正则表达式 出于性能考虑 我想禁止捕获组和反向引用 我的想法是使用另一个正则表达式来验证用户提交的正则表达式不包含任何命名或未命名的组捕获 如下所示 def validate user r
  • 模拟导入失败

    我该如何制作import pkg失败moduleA py 我可以打补丁pkg如果从中导入某些内容则会失败 否则不会失败 test py import os import moduleA from unittest mock import p
  • 使用 pymongo 查询空字段

    我想使用 python 查询 mongo 中的空字段 但是它很难处理单词 null 或 false 它要么给我错误 它们在 python 中未定义 要么在 mongo 中搜索字符串 null 和 false 这两种情况我都不希望发生 col
  • 如何在 R 中手动编写正态分布核的似然值?

    具体来说 如何编码 x 和 mu 之差的乘积 精度矩阵以及 x 和 mu 之差的转置 我下面的代码正确吗 提前致谢 colSums dat mu mat solve sigma colSums dat mu mat 其中 mu mat 是重
  • 为什么删除 DataFrame 的列或部分会增加内存使用量,以及如何确保对未使用的 DataFrame 切片进行垃圾回收

    处理大型 DataFrame 时 您需要小心内存使用情况 例如 您可能想要分块下载大数据 处理这些块 然后从内存中删除所有不必要的部分 我找不到任何有关处理垃圾收集的最佳程序的资源pandas 但我尝试了以下方法并得到了令人惊讶的结果 im
  • python中不规则点之间的坐标列表

    想象一下 我们为 x 和 y 随机选择两个介于 0 到 100 之间的点 例如 95 7 35 6 现在使用简单的 pygame draw line 函数 我们可以轻松地在这些点之间绘制一条没有任何间隙的线 我的问题是 我们如何找到两点之间
  • 如何通过pygit2获取当前签出的Git分支名称?

    这个问题应该与 如何获取Git中当前的分支名称 https stackoverflow com questions 6245570 how to get current branch name in git 获取 git 当前分支 标签名称
  • 交响二阶颂歌

    我有一个简单的二阶 ODE 的齐次解 当我尝试使用 Sympy 求解初始值时 它返回相同的解 它应该替代 y 0 和 y 0 并产生一个没有常数的解 但事实并非如此 这是建立方程的代码 它是一个弹簧平衡方程 k 弹簧常数 m 质量 我在其他
  • 安装 confluence-kafka 时“文件名或扩展名太长”?

    我在使用 pip install confluence kafka 安装 confluence kafka 时遇到一些问题 但我收到此错误 文件名或扩展名太长 详细信息如下 Collecting confluent kafka Using

随机推荐

  • 如何使用ajax和jquery动态更新数组表?

    我有两个文件php gettable php和index php 索引文件每隔一秒显示一次gettable php获得的结果 我想在索引中动态更新表的内容 只有新的或更改的值必须更改 使用ajax 我是ajax初学者 请帮帮我 谢谢 获取表
  • PHP Guzzle:空正文响应

    我刚刚开始尝试 guzzle 但我在响应主体上得到一个空字符串 client new Client base uri gt http httpbin org timeout gt 2 0 response client gt request
  • 具有多个描述项的 jQuery 手风琴定义列表

    我似乎无法使用jQuery 手风琴 http jqueryui com demos accordion 具有多个描述项 dd 的定义列表 作者的examples http jquery bassistance de accordion de
  • 有没有一个函数可以将圆的度数移动到0以上?

    我正在 Delphi XE2 中寻找类似于的函数Inc 这允许我从当前的度数中添加 减去一定的度数并产生新的度数 例如 如果我当前有一个点围绕圆 5 度 并且我想减去 10 则不应得到 5 度 而是 355 360 5 与添加过去的 360
  • 将 Yelp API 与 R 结合使用,尝试使用地理坐标搜索业务类型

    尝试使用 R 和库 ROAuth 连接到 yelp API 使用 rauth 模块和地理坐标的很棒的 python 示例 https gist github com phillipjohnson 8889618 https gist git
  • DOSBox 上的 8086 程序集: idiv 指令有错误?

    我正在帮助我的一个朋友调试他的程序 我们将其范围缩小到甚至在这里出现的问题 MODEL small STACK 16 CODE start mov ax 044c0h mov bl 85 idiv bl exit mov ax 4c00h
  • AWK - 如何列匹配文件 A 中的多个匹配项与文件 B 中的一个匹配项

    我试图在文件 A 中的第 1 列和文件 B 中的第 2 列之间找到匹配的字符串 并为每个匹配打印文件 A 文件 B 的整行 问题是文件 A 的第 1 列中有多个具有相同值的字符串 当我使用 awk 解决方案时 它只打印最后一个匹配项而不是所
  • C++/WinRT(Windows SDK 17134 的一部分)与 Visual Studio 15.8 Preview 3 不兼容

    尝试编译以下代码 include
  • 从另一个类访问静态变量

    我在同一个包中有两个类 我已经宣布了static variable在一个类中 并且想要在另一个类中访问该变量 这是我的代码 其中声明了静态变量 public class wampusGUI extends javax swing JFram
  • 重复使用黄瓜步骤

    我想重复使用一些黄瓜步骤 但似乎找不到正确的方法 我想写一个这样的步骤 Given I login with credentials type do stuff with type being one of invalid or valid
  • 了解自下而上的杆切割实施

    In 算法导论 CLRS https rads stackoverflow com amzn click com 0262033844 科门等人 下面谈谈解决切棒问题 第369页 EXTENDED BOTTOM UP CUT ROD p n
  • 如何用计算表达式替换捕获组(向捕获组添加整数值)

    我需要用这种格式转换一些字符串 B12F34 类似的事情 12号楼 34楼 但我必须向第二个捕获组添加一个值 例如 10 这样新字符串将如下所示 12号楼 楼44 我可以使用这个 postgres 句子来完成几乎所有事情 但我不知道如何将值
  • 如何抑制 Flash 迁移警告 (1090)

    在 Flash Professional CS4 中 当我使用鼠标 键盘输入处理程序名称 例如 onMouseDown onKeyUp 等 时 我会收到 迁移问题 警告 即使我已为它们添加了事件侦听器 这些名称对于函数来说是完全合法的 但由
  • 让 Ninject 管理我的交易状态,实践关注点

    我让 Ninject 管理我的ISession and ITransaction使用以下注册方法在 Fluent nHibnerate 中进行状态 我想知道它是否足以控制事务 或者我是否需要将其放在其他地方 想法是 每个ISession根据
  • 哎呀!失去与未定义的连接 - 连接建立后立即失去连接

    过去几天我一直在尝试 spring 4 websocket 但有一个问题 我正在使用 apache tomcat 8 这不是一个 Maven 项目 这是我的片段 索引 jsp
  • css - 如何拉伸和自动调整背景图像大小

    我试图让我的背景图像延伸到整个页面 但到目前为止我有这个 这是我想要在浏览器窗口中拉伸的图片 我的外部 CSS 包含以下代码 hr color sienna p margin left 20px body background image
  • 从另一个线程关闭表单

    我有这个运行的代码 exe string openEXE C Users marek Documents Visual Studio 2012 Projects tours tours bin Debug netpokl exe Proce
  • 如何扩展 MongoDB?

    我知道 MongoDB 可以垂直扩展 如果我的磁盘空间不足怎么办 我目前正在使用 EC2 和 EBS 如您所知 我必须为 EBS 分配固定大小 如果 MongoDB 的增长大于 EBS 的大小怎么办 我是否必须创建更大的 EBS 并复制并粘
  • AsyncTask 中的 ProgressDialog

    我试图在从 HTTP 服务器加载 RSS 提要时显示自定义进度对话框 我进行了艰苦的搜索 但没有任何帮助我做到这一点 我唯一知道的是该解决方案应该使用AsyncTask 但我对传递给它的参数感到困惑AsyncTask 这是我的活动 publ
  • Python中四分位距应该如何计算?

    我有一个数字列表 1 2 3 4 5 6 7 我想要一个函数来返回这个数字列表的四分位数范围 四分位数间距是上四分位数和下四分位数之间的差值 我尝试使用 NumPy 函数和 Wolfram Alpha 计算四分位数范围 我发现所有的答案 从