Javiar Sandra
Javiar Sandra

Reputation: 845

Combine multiple columns into 1 column [python,pandas]

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]}

Upvotes: 4

Views: 4138

Answers (2)

Andreas Hsieh
Andreas Hsieh

Reputation: 2150

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.

Upvotes: 1

piRSquared
piRSquared

Reputation: 294258

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

Upvotes: 2

Related Questions