本文介绍了如何将多个列值连接到Panda数据框中的单个列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此问题与先前发布的相同.我想串联三列而不是串联两列:

This question is same to this posted earlier. I want to concatenate three columns instead of concatenating two columns:

这是合并两列的内容:

df = DataFrame({'foo':['a','b','c'], 'bar':[1, 2, 3], 'new':['apple', 'banana', 'pear']})

df['combined']=df.apply(lambda x:'%s_%s' % (x['foo'],x['bar']),axis=1)

df
    bar foo new combined
0   1   a   apple   a_1
1   2   b   banana  b_2
2   3   c   pear    c_3

我想用此命令合并三列,但是不起作用,知道吗?

I want to combine three columns with this command but it is not working, any idea?

df['combined']=df.apply(lambda x:'%s_%s' % (x['bar'],x['foo'],x['new']),axis=1)

推荐答案

使用DataFrame.apply()的另一种解决方案,当您想连接更多列时,键入的内容略少,可伸缩性更高:

Another solution using DataFrame.apply(), with slightly less typing and more scalable when you want to join more columns:

cols = ['foo', 'bar', 'new']
df['combined'] = df[cols].apply(lambda row: '_'.join(row.values.astype(str)), axis=1)

这篇关于如何将多个列值连接到Panda数据框中的单个列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-09 20:23