Как рассчитать межквартильный диапазон в Python?
У меня есть список номеров[1, 2, 3, 4, 5, 6, 7]
и я хочу иметь функцию для возврата межквартильного диапазона этого списка чисел. Межквартильный диапазон - это разница между верхним и нижним квартилями. Я попытался вычислить межквартильный диапазон, используя функции NumPy и Wolfram Alpha. Я считаю, что все ответы, от моего руководства до NumPy, от Wolfram Alpha, разные. Я не знаю, почему это так.
Моя попытка в Python заключается в следующем:
>>> a = numpy.array([1, 2, 3, 4, 5, 6, 7])
>>> numpy.percentile(a, 25)
2.5
>>> numpy.percentile(a, 75)
5.5
>>> numpy.percentile(a, 75) - numpy.percentile(a, 25) # IQR
3.0
Моя попытка в Wolfram Alpha заключается в следующем:
«первый квартиль 1, 2, 3, 4, 5, 6, 7»: 2,25«третий квартиль 1, 2, 3, 4, 5, 6, 7»: 5,75(комментарий: 5,75 - 2,25 = 3,5)«межквартирный диапазон 1, 2, 3, 4, 5, 6, 7»: ~ 3,5Итак, я считаю, что значения, возвращаемые NumPy и Wolfram Alpha для того, что я считаю первым квартилем, третьим квартилем и межквартильным диапазоном, не согласованы. Почему это? Что я должен делать в Python, чтобы правильно рассчитать межквартильный диапазон?
Насколько мне известно, межквартильный диапазон[1, 2, 3, 4, 5, 6, 7]
должно быть следующее:
median(5, 6, 7) - median(1, 2, 3) = 4.