我有一个包含2列的pandas数据框:
{'A':[1, 2, 3],'B':[4, 5, 6]}
我想创建一个新列,其中:
{'C':[1 4,2 5,3 6]}
答案 0 :(得分:2)
df = pd.DataFrame({'A':[1, 2, 3],'B':[4, 5, 6]})
请注意,根据您的预期结果,[1 4,2 5,3 6]
并非如此。我将您解释为[(1, 4), (2, 5), (3, 6)]
或["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
答案 1 :(得分:1)
如果您不介意zip对象,则可以使用df['C'] = zip(df.A,df.B)
。
如果您喜欢元组,则可以使用list()
投射zip对象。请参阅此post。在这种情况下使用zip非常方便。