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])