pandas.Categorical
- classpandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=_NoDefault.no_default, copy=True)[source]
-
Представляет категориальную переменную в стиле классического R/S-plus.
Категориальные переменные могут принимать только ограниченное, и обычно фиксированное, количество возможных значений (categories). В отличие от статистических категориальных переменных, Categorical может иметь порядок, но числовые операции (сложение, деление и т.д.) невозможны.
Все значения Categorical находятся либо в categories, либо равны np.nan. Присвоение значений, не входящих в categories, вызовет ошибку ValueError. Порядок определяется порядком в categories, а не лексикографическим порядком значений.
- Параметры:
-
- values:подобный списку
-
Значения категориальной переменной. Если указаны категории, значения, не входящие в категории, будут заменены на NaN.
- categories:Индекс (уникальный), необязательно
-
Уникальные категории для этой категориальной переменной. Если не указано, категории предполагаются уникальными значениями values (отсортированными, если возможно, в противном случае в порядке их появления).
- ordered:bool, по умолчанию False
-
Указывает, рассматривается ли эта категориальная переменная как упорядоченная. Если True, результирующая категориальная переменная будет упорядоченной. Упорядоченная категориальная переменная при сортировке учитывает порядок атрибута categories (который, в свою очередь, является аргументом categories, если он указан).
-
dtype:
CategoricalDtype -
Экземпляр
CategoricalDtypeдля использования с этой категориальной переменной.
- Исключения:
-
- ValueError
-
Если категории не проходят проверку.
- TypeError
-
Если указан явный
ordered=Trueбез categories, и values не сортируемы.
См. также
CategoricalDtype-
Тип для категориальных данных.
CategoricalIndex-
Индекс с базовым
Categorical.
Примечания
Дополнительную информацию см. в руководстве пользователя.
Примеры
>>> pd.Categorical([1, 2, 3, 1, 2, 3]) [1, 2, 3, 1, 2, 3] Categories (3, int64): [1, 2, 3]
>>> pd.Categorical(['a', 'b', 'c', 'a', 'b', 'c']) ['a', 'b', 'c', 'a', 'b', 'c'] Categories (3, object): ['a', 'b', 'c']
Пропущенные значения не включаются в качестве категории.
>>> c = pd.Categorical([1, 2, 3, 1, 2, 3, np.nan]) >>> c [1, 2, 3, 1, 2, 3, NaN] Categories (3, int64): [1, 2, 3]
Однако их наличие отмечается в атрибуте codes кодом -1.
>>> c.codes array([ 0, 1, 2, 0, 1, 2, -1], dtype=int8)
Упорядоченные Categoricals можно сортировать в соответствии с пользовательским порядком категорий и у них есть минимальное и максимальное значение.
>>> c = pd.Categorical(['a', 'b', 'c', 'a', 'b', 'c'], ordered=True, ... categories=['c', 'b', 'a']) >>> c ['a', 'b', 'c', 'a', 'b', 'c'] Categories (3, object): ['c' < 'b' < 'a'] >>> c.min() 'c'
Атрибуты
Категории этой категориальной переменной.
Коды категорий этого индекса категориальной переменной.
Указывает, существуют ли упорядоченные отношения между категориями.
Тип
CategoricalDtypeдля этого экземпляра.Методы
from_codes(codes[, categories, ordered, ...])Создание типа Categorical из кодов и категорий или типа данных.
__array__([dtype, copy])Интерфейс массива NumPy.
© 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/2.2.2/reference/api/pandas.Categorical.html