np.quantile()详解

2023-10-27

numpy.quantile

numpy.quantile(a, q, axis=None, out=None, overwrite_input=False, interpolation=‘linear’, keepdims=False)

import numpy as np

arr = np.array([[0.77395605, 0.43887844, 0.85859792, 0.69736803 ],
                [0.09417735, 0.97562235, 0.7611397 , 0.78606431 ],
                [0.12811363, 0.45038594, 0.37079802, 0.92676499 ]])

axis=0

axis=0,先按列进行升序排列

[[0.09417735, 0.43887844, 0.37079802, 0.69736803 ],
 [0.12811363, 0.45038594, 0.7611397 , 0.78606431 ],
 [0.77395605, 0.97562235, 0.85859792, 0.92676499 ]]
np.quantile(arr, q=0.2, axis=0)
array([0.10775186, 0.44348144, 0.52693469, 0.73284654])
# n=3,q=0.2,n*p = 3*0.2 = 0.6, 0.6不足1按1看,那么在第(1,2)中间进行插值
# 0.4 为 2q
print(0.09417735 + 0.4*(0.12811363-0.09417735))
print(0.43887844 + 0.4*(0.45038594-0.43887844))
print(0.37079802 + 0.4*(0.7611397-0.37079802))
print(0.69736803 + 0.4*(0.78606431-0.69736803))
0.107751862
0.44348144
0.526934692
0.732846542
np.quantile(arr, q=0.4, axis=0)
array([0.12132637, 0.44808444, 0.68307136, 0.76832505])
# n=3,q=0.3,n*p = 3*0.4 = 1.2, 那么在第(1,2)中间进行插值
# 0.8 为 2q
print(0.09417735 + 0.8*(0.12811363-0.09417735))
print(0.43887844 + 0.8*(0.45038594-0.43887844))
print(0.37079802 + 0.8*(0.7611397-0.37079802))
print(0.69736803 + 0.8*(0.78606431-0.69736803))
0.12132637400000001
0.44808444
0.683071364
0.768325054

axis=1

# axis=1,先按行进行升序排列
arr.sort()
arr
array([[0.43887844, 0.69736803, 0.77395605, 0.85859792],
       [0.09417735, 0.7611397 , 0.78606431, 0.97562235],
       [0.12811363, 0.37079802, 0.45038594, 0.92676499]])
np.quantile(arr, q=0.75, axis=1, keepdims=True)
array([[0.79511652],
       [0.83345382],
       [0.5694807 ]])
# n=4,q=0.75,n*p = 4*0.75 = 3, 那么在第(3,4)中间进行插值
# 0.25 为 1-q
print(0.77395605+0.25*(0.85859792-0.77395605))
print(0.78606431+0.25*(0.97562235-0.78606431))
print(0.45038594+0.25*(0.92676499-0.45038594))
0.7951165175
0.83345382
0.5694807024999999
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

np.quantile()详解 的相关文章

