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

Javiar Sandra
  • 827
  • 1
  • 10
  • 25

2 Answers2

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
piRSquared
  • 285,575
  • 57
  • 475
  • 624
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.

Community
  • 1
  • 1
Andreas Hsieh
  • 2,080
  • 1
  • 10
  • 8