Apply function takes a function as an argument and execute the function in all the elements of the dataframe.

For example, if we want to create a new column which is the square root of another column’s values or apply a complex function and combine one or more columns or when creating new features using the existing features for feature engineering.

Syntax: df.apply(func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **kwds)

df – a pandas series.

func – A lambda function or a normal function

axis – 0 – rows which is default, 1 – columns

```
import pandas as pd
import numpy as np
```

Lets try this using an example.

```
fruit = {
'orange' : [3,2,0,1],
'apples' : [0,3,7,2]
}
df = pd.DataFrame(fruit)
df
```

Output:

orange | apples | |
---|---|---|

0 | 3 | 0 |

1 | 2 | 3 |

2 | 0 | 7 |

3 | 1 | 2 |

For example, we need to create a new series by taking square root of another column. The below code does this.

```
lst= []
print("Original values in Orange column:")
print(df['orange'])
for i in df['orange']:
lst.append(np.sqrt(i))
print("Square root value if Orange column:")
print(lst)
```

Output:

Original values in Orange column: 0 3 1 2 2 0 3 1 Name: orange, dtype: int64 Square root value if Orange column: [1.7320508075688772, 1.4142135623730951, 0.0, 1.0]

### Apply function simplifies this.

```
df['orange_sqrt'] = df['orange'].apply(np.sqrt)
df
```

Output:

orange | apples | orange_sqrt | |
---|---|---|---|

0 | 3 | 0 | 1.732051 |

1 | 2 | 3 | 1.414214 |

2 | 0 | 7 | 0.000000 |

3 | 1 | 2 | 1.000000 |

We have done the same functionality with less code.

### Using Lambda function:

```
df['orange_sq'] = df['orange'].apply(lambda x: x*x)
df
```

Out[25]:

orange | apples | orange_sqrt | orange_sq | |
---|---|---|---|---|

0 | 3 | 0 | 1.732051 | 9 |

1 | 2 | 3 | 1.414214 | 4 |

2 | 0 | 7 | 0.000000 | 0 |

3 | 1 | 2 | 1.000000 | 1 |

Today we learned about Apply function.

Hope you are excited to practice what we have learned now.

We will meet with a new tip in Python. Thank you! 👍

Like to support? Just click the heart icon ❤️.

Happy Programming!🎈