# How to Use Pandas DataFrame apply() in Python

Contents

In this article, you will learn how to use Pandas DataFrame apply() in Python.

## Pandas DataFrame apply()

The apply() function in Pandas DataFrame allows you to apply a function to each row or column of the DataFrame. The apply() function is used to apply a function along an axis of the DataFrame.

##### Syntax

Here is the syntax of apply() function in Pandas DataFrame:

`DataFrame.apply(func, axis=0, raw=False, result_type=None, args=(), **kwds)`

##### Parameters

`func`

: The function to be applied to each row or column of the DataFrame.`axis`

: The axis along which the function is applied. 0 means apply the function to each column, 1 means apply the function to each row.`raw`

: If True, apply the function to a Series of values. If False (default), apply the function to each column or row.`result_type`

: The type of the result. If None (default), the return type is inferred from the result of the function.`args`

: Additional arguments to pass to the function.

##### Example

###### Applying a function to each row of a DataFrame

Suppose we have a DataFrame with the following data:

```
import pandas as pd
data = {'Name': ['John', 'Paul', 'George', 'Ringo'],
'Age': [32, 21, 44, 55],
'Country': ['USA', 'UK', 'UK', 'USA']}
df = pd.DataFrame(data)
```

```
Name Age Country
0 John 32 USA
1 Paul 21 UK
2 George 44 UK
3 Ringo 55 USA
```

We can create a function that calculates the length of the name of each person in the DataFrame and apply it to each row of the DataFrame using the apply() function:

```
def name_length(row):
return len(row['Name'])
df['Name Length'] = df.apply(name_length, axis=1)
```

```
Name Age Country Name Length
0 John 32 USA 4
1 Paul 21 UK 4
2 George 44 UK 6
3 Ringo 55 USA 5
```

Here, we defined the function name_length that takes a row of the DataFrame as an argument and returns the length of the Name column for that row. Then we used the apply() function with axis=1 to apply this function to each row of the DataFrame, and we assigned the resulting series to a new column called Name Length.

###### Applying a function to each column of a DataFrame

Suppose we have a DataFrame with the following data:

```
import pandas as pd
data = {'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]}
df = pd.DataFrame(data)
```

```
A B C
0 1 4 7
1 2 5 8
2 3 6 9
```

We can create a function that adds a constant value to each column of the DataFrame and apply it to each column of the DataFrame using the apply() function:

```
def add_constant(col, constant):
return col + constant
df.apply(add_constant, axis=0, args=(10,))
```

```
A
```