**Pandas**

*chevron_left*

**Functions and Aggregations**

# Pandas DataFrame | applymap method

*schedule*Mar 5, 2023

*toc*Table of Contents

*expand_more*

**interactive map of data science**

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 of`df`

(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(~)`

.