Series.
map
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.
dict
Note
make sure the size of the dictionary is not huge because it could downgrade the performance or throw OutOfMemoryError due to a huge expression within Spark. Consider the input as a functions as an alternative instead in this case.
Mapping correspondence.
If ignore, propagate NA values, without passing them to the mapping correspondence.
Same index as caller.
See also
Series.apply
For applying more complex functions on a Series.
DataFrame.applymap
Apply a function elementwise on a whole DataFrame.
Notes
When arg is a dictionary, values in Series that are not in the dictionary (as keys) are converted to None. 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 None.
arg
None
__missing__
Examples
>>> s = ps.Series(['cat', 'dog', None, 'rabbit']) >>> s 0 cat 1 dog 2 None 3 rabbit dtype: object
map accepts a dict. Values that are not found in the dict are converted to None, unless the dict has a default value (e.g. defaultdict):
defaultdict
>>> s.map({'cat': 'kitten', 'dog': 'puppy'}) 0 kitten 1 puppy 2 None 3 None dtype: object
It also accepts a pandas Series:
>>> pser = pd.Series(['kitten', 'puppy'], index=['cat', 'dog']) >>> s.map(pser) 0 kitten 1 puppy 2 None 3 None dtype: object
It also accepts a function:
>>> def format(x) -> str: ... return 'I am a {}'.format(x)
>>> s.map(format) 0 I am a cat 1 I am a dog 2 I am a None 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 None 3 I am a rabbit dtype: object