Reputation: 845
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
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
Reputation: 294258
df = pd.DataFrame({'A':[1, 2, 3],'B':[4, 5, 6]})
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"]
df.apply(lambda x: tuple(x.values), axis=1)
0 (1, 4)
1 (2, 5)
2 (3, 6)
dtype: object
df.apply(lambda x: ' '.join(x.astype(str)), axis=1)
0 1 4
1 2 5
2 3 6
dtype: object
Upvotes: 2