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:
- "premier quartile 1, 2, 3, 4, 5, 6, 7": 2.25
- "le troisième quartile 1, 2, 3, 4, 5, 6, 7": 5.75
- (commentaire: 5.75 - 2.25 = 3.5)
- "écart interquartile 1, 2, 3, 4, 5, 6, 7": ~3.5
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
Vous devez vous connecter pour publier un commentaire.
Vous disposez de 7 numéros qui vous êtes tenté de diviser en quartiles. Parce que 7 n'est pas divisible par 4 il ya un couple de façons de le faire comme mentionné ici.
Votre chemin est la première donnée par ce lien, wolfram alpha semble être l'utilisation de la troisième. Numpy est fait essentiellement la même chose que wolfram cependant son interpolation basée sur les percentiles (comme indiqué ici) plutôt que de les quartiles de sorte que son obtention d'une réponse différente. Vous pouvez choisir comment numpy gère ce à l'aide de l'option d'interpolation (j'ai essayé de le lien vers la documentation, mais apparemment je suis le seul autorisé à deux liens par post).
Vous aurez à choisir la définition que vous préférez pour votre application.
OriginalL'auteur or1426
La Version 1.9 de numpy propose une pratique 'interpolation' argument pour vous aider à obtenir à 4.
OriginalL'auteur warner121
Pas parfait, mais ces fonctions doivent approximative:
OriginalL'auteur geotheory