随笔 - 384  文章 - 0  评论 - 35  阅读 - 142万

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’},当所需分位数位于两个数据点ij之间时,此可选参数指定要使用的插值方法

返回

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
'''
复制代码

 

posted on   小小喽啰  阅读(6635)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示