pandas.CategoricalIndex.map #

分类索引。地图(映射器, na_action = None ) [来源] #

使用输入映射或函数来映射值。

将索引的值(其类别,而不是代码)映射到新类别。如果映射对应关系是一对一的,则结果是 CategoricalIndex与原始具有相同顺序属性的 a,否则Index返回 an。

如果使用dict或 ,Series任何未映射的类别都会映射到NaN。请注意,如果发生这种情况,Index 将被返回。

参数
映射器函数、字典或系列

映射对应关系。

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

如果使用字典,所有未映射的类别将映射为NaN,结果为Index

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