Categories
Python Answers

How to apply a function to two columns of Pandas DataFrame in Python?

Spread the love

Sometimes, we want to apply a function to two columns of Pandas DataFrame in Python.

In this article, we’ll look at how to apply a function to two columns of Pandas DataFrame in Python.

How to apply a function to two columns of Pandas DataFrame in Python?

To apply a function to two columns of Pandas DataFrame in Python, we can use the DataFrame’s apply method.

For instance, we write:

import pandas as pd

df = pd.DataFrame({
    'ID': ['1', '2', '3'],
    'col_1': [0, 2, 3],
    'col_2': [1, 4, 5]
})
mylist = ['a', 'b', 'c', 'd', 'e', 'f']


def get_sublist(sta, end):
    return mylist[sta:end + 1]


df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
print(df)

We frame the df DataFrame with some data in it.

And we have the mylist list that we want to add to DataFrame as another column.

Next, we create the get_sublist function that returns a slice of mylist.

Then we call df.apply with a function that calls get_sublist with the start and end indexes and set that as the value of the col_3 column of the DataFrame.

Therefore, df is:

  ID  col_1  col_2      col_3
0  1      0      1     [a, b]
1  2      2      4  [c, d, e]
2  3      3      5  [d, e, f]

Conclusion

To apply a function to two columns of Pandas DataFrame in Python, we can use the DataFrame’s apply method.

Leave a Reply

Your email address will not be published. Required fields are marked *