熊猫如何计算四分位数



我有一个非常简单的数据框:

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个值(23之前的9个值,在23个值之前,9个值)

我试图计算第1和3RT四分位数为:

df.quantile([.25, .75])
         val
0.25    20.0
0.75    23.5

我本来可以预期,从9个值的中位数中位数为第一个四分位数应该是19个,但是如上所述,Python说是20。同样,对于第三四分之一,从右到左的第五个数字为24,但python显示23.5。

大熊猫如何计算四分之一?

原始问题来自以下链接:https://www.khanacademy.org/math/statistics-probiability/summarizing-quantitative-data/box-whisker-plots/a/indistifying-ofdifying-offliers-iqr-rule

它默认使用线性插值。这是最近使用的方法:

df['val'].quantile([0.25, 0.75], interpolation='nearest')
Out:
0.25    19
0.75    24

官方文档中有关interpolation参数的工作方式的更多信息:

    This optional parameter specifies the interpolation method to use,
    when the desired quantile lies between two data points `i` and `j`:
    * linear: `i + (j - i) * fraction`, where `fraction` is the
      fractional part of the index surrounded by `i` and `j`.
    * lower: `i`.
    * higher: `j`.
    * nearest: `i` or `j` whichever is nearest.
    * midpoint: (`i` + `j`) / 2.

https://pandas.pydata.org/pandas-docs/stable/reference/PANDAS.DATAFRAME.QUANTILE.HTML

python不会创建分位数。在这里看文档https://pandas.pydata.org/pandas-docs/stable/reference/pandas.dataframe.quantile.html它实际上使用了numpy的百分位功能https://docs.scipy.org/doc/numpy/reference/generated/numpy.percentile.html#numpy.percentile.percentile

相关内容

  • 没有找到相关文章

最新更新