【发布时间】:2023-03-19 04:46:01
【问题描述】:
我正在使用 Python 测量数据样本的中位数和百分位数。
import numpy as np
xmedian=np.median(data)
x25=np.percentile(data, 25)
x75=np.percentile(data, 75)
在测量中位数之前,我是否必须对我的数据使用 np.sort() 函数?
【问题讨论】:
标签: python numpy median percentile
我正在使用 Python 测量数据样本的中位数和百分位数。
import numpy as np
xmedian=np.median(data)
x25=np.percentile(data, 25)
x75=np.percentile(data, 75)
在测量中位数之前,我是否必须对我的数据使用 np.sort() 函数?
【问题讨论】:
标签: python numpy median percentile
根据numpy.median 的文档,您不必在将数据提供给函数之前手动对数据进行排序,因为它在内部执行此操作。查看函数的源代码并尝试了解其工作原理实际上是一种很好的做法。
示例,表明无需预先排序:
In [1]: import numpy as np
In [2]: data = np.array([[ 10, 23, 1, 4, 5],
...: [ 2, 12, 5, 22, 14]])
In [3]: median = np.median(data) # Median of unsorted data
In [4]: median
Out[4]: 7.5
In [5]: data.sort() # Sorting data
In [6]: median_sorted = np.median(data.ravel()) # Median of the flattened array
In [7]: median_sorted
Out[7]: 7.5
In [8]: median == median_sorted # Check that they are equal
Out[8]: True
【讨论】: