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