Spec-Zone.ru › pandas 2

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'

Атрибуты

categories

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

codes

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

ordered

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

dtype

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

Spec-Zone.ru

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