pandas.cut
-
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False) -
Возвращает индексы полуоткрытых интервалов, к которым относится каждое значение
x.Параметры: x : массив-подобный объект
Вводимый массив для разбиения. Он должен быть одномерным.
bins : целое число или последовательность скаляров
Если
binsявляется целым числом, оно определяет количество равномерных интервалов в диапазонеx. Однако в этом случае диапазонxрасширяется на 0,1% с каждой стороны, чтобы включить минимальное и максимальное значенияx. Еслиbinsявляется последовательностью, она определяет границы интервалов, что позволяет использовать неравномерную ширину интервалов. В этом случае диапазонxне расширяется.right : bool, необязательно
Указывает, включает ли интервал правую границу или нет. Если right == True (по умолчанию), то интервалы [1,2,3,4] обозначают (1,2], (2,3], (3,4].
labels : массив или булево значение, по умолчанию None
Используется в качестве меток для полученных интервалов. Должен иметь ту же длину, что и полученные интервалы. Если False, возвращает только целые индексы интервалов.
retbins : bool, необязательно
Возвращать ли интервалы. Может быть полезно, если bins задано как скаляр.
precision : int
Точность хранения и отображения меток интервалов
include_lowest : bool
Должен ли первый интервал быть лево-включительно?
Возвращаемое значение: out : Categorical или Series или массив целых чисел, если labels равно False
Тип возвращаемого значения (Categorical или Series) зависит от входных данных: Series типа category, если вход – Series, в противном случае – Categorical. Интервалы представлены категориями, когда возвращаются категориальные данные.
bins : ndarray с плавающей точкой
Возвращается только если
retbinsравно True.Примечания
Функция
cutможет быть полезна для перехода от непрерывной переменной к категориальной переменной. Например,cutможет преобразовать возраст в группы возрастных диапазонов.Любые значения NA будут NA в результате. Значения вне границ будут NA в результирующем объекте Categorical
Примеры
>>> pd.cut(np.array([.2, 1.4, 2.5, 6.2, 9.7, 2.1]), 3, retbins=True) ([(0.191, 3.367], (0.191, 3.367], (0.191, 3.367], (3.367, 6.533], (6.533, 9.7], (0.191, 3.367]] Categories (3, object): [(0.191, 3.367] < (3.367, 6.533] < (6.533, 9.7]], array([ 0.1905 , 3.36666667, 6.53333333, 9.7 ])) >>> pd.cut(np.array([.2, 1.4, 2.5, 6.2, 9.7, 2.1]), 3, labels=["good","medium","bad"]) [good, good, good, medium, bad, good] Categories (3, object): [good < medium < bad] >>> pd.cut(np.ones(5), 4, labels=False) array([1, 1, 1, 1, 1], dtype=int64)
© 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.18.1/generated/pandas.cut.html