pandas.qcut#

pandas.qcut(x, q, метки=None, retbins=False, точность=3, дубликаты='raise')[источник]#

Функция дискретизации на основе квантилей.

Дискретизация переменной в равные сегменты на основе ранга или выборочных квантилей. Например, 1000 значений для 10 квантилей создадут объект Categorical, указывающий принадлежность к квантилю для каждой точки данных.

Параметры:
x1d ndarray или Series
qint или list-like из float

Количество квантилей. 10 для децилей, 4 для квартилей и т.д. Или массив квантилей, например [0, .25, .5, .75, 1.] для квартилей.

меткимассив или False, по умолчанию None

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

retbinsbool, необязательно

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

точностьint, необязательный

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

дубликаты{по умолчанию 'raise', 'drop'}, опционально

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

Возвращает:
выходCategorical или Series или массив целых чисел, если labels=False

Тип возвращаемого значения (Categorical или Series) зависит от входных данных: Series типа category, если входные данные - Series, иначе Categorical. Интервалы представлены как категории, когда возвращаются категориальные данные.

binsndarray из чисел с плавающей точкой

Возвращается только если 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])