У меня есть список чисел [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.