Spec-Zone.ru › pandas 2

pandas.Categorical

classpandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=<no_default>, copy=True)[source]

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

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

Все значения Categorical входят в categories или являются np.nan. Присваивание значений, не входящих в categories, вызовет ошибку ValueError. Порядок определяется порядком элементов в categories, а не лексикографическим порядком значений.

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

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

categories:объект, подобный Index (уникальный), необязательный

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

ordered:bool, по умолчанию False

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

dtype:CategoricalDtype

Экземпляр CategoricalDtype, используемый для этого категориального объекта.

Атрибуты

categories

Категории этого категориального объекта.

codes

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

ordered

Определяет, упорядочены ли категории.

dtype

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

Методы

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

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

__array__([dtype, copy])

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

Вызывает исключения:
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'

© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.Categorical.html

Spec-Zone.ru

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