pandas.CategoricalIndex.map#

CategoricalIndex.map(mapper, na_action=None)[источник]#

Сопоставьте значения, используя входное отображение или функцию.

Сопоставляет значения (их категории, а не коды) индекса с новыми категориями. Если соответствие сопоставления взаимно однозначно, результат — CategoricalIndex который имеет то же свойство порядка, что и исходный, иначе Index возвращается.

Если dict или Series используется, любая несопоставленная категория сопоставляется с NaN. Обратите внимание, что если это произойдет, Index будет возвращен.

Параметры:
mapperфункция, словарь или Series

Соответствие отображения.

Возвращает:
pandas.CategoricalIndex или pandas.Index

Сопоставленный индекс.

Смотрите также

Index.map

Применить соответствие отображения на Index.

Series.map

Применить соответствие отображения на Series.

Series.apply

Применение более сложных функций на Series.

Примеры

>>> idx = pd.CategoricalIndex(['a', 'b', 'c'])
>>> idx
CategoricalIndex(['a', 'b', 'c'], categories=['a', 'b', 'c'],
                  ordered=False, dtype='category')
>>> idx.map(lambda x: x.upper())
CategoricalIndex(['A', 'B', 'C'], categories=['A', 'B', 'C'],
                 ordered=False, dtype='category')
>>> idx.map({'a': 'first', 'b': 'second', 'c': 'third'})
CategoricalIndex(['first', 'second', 'third'], categories=['first',
                 'second', 'third'], ordered=False, dtype='category')

Если отображение является взаимно однозначным, порядок категорий сохраняется:

>>> idx = pd.CategoricalIndex(['a', 'b', 'c'], ordered=True)
>>> idx
CategoricalIndex(['a', 'b', 'c'], categories=['a', 'b', 'c'],
                 ordered=True, dtype='category')
>>> idx.map({'a': 3, 'b': 2, 'c': 1})
CategoricalIndex([3, 2, 1], categories=[3, 2, 1], ordered=True,
                 dtype='category')

Если отображение не является взаимно однозначным, возникает Index возвращается:

>>> idx.map({'a': 'first', 'b': 'second', 'c': 'first'})
Index(['first', 'second', 'first'], dtype='object')

Если dict используется, все несопоставленные категории сопоставляются с NaN и результатом является Index:

>>> idx.map({'a': 'first', 'b': 'second'})
Index(['first', 'second', nan], dtype='object')