【发布时间】:2019-06-21 00:55:51
【问题描述】:
这有什么问题?我试图找到中位数前后的四分位数。但是输出不正确。
from statistics import median
this_list = [5, 7, 9, 0, 1, 3, 13, 450, 20]
outliers = []
def find_outlier(integers):
ordered = sorted(integers)
integers = ordered
the_median = median(integers)
print(integers)
q1 = median(integers[:the_median]) #outputs 5
q3 = median(integers[the_median:])
print(q1, q3)
iqr = q3 - q1
get_outlier = 1.5 * iqr
low_outlier = q1 - get_outlier
high_outlier = q3 + get_outlier
for number in integers:
if number < low_outlier or number > high_outlier
outliers.append(number)
print('Your outliers are:' + str(outliers))
find_outlier(this_list)
【问题讨论】:
-
median()返回中值,而不是它的索引。 -
所以
integers[:the_median]不会做你想做的事。