我正在使用Python对数据样本进行中位数和百分位数的测量。
import numpy as np
xmedian=np.median(data)
x25=np.percentile(data, 25)
x75=np.percentile(data, 75)
在测量中位数之前,我是否需要使用np.sort()
函数对我的数据进行排序?
我正在使用Python对数据样本进行中位数和百分位数的测量。
import numpy as np
xmedian=np.median(data)
x25=np.percentile(data, 25)
x75=np.percentile(data, 75)
在测量中位数之前,我是否需要使用np.sort()
函数对我的数据进行排序?
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