Python中np.percentile和df.quantile分位数详解

作者:小小喽啰 时间:2021-11-25 17:26:00 

np.percentile

numpy.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)

参数:

  • a : array,用来算分位数的对象,可以是多维的数组

  • q : array_like of float,介于0-100的float,用来计算是几分位的参数,如四分之一位就是25,如要算两个位置的数就(25,75)

  • axis : 坐标轴的方向,一维的就不用考虑了,多维的就用这个调整计算的维度方向,取值范围0/1,默认值为沿着数组的展平版本计算百分位数

  • out : 输出数据的存放对象,参数要与预期输出有相同的形状和缓冲区长度

  • overwrite_input : bool,默认False,为True时及计算直接在数组内存计算,计算后原数组无法保存

  • interpolation : 取值范围{'linear', 'lower', 'higher', 'midpoint', 'nearest'}

  • 默认liner,比如取中位数,但是中位数有两个数字6和7,选不同参数来调整输出

  • keepdims : bool,默认False,为真时取中位数的那个轴将保留在结果中

a = np.array([[10, 7, 4], [3, 2, 1]])
a
'''
array([[10,  7,  4],
      [ 3,  2,  1]])
'''
np.percentile(a, 50)
#3.5
np.percentile(a, 50, axis=0)
#array([[ 6.5,  4.5,  2.5]])
np.percentile(a, 50, axis=1)
#array([ 7.,  2.])
np.percentile(a, 50, axis=1, keepdims=True)
'''
array([[ 7.],
      [ 2.]])
'''

pandas.DataFrame.quantile

DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear')

参数:

  • q:float or array-like, default 0.5 (50% quantile),0 <= q <= 1之间的值,即要计算的分位数

  • axis:{0, 1, &lsquo;index&rsquo;, &lsquo;columns&rsquo;}, default 0,对于行,等于0或&ldquo;索引&rdquo;,对于列,等于1或&ldquo;列&rdquo;

  • numeric_only:bool, default True,如果为False,则还将计算日期时间和时间增量数据的分位数

  • interpolation:{&lsquo;linear&rsquo;, &lsquo;lower&rsquo;, &lsquo;higher&rsquo;, &lsquo;midpoint&rsquo;, &lsquo;nearest&rsquo;},当所需分位数位于两个数据点i和j之间时,此可选参数指定要使用的插值方法

返回

Series or DataFrame

  • 如果q是数组,则将返回DataFrame,其中index为q,列为self的列,值为分位数。

  • 如果q为float,则在index是self的列,值是分位数

df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),
                 columns=['a', 'b'])

Python中np.percentile和df.quantile分位数详解

df.quantile(.1)
'''
a    1.3
b    3.7
Name: 0.1, dtype: float64
'''
df.quantile([.1, .5])
'''
      a     b
0.1  1.3   3.7
0.5  2.5  55.0
'''

总结 

来源:https://www.cnblogs.com/cgmcoding/p/13713171.html

标签:np.percentile,df.quantile,分位数
0
投稿

猜你喜欢

  • asp中把数据表映射成ajax可调用的json格式的方法

    2010-01-22 15:27:00
  • springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项

    2023-09-04 09:17:26
  • Python打印特殊符号及对应编码解析

    2023-08-16 02:14:07
  • Django如何实现上传图片功能

    2023-04-23 17:35:01
  • Vue 项目中遇到的跨域问题及解决方法(后台php)

    2023-11-16 09:14:13
  • 瞎扯之Web导航

    2009-03-18 19:32:00
  • pycharm远程连接服务器并配置python interpreter的方法

    2023-03-21 20:36:06
  • http通过StreamingHttpResponse完成连续的数据传输长链接方式

    2023-06-04 03:33:45
  • 如何实现优惠打折?

    2010-06-03 10:27:00
  • PHP解析xml格式数据工具类示例

    2023-11-19 20:05:53
  • OpenCV中resize函数插值算法的实现过程(五种)

    2021-07-09 21:05:24
  • DreamweaverMX 2004打造细线表格

    2008-10-01 09:39:00
  • python之excel文件(.xls文件)处理方式

    2021-08-22 15:58:14
  • MYSQL教程:检查数据表和修复数据表

    2009-03-11 15:24:00
  • 分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了

    2022-05-04 15:35:38
  • 处理Python中的URLError异常的方法

    2021-06-04 03:33:15
  • 关于Ajax在浏览器中产生前进后退的实现方法

    2010-01-29 13:01:00
  • 使用python检查yaml配置文件是否符合要求

    2021-06-23 05:27:53
  • python中列表的切片与修改知识点总结

    2023-08-29 00:49:08
  • asp无限级分类加js收缩伸展功能代码

    2009-12-08 12:25:00
  • asp之家 网络编程 m.aspxhome.com