Series.map(arg, na_action=None, dtype=None, memory_scale=None, skip_infer=False)#

Map values of Series according to an input mapping or function.

Used for substituting each value in a Series with another value, that may be derived from a function, a dict or a Series.

  • arg (function, collections.abc.Mapping subclass or Series) – Mapping correspondence.

  • na_action ({None, 'ignore'}, default None) – If ‘ignore’, propagate NaN values, without passing them to the mapping correspondence.


Same index as caller.

Return type


See also


For applying more complex functions on a Series.


Replace values given in to_replace with value.


Apply a function row-/column-wise.


Apply a function elementwise on a whole DataFrame.


When arg is a dictionary, values in Series that are not in the dictionary (as keys) are converted to NaN. However, if the dictionary is a dict subclass that defines __missing__ (i.e. provides a method for default values), then this default is used rather than NaN.


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

map accepts a dict or a Series. Values that are not found in the dict are converted to NaN, unless the dict has a default value (e.g. defaultdict):

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

It also accepts a function:

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

To avoid applying the function to missing values (and keep them as NaN) na_action='ignore' can be used:

>>> 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
dtypenp.dtype, default None

Specify return type of the function. Must be specified when we cannot decide the return type of the function.


Specify the scale of memory uses in the function versus input size.

skip_infer: bool, default False

Whether infer dtypes when dtypes or output_type is not specified

This docstring was copied from pandas.core.series.Series.