4

I have a pandas data frame with 2 columns: {'A':[1, 2, 3],'B':[4, 5, 6]}

I want to create a new column where: {'C':[1 4,2 5,3 6]}

2 Answers 2

2

Setup

df = pd.DataFrame({'A':[1, 2, 3],'B':[4, 5, 6]})

Solution

Keep in mind, per your expected output, [1 4,2 5,3 6] isn't a thing. I'm interpreting you to mean either [(1, 4), (2, 5), (3, 6)] or ["1 4", "2 5", "3 6"]

First assumption

df.apply(lambda x: tuple(x.values), axis=1)

0    (1, 4)
1    (2, 5)
2    (3, 6)
dtype: object

Second assumption

df.apply(lambda x: ' '.join(x.astype(str)), axis=1)

0    1 4
1    2 5
2    3 6
dtype: object
Sign up to request clarification or add additional context in comments.

1 Comment

Great answer! However using apply would take a long time for large files. But it leads to desired results.
1

If you don't mind zip object, then you can usedf['C'] = zip(df.A,df.B). If you like tuple then you can cast zip object with list(). Please refer to this post. It's pretty handy to use zip in this kind of scenarios.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.