w3resource

Pandas: Series - map() function

Map values of Pandas Series

The map() function is used to map values of Series according to input correspondence.

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

Syntax:

Series.map(self, arg, na_action=None)
Pandas Series map image

Parameters:

Name Description Type/Default Value Required / Optional
arg Mapping correspondence. function, dict, or Series Required
na_action If ‘ignore’, propagate NaN values, without passing them to the mapping correspondence. {None, ‘ignore’}
Default Value : None
Required

Returns: Series
Same index as caller.

Notes: 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.

Example:

Python-Pandas Code:

import numpy as np
import pandas as pd
s = pd.Series(['fox', 'cow', np.nan, 'dog'])
s

Output:

0    fox
1    cow
2    NaN
3    dog
dtype: object
Pandas Series map image

Example - 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):

Python-Pandas Code:

import numpy as np
import pandas as pd
s = pd.Series(['fox', 'cow', np.nan, 'dog'])
s.map({'fox': 'cub', 'cow': 'calf'})

Output:

0     cub
1    calf
2     NaN
3     NaN
dtype: object

Example - It also accepts a function:

Python-Pandas Code:

import numpy as np
import pandas as pd
s = pd.Series(['fox', 'cow', np.nan, 'dog'])
s.map('I am a {}'.format)

Output:

0    I am a fox
1    I am a cow
2    I am a nan
3    I am a dog
dtype: object

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

Python-Pandas Code:

import numpy as np
import pandas as pd
s = pd.Series(['fox', 'cow', np.nan, 'dog'])
s.map('I am a {}'.format)
s.map('I am a {}'.format, na_action='ignore')

Output:

0    I am a fox
1    I am a cow
2           NaN
3    I am a dog
dtype: object

Previous: Call function on self producing a Series in Pandas
Next: Splitting the object in Pandas



Follow us on Facebook and Twitter for latest update.