pandas.qcut
-
pandas.qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')[source] -
Функция дискретизации на основе квантилей. Разбивает переменную на равные по размеру интервалы на основе ранга или выборочных квантилей. Например, 1000 значений для 10 квантилей создадут объект Categorical, указывающий квантильную принадлежность каждого значения.
Параметры: x : одномерный массив ndarray или Series
q : целое число или массив квантилей
Количество квантилей. 10 для десятилевых, 4 для квартилей и т.д. В качестве альтернативы массив квантилей, например [0, .25, .5, .75, 1.] для квартилей
labels : массив или булево значение, по умолчанию None
Используется в качестве меток для получившихся интервалов. Должен иметь такую же длину, как и получившиеся интервалы. Если False, возвращаются только целочисленные индикаторы интервалов.
retbins : bool, необязательно
Возвращать ли (интервалы, метки) или нет. Может быть полезно, если bins задано как скалярное значение.
precision : int, необязательно
Точность хранения и отображения меток интервалов
duplicates : {по умолчанию ‘raise’, ‘drop’}, необязательно
Если границы интервалов не уникальны, возникает ValueError или не уникальные значения отбрасываются.
Добавлена в версии 0.20.0.
Возвращаемое значение: out : Categorical или Series или массив целых чисел, если labels равно False
Тип возвращаемого значения (Categorical или Series) зависит от входных данных: Series типа category, если вход - Series, иначе Categorical. Интервалы представлены как категории, когда возвращаются категориальные данные.
bins : массив ndarray с плавающей точкой
Возвращается только если
retbinsравно True.Примечания
Значения вне границ будут NA в получившемся объекте Categorical
Примеры
>>> pd.qcut(range(5), 4) ... [(-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"]) ... [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.21.1/generated/pandas.qcut.html