Pandas Series - map() function
The Pandas Series map() function is used for substituting each value in a Series with another value, that may be derived from a function, a dictionary or a Series.
Syntax
Series.map(arg, na_action=None)
Parameters
arg |
Optional. Specify mapping correspondence. It can be a function, a dictionary or a Series. |
na_action |
Optional. If set to 'ignore', propagate NaN values, without passing them to the mapping correspondence. It can take value from {None, 'ignore'}. Default is None. |
Return Value
Returns Series with the same index as a caller.
Example: map() example
In the example below, the map() function is used to substitute each value in the given Series with value specified in the given dictionary argument.
import pandas as pd import numpy as np x = pd.Series(['UK', 'India', 'USA', 'Germany', np.NaN]) print("The Series contains:") print(x, "\n") #using dict to substitute each #value in the given Series print("x.map({'UK': 'England', 'USA': 'America'}) returns:") print(x.map({'UK': 'England', 'USA': 'America'}),"\n")
The output of the above code will be:
The Series contains: 0 UK 1 India 2 USA 3 Germany 4 NaN dtype: object x.map({'UK': 'England', 'USA': 'America'}) returns: 0 England 1 NaN 2 America 3 NaN 4 NaN dtype: object
Example: using function argument
It also accepts a function as argument. Consider the example below:
import pandas as pd import numpy as np x = pd.Series(['UK', 'India', 'USA', 'Germany', np.NaN]) print("The Series contains:") print(x, "\n") #using function as argument print("x.map('I love {}'.format) returns:") print(x.map('I love {}'.format),"\n")
The output of the above code will be:
The Series contains: 0 UK 1 India 2 USA 3 Germany 4 NaN dtype: object x.map('I love {}'.format) returns: 0 I love UK 1 I love India 2 I love USA 3 I love Germany 4 I love nan dtype: object
Example: using na_action parameter
By setting na_action parameter to 'ignore', this function propagate NaN values, without passing them to the mapping correspondence. Consider the example below:
import pandas as pd import numpy as np x = pd.Series(['UK', 'India', 'USA', 'Germany', np.NaN]) print("The Series contains:") print(x, "\n") #using function as argument print("x.map('I love {}'.format) returns:") print(x.map('I love {}'.format),"\n") #using function as argument with na_action print("x.map('I love {}'.format, 'ignore') returns:") print(x.map('I love {}'.format, 'ignore'),"\n")
The output of the above code will be:
The Series contains: 0 UK 1 India 2 USA 3 Germany 4 NaN dtype: object x.map('I love {}'.format) returns: 0 I love UK 1 I love India 2 I love USA 3 I love Germany 4 I love nan dtype: object x.map('I love {}'.format, 'ignore') returns: 0 I love UK 1 I love India 2 I love USA 3 I love Germany 4 NaN dtype: object
❮ Pandas Series - Functions