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

我正在使用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
上一篇:SpringCloud(7)服务链路追踪Spring Cloud Sleuth


下一篇:预测python数据分析师的工资