pandas.Series.map#
- Series.map(arg, na_action=None)[源代码]#
根据输入映射或函数映射系列的值。
用于将级数中的每个值替换为另一个值,该值可以从一个函数派生,
dict
或者是Series
。- 参数
- arg函数,集合。abc.映射子类或系列
映射通信。
- na_action{无,‘忽略’},默认为无
如果为‘Ignore’,则传播NAN值,而不将它们传递给映射通信。
- 退货
- 系列
与调用方相同的索引。
参见
Series.apply
用于在级数上应用更复杂的函数。
DataFrame.apply
按行/列应用函数。
DataFrame.applymap
在整个DataFrame上逐个元素地应用函数。
注意事项
什么时候
arg
是字典,则不在字典中的系列中的值(作为键)将转换为NaN
。但是,如果词典是dict
子类,用于定义__missing__
(即提供缺省值的方法),则使用该缺省值,而不是NaN
。示例
>>> s = pd.Series(['cat', 'dog', np.nan, 'rabbit']) >>> s 0 cat 1 dog 2 NaN 3 rabbit dtype: object
map
接受一个dict
或者是Series
。中找不到的值dict
被转换为NaN
,除非DICT具有缺省值(例如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