# How to map a function using multiple columns in pandas?

Hello Guys, How are you all? Hope You all Are Fine. Today We Are Going To learn about How to map a function using multiple columns in pandas in Python. So Here I am Explain to you all the possible Methods here.

Without wasting your time, Let’s start This Article.

Table of Contents

## How to map a function using multiple columns in pandas?

1. How to map a function using multiple columns in pandas?

For what it's worth on such an old question; I find that zipping function arguments into tuples and then applying the function as a list comprehension is much faster than using `df.apply`.

2. map a function using multiple columns in pandas

For what it's worth on such an old question; I find that zipping function arguments into tuples and then applying the function as a list comprehension is much faster than using `df.apply`.

## Method 1

For what it’s worth on such an old question; I find that zipping function arguments into tuples and then applying the function as a list comprehension is much faster than using `df.apply`. For example:

```import pandas as pd

# Setup:
df = pd.DataFrame(np.random.rand(10000, 3), columns=list("abc"))
def some_func(a, b, c):
return a*b*c

# Using apply:
%timeit df['d'] = df.apply(lambda x: some_func(a = x['a'], b = x['b'], c = x['c']), axis=1)
```

222 ms ± 63.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

```# Using tuples + list comprehension:
%timeit df["d"] = [some_func(*a) for a in tuple(zip(df["a"], df["b"], df["c"]))]
```

8.07 ms ± 640 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

## Method 2

I’m using the following:

```df['d'] = df.apply(lambda x: some_func(a = x['a'], b = x['b'], c = x['c']))
```

Seems to be working well, but if anyone else has a better solution, please let me know.

## Conclusion

It’s all About this issue. Hope all Methods helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which Method worked for you? Thank You.

Also, Read