在使用numpy.median之前对数据进行排序

Mar*_*lum 4 python numpy median percentile

我正在使用Python测量数据样本的中位数和百分位数.

import numpy as np
xmedian=np.median(data)
x25=np.percentile(data, 25)
x75=np.percentile(data, 75)
Run Code Online (Sandbox Code Playgroud)

np.sort()在测量中位数之前,我是否必须在数据上使用该功能?

sod*_*odd 6

根据文档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
Run Code Online (Sandbox Code Playgroud)