鉴于:
x = [1.23, 2.0, 3.45, 4.1]
然后:
middle = numpy.median(x)
如果列表
x
的大小为奇数,我可以使用 x[x.index(middle)-1]
和 x[x.index(middle)+1]
来获取中间任一侧的两个数字。这在上述情况下不起作用,因为 x
中不存在中位数。是否有标准方法可以处理偶数大小和奇数大小的列表? 最佳答案
假设排序的输入列表的长度是 N
那么在我看来你想要访问元素 N/2-1
和 (N+1)/2
(假设整数除法),即,
[1.23, 2.0, 3.45, 4.1] => N = 4 thus N/2-1 = 1 and (N+1)/2 = 2
[1.23, 2.0, 3.45, 4.1, 5.6] => N = 5 thus N/2-1 = 1 and (N+1)/2 = 3
关于python - 获取中位数两侧的两个数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33002876/