Pandas DataFrame | applymap method
Start your free 7-days trial now!
Pandas DataFrame.applymap(~)
method applies a function on each entry of the source DataFrame. Note that a new copy of the DataFrame will be returned, and so the source DataFrame will be kept intact.
Parameters
1. func
| function
A function that takes as argument an entry of the DataFrame and returns a new value.
Return Value
A new DataFrame with the transformed values.
In order to check whether any optimisation is possible, applymap(~)
calls the func
twice on the first row/column. As you would expect, only one of these functions will actually apply the mapping and return a new value.
The trap though is that if the specified func
modifies some other thing, then that modification will end up occurring twice for the first row/column.
Examples
Basic usage
Consider the following DataFrame:
df = pd.DataFrame({"A":[3,4], "B":[5,6]})df
A B0 3 51 4 6
Suppose we wanted to increment every value in the DataFrame by 5
:
df.applymap(lambda x : x + 5)
A B0 8 101 9 11
Note the following:
x
represents an entry ofdf
(e.g.3
,4
and so on).our original
df
is kept intact since a new DataFrame is returned.
Prefer vectorised operations over applymap
Most of the time, we do not need to use applymap(~)
since we can operate on elements directly, like so:
df + 5
A B0 8 101 9 11
These vectorised operations are considerably more performant than transformations like apply(~)
and applymap(~)
.