【发布时间】:2017-08-07 21:23:53
【问题描述】:
我正在尝试使用 numpy 在 python 中计算一组值的四分位数。
X = [1, 1, 1, 3, 4, 5, 5, 7, 8, 9, 10, 1000]
我会做以下事情:
quartiles = np.percentile(X, range(0, 100, 25))
quartiles
# array([1. , 2.5 , 5. , 8.25])
但这是不正确的,因为第 1 和第 3 个四分位数应分别为 2 和 8.5。
这可以显示如下:
Q1 = np.median(X[:len(X)/2])
Q3 = np.median(X[len(X):])
Q1, Q3
# (2.0, 8.5)
我无法理解np.percentile 正在做什么来给出不同的答案。对此有任何启示,我将不胜感激。
【问题讨论】:
标签: python-3.x numpy quartile