np.percentile获取中位数、百分位数
给定一个递增数组a,求它的中位数。
np.percentile(a,50)
中位数就是50%处的数字,也可以获得0%、100%处的数字,0%处的数字就是第一个数字,100%处的数字就是最后一个数字。1/(len(a)-1)*100
处的数字就是第2个数字,2/(len(a)-1)*100
处的数字就是第3个数字,以此类推。
import numpy as np
a = np.array([1, 2, 3, 6, 7, 11, 13])
for ind, v in enumerate(a):
print("index", ind, "value", v, "percentile", ind / (len(a) - 1) * 100)
percen = np.percentile(a, ind / (len(a) - 1) * 100)
assert np.abs(percen - v) < 1e-3, "%s!=%s" % (percen, v)
输出为
index 0 value 1 percentile 0.0
index 1 value 2 percentile 16.666666666666664
index 2 value 3 percentile 33.33333333333333
index 3 value 6 percentile 50.0
index 4 value 7 percentile 66.66666666666666
index 5 value 11 percentile 83.33333333333334
index 6 value 13 percentile 100.0
np.percentile()函数的作用就是求百分位数,从而能够知道数字大致的分布。
percentile函数原型为:
numpy.percentile(a, q, axis=None, out=None, overwrite_input=False)
- a是原始数组,可以是多维数组
- q为0~100之间的浮点数或者浮点数组,若为浮点数组表示批量查询
- axis:在a的哪个轴上计算百分位数
np.percentile获取中位数、百分位数的更多相关文章
- np.percentile()
np.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=Fal ...
- python numpy库np.percentile用法说明
在python中计算一个多维数组的任意百分比分位数,此处的百分位是从小到大排列,只需用np.percentile即可…… a = range(1,101) #求取a数列第90%分位的数值 np.per ...
- [LeetCode] 295. Find Median from Data Stream ☆☆☆☆☆(数据流中获取中位数)
295. Find Median from Data Stream&数据流中的中位数 295. Find Median from Data Stream https://leetcode.co ...
- python中获取中位数
普通方法: 对列表进行排序,然后根据长度为奇数或者偶数的不同情况计算中位数 def huahua(x): length = len(x) print(length) x.sort() print(x) ...
- 剑指offer(65):获取数据流中的中位数
参考 https://blog.csdn.net/u011080472/article/details/51291089 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位 ...
- Python_箱型图绘制与特征值获取
它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较 如何利用Python绘制箱型图 需要的import的包 import matplotlib.pyplot as plt from m ...
- 问题: 数据流中位数 求解 时间复杂度度 java
今天练习了一题: 数据流中位数 问题描述:数字是不断进入数组的,在每次添加一个新的数进入数组的同时返回当前新数组的中位数. 案例: 持续进入数组的数的列表为:[1, 2, 3, 4, 5],则返回[1 ...
- Numpy求均值、中位数、众数的方法
首先需要数据源,这里随便写了一个: nums = [1,2,3,4] 求均值和中位数均可以使用numpy库的方法: import numpy as np #均值 np.mean(nums) #中位数 ...
- numpy.percentile
http://docs.scipy.org/doc/numpy/reference/generated/numpy.percentile.html numpy.percentile(a, q, axi ...
随机推荐
- gradle根据不同渠道设置不同的开屏启动页
需求:根据不同渠道,app的开屏启动页不一样 思路:因为app的启动页是在清单文件配置的,而清单文件最后是要和main里面的清单文件合并的,所以每个渠道都要配一个清单文件,在里面设置 然后在Andro ...
- python——比return优先级更高的语句
调用sqlmap,使用sqlmap做二次开发的时候,出现的问题: 在调用sqlmap中return,然而主程序还是会被sqlmap中的某些代码给中断. 添加try也无法阻止中断. 后来猜测中断是由ex ...
- Django 学习第三天——模板变量及模板过滤器
一.模板路径的查找: 查找顺序:(现在哪找到就用那个) 首先在主目录的 setting.py 文件里的 TEMPLATES 中的 DIRS 里找: 其次如果 DIRS 中的 APP_DIRS : 'T ...
- 上海市2019年公务员录用考试第一轮首批面试名单(B类)
上海市2019年公务员录用考试第一轮首批面试名单(B类) 2019-03-12 设置字体:大 中 小 职位序号 注册编号 职位序号 注册编号 职位序号 注册编号 职位序号 注册编号 1910565 5 ...
- ELK日志分析方案
针对公司项目微服务化,随着项目及服务器的不断增多,决定采用ELK(Elasticsearch+Logstash+Kibana)日志分析平台进行微服务日志分析. 1.ELK整体方案 1.1 ELK架构图 ...
- 南阳171----聪明的kk
//简单的dp #include<cstdio> #define Max(a,b) ((a)>(b)?(a):(b)) ]; int main() { int i,j,n,m,x,t ...
- LOJ.6068.[2017山东一轮集训Day4]棋盘(费用流zkw)
题目链接 考虑两个\(\#\)之间产生的花费是怎样的.设这之间放了\(k\)个棋子,花费是\(\frac{k(k-1)}{2}\). 在\((r,c)\)处放棋子,行和列会同时产生花费,且花费和该行该 ...
- System.ServiceModel.AddressAccessDeniedException
发生了 System.ServiceModel.AddressAccessDeniedException HResult=0x80131501 Message=HTTP 无法注册 URL ht ...
- STM32串口usart发送数据
主函数请直接关注41行到47行代码!! #include "stm32f10x.h" // 相当于51单片机中的 #include <reg51.h> #include ...
- C Windows控制台字符版本俄罗斯方块
//一个可以工作在Windows控制台字符界面下的俄罗斯方块 //工作在非图形模式,无需其他库依赖,单个C文件代码即可运行 //支持最高纪录,并且对于纪录进行了加密 //By wrule 2015年1 ...