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.25.0/reference/api/pandas.qcut.html