У меня очень простой фрейм данных:
df = pd.DataFrame([5,7,10,15,19,21,21,22,22,23,23,23,23,23,24,24,24,24,25], columns=['val'])
df.median () = 23, что верно, поскольку из 19 значений в списке 23 является 10-м значением (9 значений до 23 и 9 значений после 23)
Я пытался вычислить 1-й и 3-й квартили как:
df.quantile([.25, .75])
val
0.25 20.0
0.75 23.5
Я бы ожидал, что из 9 значений ниже медианы 1-й квартиль должен быть 19, но, как вы можете видеть выше, Python говорит, что это 20.
Аналогично, для 3-го квартиля пятое число справа налево равно 24, но python показывает 23,5.
Как панды вычисляют квартиль?
Оригинальный вопрос по следующей ссылке:
https://www.khanacademy.org/math/statistics-probability/summarizing-quantitative-data/box-whisker-plots/a/identifying-outliers-iqr-rule