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