pandas.qcut
-
pandas.qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')[source] -
Функция дискретизации на основе квантилей. Дискретизирует переменную на равные по размеру интервалы, основанные на ранге или выборочных квантилях. Например, 1000 значений для 10 квантилей приведет к объекту Categorical, указывающему принадлежность квантилю для каждой точки данных.
Параметры: -
x : 1d ndarray or Series -
q : integer or array of quantiles -
Количество квантилей. 10 для децилей, 4 для квартилей и т.д. В качестве альтернативы массив квантилей, например [0, 0.25, 0.5, 0.75, 1.] для квартилей
-
labels : array or boolean, default None -
Используется в качестве меток для полученных интервалов. Должен иметь такую же длину, как и полученные интервалы. Если False, возвращаются только целые показатели интервалов.
-
retbins : bool, optional -
Возвращать (интервалы, метки) или нет. Может быть полезно, если интервалы заданы как скаляр.
-
precision : int, optional -
Точность хранения и отображения меток интервалов
-
duplicates : {default ‘raise’, ‘drop’}, optional -
Если границы интервалов не уникальны, вызывается исключение ValueError или пропускаются не уникальные значения.
Добавлена в версии 0.20.0.
Возвращает: -
out : Categorical or Series or array of integers if labels is False -
Тип возвращаемого значения (Categorical или Series) зависит от входных данных: Series типа category, если входной параметр — Series, иначе — Categorical. Интервалы представлены как категории, когда возвращаются категориальные данные.
-
bins : ndarray of floats -
Возвращается только если
retbinsравно True.
Примечания
Значения за пределами границ будут NA в результирующем объекте Categorical
Примеры
>>> pd.qcut(range(5), 4) ... # doctest: +ELLIPSIS [(-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] ...
>>> pd.qcut(range(5), 3, labels=["good", "medium", "bad"]) ... # doctest: +SKIP [good, good, medium, bad, bad] Categories (3, object): [good < medium < bad]
>>> pd.qcut(range(5), 4, labels=False) array([0, 0, 1, 2, 3])
-
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.24.2/reference/api/pandas.qcut.html