Python Pandas - 手动分位数计算

2023-12-28

我正在尝试手动计算列值的分位数,但与 Pandas 的结果输出相比,无法使用公式手动找到正确的分位数值。 我四处寻找不同的解决方案,但没有找到正确的答案

In [54]: df

Out[54]:
    data1   data2       key1    key2
0 -0.204708 1.393406    a       one
1 0.478943  0.092908    a       two
2 1.965781  1.246435    a       one

In [55]: grouped = df.groupby('key1')
In [56]: grouped['data1'].quantile(0.9)
Out[56]:
key1
a 1.668413

使用公式手动查找,n为3,因为data1列中有3个值

quantile(n+1)

应用 df1 列的值

=0.9(n+1) 
=0.9(4)
= 3.6

所以第3.6位是1.965781,那么pandas如何给出1.668413呢?


功能quantile将根据您的数据范围分配百分比。

在你的情况下:

  • -0.204708 将被视为第 0 个百分位数,
  • 0.478943 将被视为第 50 个百分位数,
  • 1.965781 将被视为第 100 个百分位数。

因此,您可以通过以下方式计算第 90 个百分位数(使用第 50 个百分位数和第 100 个百分位数之间的线性插值:

>>import numpy as np

>>x =np.array([-0.204708,1.965781,0.478943])
>>ninetieth_percentile = (x[1] - x[2])/0.5*0.4+x[2]
>>ninetieth_percentile    
1.6684133999999999

请注意,值 0.5 和 0.4 来自以下事实:数据的两个点跨越了数据的 50%,而 0.4 表示高于您希望查找的 50% 的量 (0.5+0.4 = 0.9)。希望这是有道理的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Pandas - 手动分位数计算 的相关文章

  • 让 VoiceChannel.members 和 Guild.members 返回完整列表的问题

    每当我尝试使用 VoiceChannel members 或 Guild members 时 它都不会提供适用成员的完整列表 我从文本命令的上下文中获取 VoiceChannel 和 Guild 如下所示 bot command name
  • 计算另一个字符串中多个字符串的出现次数

    在 Python 2 7 中 给定以下字符串 Spot是一只棕色的狗 斑点有棕色的头发 斑点的头发是棕色的 查找字符串中 Spot brown 和 hair 总数的最佳方法是什么 在示例中 它将返回 8 我正在寻找类似的东西string c
  • 在 Celery 任务中调用 Google Cloud API 永远不会返回

    我正在尝试拨打外部电话Google Cloud Natural Language API从一个内Celery任务 使用google cloud python包裹 问题是对 API 的调用永远不会返回 挂起 celery task def g
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • 如何将特定范围内的标量添加到 numpy 数组?

    有没有一种更简单 更节省内存的方法可以单独在 numpy 中执行以下操作 import numpy as np ar np array a l r ar c a a 0 l ar tolist a r 它可能看起来很原始 但它涉及获取给定数
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 使用加权行概率从 PostgreSQL 表中选择随机行

    输入示例 SELECT FROM test id percent 1 50 2 35 3 15 3 rows 你会如何编写这样的查询 平均 50 的时间我可以获得 id 1 的行 35 的时间 id 2 的行 15 的时间 id 3 的行
  • 如何从pandas中的多列计算多列

    我正在尝试使用函数从 pandas 数据框中的多个列计算多个列 该函数采用三个参数 a b 和 c 并返回三个计算值 sum prod 和 quot 在我的 pandas 数据框中 我有三个列 a b 和 c 我想从中计算列 sum pro
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的

随机推荐

  • 可以将方程的表达式放在其图形表示附近吗?

    当我在 Mathematica 中绘制一个函数时 它是否有可能自动将其方程 即 y 2x 或什至其他文本放在其附近 乍一看我没有找到任何选项 但如果有的话我想知道 Thanks 使用 Mathematica 6 或更高版本 我经常使用Too
  • 在不使用 strcmp 的情况下将 char* 与字符串进行比较

    我正在尝试将 char 的内容与字符串进行比较 我可以打印内容 但无法比较它们 include
  • eclipse ubuntu 18.04安装java.lang.ClassNotFoundException:

    安装了eclipse和Java8 但它不起作用 当尝试运行它时 会发生以下错误 发生了错误 看日志文件 home shield eclipse org eclipse platform 3 8 155965261 configuration
  • Laravel 资源通过 ajax 销毁

    我可以通过ajax使用资源吗 我有这个资源 Route resource dashboard DashBoardController js file ajax type delete dataType json data id id url
  • 仅授予视图权限

    我的数据库中有一个用户 我想授予他只读一个视图的权限 仅此而已 没有表 什么都没有 我怎样才能做到这一点 多谢 PS 我使用的是 MS SQL Server 2005 USE DB1 GRANT SELECT ON OBJECT View1
  • 使用 Rspec 2 和 Devise 测试 Rails 3 中的助手

    我的帮助程序代码如下所示 并且工作正常 module ProvidersHelper def call to review provider if user signed in review Review find by provider
  • Android Studio 中的 R.java 文件在哪里?

    Android Studio 中的 R java 文件在哪里 有人可以帮忙解决这个问题吗 我已经尝试过谷歌寻找答案 但找不到任何解决方案 Based on the new stable release of Android Studio 3
  • ASP.NET WebApi 和部分响应

    我正在开发一个 ASP NET WebApi 项目 老板希望返回支持 部分响应 这意味着虽然数据模型可能包含 50 个字段 但客户端应该能够请求响应的特定字段 原因是 如果他们要实现一个列表 他们根本不需要所有 50 个字段的开销 他们可能
  • NGINX 容器路由:Nginx 不会重定向到 docker 容器

    我是网络服务器领域的新手 我正在设置一个服务器 example de 为两个不同的 Docker 化应用程序提供服务 暴露的端口3000 app1 和5000 app2 分别映射到服务器端口9000和9001 请求 url example
  • 有没有办法使用 Visual Studio Code 查看 git diff 与 origin/master 的差异?

    使用 Visual Studio Code 版本 1 11 2 我可以通过单击源代码控制左侧面板中的按钮 但是 一旦我将这些更改提交到本地存储库 我就无法找到一种方法来查看与 origin master 相同的并排差异 换句话说 有没有办法
  • ReentrantLock.lock() 不会阻塞其他线程

    我很难理解 ReentrantLock lock 的行为 我有以下课程 import java util concurrent locks class BlockingClass private Lock lock new Reentran
  • 休息框架“元组”对象没有属性“_meta”

    Django 抛出下一个异常 休息框架 元组 对象没有属性 meta Model class BDetail models Model lat models FloatField blank True null True lng model
  • 如何批量更改系统区域设置

    所以我试图制作一个 kirikiri 日本虚拟小说创作者 但除非系统区域设置是日语 否则小说不会运行 我知道如何手动完成 但我想创建一个批量写入的程序来加快速度 您可以从像这样的命令行 http www oracle com technet
  • Android MediaPlayer 已暂停,音量按钮无法控制多媒体

    我使用在 Internet 上找到的示例代码播放了示例音乐 mp3 代码是这样的 MediaPlayer mp new mp setDataSource mp setAudioStreamType mp prepare mp start 问
  • Chrome、Firefox 和 Safari 中的 DOCTYPE 和 BackCompat 模式与 CSS1Compat 模式有何区别?

    我倾向于认为 如果没有DOCTYPE IE 将会出现问题 因为如果没有DOCTYPE 它会使用 IE 的盒子模型以 Quirk 模式渲染页面上的项目 我知道我们应该始终放入DOCTYPE 但这里的关键问题是 如果由于某种原因 当我们分析第三
  • 求解线性回归的梯度下降法和正规方程法给出了不同的解

    我正在研究机器学习问题 并希望使用线性回归作为学习算法 我实现了两种不同的方法来查找参数theta线性回归模型 梯度 最速 下降和正态方程 对于相同的数据 他们应该给出大致相等的theta向量 然而他们没有 Both theta除了第一个元
  • 无法确定元数据,因为语句“插入”

    我有一个 select 语句 其中创建了 2 个临时表 并在从这些临时表中获取数据之前插入 select 在它们之间创建联接 最终的选择就是我想要的元数据 在 ssms 中它运行良好 在 ssis 中我不知道为什么它会抛出该错误 查询是这样
  • jquery datatables actionlink如何添加

    我过去几个小时一直在搜索 不幸的是我似乎找不到如何使用 net 和 MVC 使用操作编辑和删除链接列填充数据表的示例 这是我到目前为止所拥有的 如何添加操作链接 我缺少什么 div div table table div div
  • Trie 与 B+ 树

    Trie 树和 B 树在索引按字典顺序排序的字符串时如何比较 大约数十亿 它也应该支持范围查询 从性能 以及实现复杂性的观点 我想说这取决于你的意思Range 如果你的范围表示为所有单词开头为 那么一个Trie我想说的是正确的选择 另一方面
  • Python Pandas - 手动分位数计算

    我正在尝试手动计算列值的分位数 但与 Pandas 的结果输出相比 无法使用公式手动找到正确的分位数值 我四处寻找不同的解决方案 但没有找到正确的答案 In 54 df Out 54 data1 data2 key1 key2 0 0 20