简体   繁体   中英

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

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

If you don't mind zip object, then you can use df['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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM