当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.CategoricalIndex.map用法及代码示例


用法:

CategoricalIndex.map(mapper)

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

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

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

参数

mapper函数、字典或系列

映射对应。

返回

pandas.CategoricalIndex 或 pandas.Index

映射索引。

例子

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

如果映射是one-to-one,则保留类别的顺序:

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

如果映射不是one-to-one,则返回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')

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.CategoricalIndex.map。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。