pandas.Categorical
- classpandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=False, 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)
Упорядоченные Categorical могут быть отсортированы в соответствии с пользовательским порядком категорий и могут иметь минимальное и максимальное значение.
>>> 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, dtype])Создание типа Categorical из кодов и категорий или типа.
__array__([dtype])Интерфейс массива 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/1.5.0/reference/api/pandas.Categorical.html