pandas.Series.map #

系列。地图( arg , na_action = None ) [来源] #

根据输入映射或函数映射 Series 的值。

用于将 Series 中的每个值替换为另一个值,该值可能源自函数 adict或 a Series

参数
arg函数、collections.abc.Mapping 子类或 Series

映射对应关系。

na_action {无,'忽略'},默认无

如果“忽略”,则传播 NaN 值,而不将它们传递给映射对应关系。

返回
系列

与调用者相同的索引。

也可以看看

Series.apply

用于在系列上应用更复杂的函数。

Series.replace

将to_replace中给出的值替换为value

DataFrame.apply

按行/列应用函数。

DataFrame.map

在整个 DataFrame 上按元素应用函数。

笔记

arg是字典时,Series 中不在字典中的值(作为键)将转换为NaN。但是,如果字典是dict定义的子类__missing__(即提供默认值的方法),则使用此默认值而不是NaN

例子

>>> s = pd.Series(['cat', 'dog', np.nan, 'rabbit'])
>>> s
0      cat
1      dog
2      NaN
3   rabbit
dtype: object

map接受 adict或 a Series。中找不到的值dict将转换为NaN,除非字典有默认值(例如defaultdict):

>>> s.map({'cat': 'kitten', 'dog': 'puppy'})
0   kitten
1    puppy
2      NaN
3      NaN
dtype: object

它还接受一个函数:

>>> s.map('I am a {}'.format)
0       I am a cat
1       I am a dog
2       I am a nan
3    I am a rabbit
dtype: object

为了避免将该函数应用于缺失值(并将它们保留为 NaN),na_action='ignore'可以使用:

>>> s.map('I am a {}'.format, na_action='ignore')
0     I am a cat
1     I am a dog
2            NaN
3  I am a rabbit
dtype: object