Comment l'intervalle interquartile être calculé en Python?

J'ai une liste de numéros de [1, 2, 3, 4, 5, 6, 7] et je veux avoir une fonction pour retourner l'écart interquartile de cette liste de nombres. L'écart interquartile est la différence entre les quartiles supérieur et inférieur. J'ai tenté de calculer l'écart interquartile à l'aide de fonctions de NumPy et à l'aide de Wolfram Alpha. Je trouve toutes les réponses, de mon manuel, à la NumPy, tothe Wolfram Alpha, d'être différent. Je ne sais pas pourquoi.

Ma tentative en Python est comme suit:

>>> 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

Ma tentative de Wolfram Alpha est comme suit:

Je trouve que les valeurs renvoyées par NumPy et Wolfram Alpha pour ce que, je pense, le premier quartile, le troisième quartile et l'écart interquartile ne sont pas cohérentes. Pourquoi est-ce? Que devrais-je faire en Python pour calculer l'écart interquartile correctement?

Autant que je suis conscient, l'écart interquartile de [1, 2, 3, 4, 5, 6, 7] doit être la suivante:

median(5, 6, 7) - median(1, 2, 3) = 4.

OriginalL'auteur d3pd | 2014-12-14