mars.dataframe.qcut#
- mars.dataframe.qcut(x, q, labels=None, retbins=False, precision=3, duplicate='raise')[来源]#
 基于分位数的离散化函数。
根据排名或样本分位数将变量离散化为相等大小的桶。例如,1000个值对于10个分位数将生成一个分类对象,指示每个数据点的分位数所属。
- Parameters
 x (1d 张量 或 系列) –
q (int 或 类列表 的 float) – 分位数的数量。10表示十分位数,4表示四分位数,等等。或者提供分位数的数组,例如 [0, .25, .5, .75, 1.] 用于四分位数。
labels (数组 或 False, 默认为 None) – 用作结果箱的标签。必须与结果箱的长度相同。如果为 False,仅返回箱的整数指示。如果为 True,将引发错误。
retbins (bool, 可选) – 是否返回 (bins, labels)。如果 bins 是一个标量,这个参数可能会很有用。
precision (int, 可选) – 存储和显示箱标签的精度。
duplicates ({默认 'raise', 'drop'}, 可选) – 如果区间边界不是唯一的,抛出 ValueError 或丢弃非唯一值。
- Returns
 out (如果标签为假,则为分类或系列或整数的张量) – 返回类型(分类或系列)取决于输入:如果输入是系列,则为类别类型的系列,否则为分类。当返回分类数据时,区间被表示为类别。
bins (浮点数的张量) – 仅在retbins为真时返回。
备注
超出范围的值将在生成的分类对象中为NA
示例
>>> import mars.dataframe as md >>> md.qcut(range(5), 4).execute() ... [(-0.001, 1.0], (-0.001, 1.0], (1.0, 2.0], (2.0, 3.0], (3.0, 4.0]] Categories (4, interval[float64]): [(-0.001, 1.0] < (1.0, 2.0] ...
>>> md.qcut(range(5), 3, labels=["good", "medium", "bad"]).execute() ... [good, good, medium, bad, bad] Categories (3, object): [good < medium < bad]
>>> md.qcut(range(5), 4, labels=False).execute() array([0, 0, 1, 2, 3])