分位数(Quantile)亦称分位点是指将一个随机变量的概率分布范围分为几个等份的数值点,下面这篇文章主要给大家介绍了关于Python中np.percentile和df.quantile分位数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
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, ‘index’, ‘columns’}, default 0,对于行,等于0或“索引”,对于列,等于1或“列”
- numeric_only:bool, default True,如果为False,则还将计算日期时间和时间增量数据的分位数
- interpolation:{‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’},当所需分位数位于两个数据点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'])
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
'''
总结
到此这篇关于Python中np.percentile和df.quantile分位数详解的文章就介绍到这了,更多相关np.percentile和df.quantile分位数内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:Python中np.percentile和df.quantile分位数详解
猜你喜欢
- redis清除数据 2023-09-13
- MySQL8.0.28安装教程详细图解(windows 64位) 2023-07-26
- SQLSERVER调用C#的代码实现 2023-07-29
- SQL Server 2022 AlwaysOn新特性之包含可用性组详解 2023-07-29
- 在阿里云CentOS 6.8上安装Redis 2023-09-12
- 搭建单机Redis缓存服务的实现 2023-07-13
- Numpy中如何创建矩阵并等间隔抽取数据 2023-07-28
- Oracle 删除大量表记录操作分析总结 2023-07-23
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections. 2023-07-16
- 基于Python制作一个简单的文章搜索工具 2023-07-28