Spec-Zone.ru › pandas 1

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'

Атрибуты

categories

Категории этой категориальной переменной.

codes

Коды категорий этой категориальной переменной.

ordered

Указывается, имеют ли категории упорядоченную взаимосвязь.

dtype

Тип 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API