Spec-Zone.ru › pandas 1

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, 0.25, 0.5, 0.75, 1.] для квартилей.

labels: массив или False, по умолчанию None

Используется в качестве меток для полученных интервалов. Должен иметь такую же длину, как полученные интервалы. Если False, возвращает только целочисленные индексы интервалов. Если True, генерирует ошибку.

retbins:bool, необязательно

Возвращать ли (интервалы, метки) или нет. Может быть полезно, если интервалы заданы как скаляр.

precision:int, необязательно

Точность хранения и отображения меток интервалов.

duplicates:{по умолчанию ‘raise’, ‘drop’}, необязательно

Если грани интервалов не уникальны, генерировать ValueError или удалять не уникальные значения.

Возвращает
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, right]): [(-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–2022, 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/1.5.0/reference/api/pandas.qcut.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API