pandas.Categorical#

класс pandas.Категориальный(values, categories=None, ordered=None, dtype=None, fastpath=, copy=True)[источник]#

Представляет категориальную переменную в классическом стиле R / S-plus.

Категориальные данные может принимать только ограниченное и обычно фиксированное количество возможных значений (категории). В отличие от статистических категориальных переменных, Категориальный может иметь порядок, но числовые операции (сложения, деления, …) невозможны.

Все значения Категориальный находятся либо в категории или np.nan. Присвоение значений вне категории вызовет ValueErrorПорядок определяется порядком категории, не лексический порядок значений.

Параметры:
valuesподобный списку

Значения категориальной переменной. Если заданы категории, значения не в категориях будут заменены на NaN.

категорииИндексоподобный (уникальный), опционально

Уникальные категории для этой категориальной переменной. Если не указаны, категории предполагаются уникальными значениями values (отсортировано, если возможно, в противном случае в порядке их появления).

orderedbool, по умолчанию False

Будет ли эта категориальная переменная рассматриваться как упорядоченная категориальная. Если True, результирующая категориальная переменная будет упорядоченной. Упорядоченная категориальная переменная при сортировке учитывает порядок своих категории атрибут (который, в свою очередь, является категории аргумент, если предоставлен).

dtypeCategoricalDtype

Экземпляр CategoricalDtype для использования с этой категорией.

Атрибуты

categories

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

codes

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

ordered

Имеют ли категории упорядоченное отношение.

dtype

The CategoricalDtype для этого экземпляра.

Методы

from_codes(codes[, categories, ordered, ...])

Создать категориальный тип из кодов и категорий или dtype.

__array__([dtype, copy])

Интерфейс массива numpy.

Вызывает:
ValueError

Если категории не проходят проверку.

TypeError

Если явный ordered=True задан, но нет категории и 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]

Однако их наличие указывается в коды атрибут по коду -1.

>>> c.codes
array([ 0,  1,  2,  0,  1,  2, -1], dtype=int8)

Упорядоченный Категориальные данные может быть отсортирован в соответствии с пользовательским порядком категорий и может иметь минимальное и максимальное значение.

>>> 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'