pandas.DataFrame.quantile # 数据框。分位数( q = 0.5 , axis = 0 , numeric_only = False ,插值= '线性' , method = 'single' ) [来源] # 返回请求轴上给定分位数的值。 参数: q浮点数或类数组,默认 0.5(50% 分位数)0 <= q <= 1 之间的值,即要计算的分位数。 轴{0 或 'index', 1 或 'columns'}, 默认 0等于 0 或“索引”(按行),1 或“列”(按列)。 numeric_only布尔值,默认 False仅包含float、int或boolean数据。 版本 2.0.0 中更改:默认值为numeric_onlynow False。 插值{'线性', '较低', '较高', '中点', '最近'}此可选参数指定当所需分位数位于两个数据点i和j之间时要使用的插值方法: 线性:i + (j - i) *fraction,其中fraction是由i和j包围的索引的小数部分。 下:我。 较高:j . 最近的:i或j,以最接近的为准。 中点:( i + j ) / 2。 方法{'single', 'table'}, 默认 'single'是否计算每列(“单”)或所有列(“表”)的分位数。当“table”时,唯一允许的插值方法是“nearest”、“lower”和“higher”。 返回: 系列或数据框 如果q是一个数组,将返回一个 DataFrame,其中索引是q,列是 self 的列,值是分位数。 如果q是浮点数,则将返回一个系列,其中索引是 self 的列,值是分位数。 也可以看看 core.window.rolling.Rolling.quantile滚动分位数。 numpy.percentile用于计算百分位数的 Numpy 函数。 例子 >>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]), ... columns=['a', 'b']) >>> df.quantile(.1) a 1.3 b 3.7 Name: 0.1, dtype: float64 >>> df.quantile([.1, .5]) a b 0.1 1.3 3.7 0.5 2.5 55.0 指定method='table'将计算所有列的分位数。 >>> df.quantile(.1, method="table", interpolation="nearest") a 1 b 1 Name: 0.1, dtype: int64 >>> df.quantile([.1, .5], method="table", interpolation="nearest") a b 0.1 1 1 0.5 3 100 指定numeric_only=False还将计算 datetime 和 timedelta 数据的分位数。 >>> df = pd.DataFrame({'A': [1, 2], ... 'B': [pd.Timestamp('2010'), ... pd.Timestamp('2011')], ... 'C': [pd.Timedelta('1 days'), ... pd.Timedelta('2 days')]}) >>> df.quantile(0.5, numeric_only=False) A 1.5 B 2010-07-02 12:00:00 C 1 days 12:00:00 Name: 0.5, dtype: object