随机推荐

  • Golang读取配置文件(*.ini)信息

    package main import fmt io ioutil regexp strings func checkErr e error if e nil panic e 函数名 getCfg tag string cfg string
  • Spring之ApplicationContext与BeanFactory详解

    BeanFactory和ApplicationContext Spring通过一个配置文件描述Bean和Bean之间的依赖关系 利用Java反射功能实例化Bean 并建立Bean之间的依赖关系 Spring的IOC容器在完成这些底层工作的基
  • Centos7 配置端口转发

    场景 有两台服务器主机 希望通过A主机的8080端口间接访问B主机的80 端口 开启系统路由模式功能 echo net ipv4 ip forward 1 gt gt etc sysctl conf 运行这个命令会输出上面添加的那一行信息
  • STC89C52单片机数码管介绍以及代码示例

    目录 一 数码管介绍 二 数码管引脚定义 我们首先对单个引脚进行说明 其次 我们对多个引脚管进行说明 最后我们来详细说说如何进行位选还有段选 接着是段选 三 数码管段码表 四 数码管驱动方式 五 代码演示 一 数码管介绍 LED数码管 数码
  • 如何启用服务端远程端口

    客户端操作 windows服务端操作 step1 启用远程桌面 step2 检查端口开放情况 或观察防火墙设置 step3 在 命令提示符 窗口中 输入regedit后按键盘回车键 就可以调出注册表了 step4 在 注册表编辑器 左侧栏中
  • scons 实用说明(一)

    还在为写一个makefile发愁吗 还在为难记的make参数而苦恼吗 有了scons一切都边的简单了 最近研究了下scons 发现和makefile相比 soncs编译c和c 程序真的太方便了 搞程序什么做好 当然是简单实用最好下面大家就一
  • unity学习总结

    unity短期学习小知识总结 通过这些小知识我们就可以制作一个简单的小游戏了 具体如下 给游戏物体添加tag值 获取tag gameObject tag 设置游戏对象的tag值 gameObject tag Player 调用transfo
  • redis缓存穿透、缓存击穿、缓存雪崩区别和解决方案

    redis缓存穿透 缓存击穿 缓存雪崩区别和解决方案 设计一个缓存系统 不得不要考虑的问题就是 缓存穿透 缓存击穿与失效时的雪崩效应 前台请求 后台先从缓存中取数据 取到直接返回结果 取不到时从数据库中取 数据库取到更新缓存 并返回结果 数
  • 永磁同步电机矢量控制(三)——电流环 PI 参数整定(一)

    文章目录 1 预备知识 2 电流环PI参数整定 2 1 电流环的开环传递函数 2 2 电流环参数整定 2 2 1 I型系统配置 2 3 电流环带宽 1 预备知识 这节设计到的知识 包括自动控制系统的工程设计方法 通常情况下 一个实际系统可以
  • QT——创建一个智慧家居界面

    1 新建项目注意 在创建一个项目时 我们要根据需要选择一个基类 如下图所示 根据需要合理选择 2 初始代码解读 这里我选择的基类是Qwidget include widget h 自动引入widget这个类的头文件 widget继承了Qwi
  • 群晖服务器共享文件忘记密码,群晖synology NAS ds 1815+忘记google authenticator二次验证密码...

    群晖synology NAS为了登录安全起见 设置了google的二次验证 当换手机或者刷机前没有解除二次验证时 就悲剧了 输入帐号密码后 就要输入6位google的二次验证吗 群晖登录不了 让你联系管理员 我就是管理员 点手机丢失 没有开
  • How to Debug the Eclipse C/C++ Indexer

    This page will guideline you to debug the C C Indexer in Eclipse when you meet C C Indexer Issues like below 1 Eclipse t
  • pthread_cond_wait pthread_cond_broadcast条件变量时要注意

    include
  • 应用服务器、开源框架常见实际问题记录

    eclipse 运行问题 1 The type javax servlet jsp PageContext cannot be resolved It is indirectly referenced from required class
  • exce中让两列数据一一对应_EXCEL让两个表格中的两列数据一一对应:

    WPS两个EXCEL中数据如何相对应的放在一起 例如 1 选中姓名这一列的数据中的标志就是表格的粗黑线 之后 依次在 开始 选项选择 编辑 排序和筛选 自定义排序 2 这时 会弹出 排序 窗口 在列的主要关键字中选择 姓名 排序依据 和 次
  • 终端对平台推送拉取数据选型

    开会讨论了一个问题 就是我们平台从终端获取到数据 经过我们的处理后 传输给另一个平台做展示 这个是实时的 要求必须经过我们平台 所以杠精住嘴 在这个传输过程中 给出了一下三个方案来传输数据 tcp websocket API 最后还是选取了
  • SpringBoot整合MyBatis

    SpringBoot整合MyBatis 转载请在文章最上方加上此句话 原文地址 http www cnblogs com zhuxiaojie p 5836159 html 前言 这段时间用springboot感觉确实挺好用的 很大程度上的
  • SQL查询优化——表分区

    1 表分区 在建表的时候将表建成分区表 2 好处 a1 提高对数据检索或操作的效率 a2 不同的分区可以保存到不同的表空间 磁盘 提高数据的安全性 a3 可以将数据分到不同的分区 a4 每个分区的数据可以独立的备份和恢复 3 表分区的方法
  • 【计算机科学】【2017.12】图像分类与回归的深度神经网络模型

    本文为意大利特伦托大学 作者 Salim MALEK 的博士论文 共98页 深度学习是机器学习的一个分支 在许多研究领域和实际中都得到了广泛应用 这种持续的发展主要可以追溯到潜在处理设施的可用性和可负担性 例如 仅在十年前 这些设施还没有普
  • np.quantile()详解

    numpy quantile numpy quantile a q axis None out None overwrite input False interpolation linear keepdims False import nu