mars.dataframe.DataFrame.quantile#
- DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear')#
 在请求的轴上返回给定分位数的值。
- Parameters
 q (浮点数 或 类数组, 默认值 0.5 (50% 分位数)) – 值在 0 <= q <= 1 之间,要计算的分位数。
axis ({0, 1, 'index', 'columns'} (默认值 0)) – 等于 0 或 'index' 用于按行,1 或 'columns' 用于按列。
numeric_only (bool, default True) – 如果为 False,将计算 datetime 和 timedelta 数据的分位数。
内插 ({'线性', '下限', '上限', '中点', '最邻近'}) –
这个可选参数指定了在所需分位数位于两个数据点 i 和 j 之间时要使用的内插方法: * 线性: i + (j - i) * fraction,其中 fraction 是
被 i 和 j 包围的索引的小数部分。
下限: i。
上限: j。
最邻近: i 或 j,看哪个更近。
中点: (i + j) / 2。
- Returns
 - 如果 
q是一个数组或张量,将返回一个数据框,其中 索引为
q,列为自身的列,值为分位数。- 如果 
q是一个浮点数,将返回一个序列,其中 索引为自身的列,值为分位数。
- 如果 
 - Return type
 
另请参阅
core.window.Rolling.quantile滚动分位数。
numpy.percentile用于计算百分位数的Numpy函数。
示例
>>> import mars.dataframe as md >>> df = md.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]), ... columns=['a', 'b']) >>> df.quantile(.1).execute() a 1.3 b 3.7 Name: 0.1, dtype: float64
>>> df.quantile([.1, .5]).execute() a b 0.1 1.3 3.7 0.5 2.5 55.0
指定 numeric_only=False 也会计算 datetime 和 timedelta 数据的分位数。
>>> df = md.DataFrame({'A': [1, 2], ... 'B': [md.Timestamp('2010'), ... md.Timestamp('2011')], ... 'C': [md.Timedelta('1 days'), ... md.Timedelta('2 days')]}) >>> df.quantile(0.5, numeric_only=False).execute() A 1.5 B 2010-07-02 12:00:00 C 1 days 12:00:00 Name: 0.5, dtype: object