Как рассчитать межквартильный диапазон в 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.

Ответы на вопрос(3)

Ваш ответ на вопрос