【发布时间】:2016-01-05 07:31:15
【问题描述】:
给定:
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 中不存在中位数。是否有可以处理偶数和奇数列表的标准方法?
【问题讨论】:
-
刚刚意识到
.index()方法本身无论如何都会在奇数大小的列表中有相同条目时崩溃,因为它会错误地选择第一个出现。 -
第一个大于中位数的元素和它之前的元素应该这样做,不是吗?
-
“第一个大于中位数的元素和紧接在它之前的元素”是目标本身:)
-
呃,对不起。我没有看到你需要这种情况来处理均匀和不均匀的情况。
-
也许您可以指定您的数组已排序?它大大简化了问题。
标签: python list python-2.7 numpy median