📜  np.percentile (1)

📅  最后修改于: 2023-12-03 14:44:45.779000             🧑  作者: Mango

numpy中的np.percentile函数介绍

简介

np.percentile 是NumPy中的一种用于计算分位数的函数。分位数是将一个硬币堆分成若干份,每一份的大小相等,且分割点会把硬币堆分成若干部分,p是分割点,比如说,2/3的人坐在2/3-1/3=1/3的位置上,这个位置就是p分位数。其中p可以是1-99之间的数字。

该函数的用法如下:

np.percentile(a, q, axis=None, out=None, interpolation='linear', keepdims=False)
  • a: 输入数组。
  • q: 要计算的分位数,介于0和100之间。
  • axis: 沿着它计算分位数的轴。
  • out: 存储输出结果的可选输出数组。
  • interpolation: 插值方法。默认为线性插值。
  • keepdims: 如果为True,则将减少的维度保留在结果中。

返回值为数组的分位数。

示例
基本用法
import numpy as np

a = np.array([1,2,3,4,5,6,7,8,9])

# 计算中位数
print(np.percentile(a, 50)) # 输出: 5

# 计算75%分位数
print(np.percentile(a, 75)) # 输出: 7.0
沿着某一轴计算分位数
import numpy as np

a = np.array([[1,2,3],[4,5,6],[7,8,9]])

# 计算第二行的中位数
print(np.percentile(a, 50, axis=1)) # 输出: [2. 5. 8.]
使用插值方法
import numpy as np

a = np.array([1,2,3,4,5,6,7,8,9])

# 使用插值方法nearest计算中位数
print(np.percentile(a, 50, interpolation='nearest')) # 输出: 5

# 使用插值方法lower计算75%分位数
print(np.percentile(a, 75, interpolation='lower')) # 输出: 7
总结

np.percentile 函数可以用来计算一个数组的分位数,支持指定轴、插值方法等高级用法,具有较高的灵活性和可定制性。在统计学与机器学习等领域,分位数是一个重要的基本概念,在实际应用中应该多加利用。