连接多列并跳过空白

时间:2019-04-26 20:07:38

标签: python pandas dataframe

我想将8列连接成一列。 每列中都有很多空白。我想跳过或只在合并列中不显示空白。

我尝试了以下代码:

df['combined']=df.apply(
                        lambda x:'%s_%s_%s_%s_%s_%s_%s_%s'
                          % (x['a'],x['b'],x['c'],x['d'],x['e'],x['f'],x['g'],x['h']),
                        axis=1)

结果如下:

combined
0
1
2        type1
3
4        type2
5
6        type8
...

我想删除开头的数字和空格。我期望得到像'type1type2type8'

这样的组合列

2 个答案:

答案 0 :(得分:0)

我会:
df['combined'] = df.apply( lambda x: x['a':'h'].str.concat(sep='_'), axis=1 )
具有内置nan处理的优点...并且避免了agg()的尖锐性

答案 1 :(得分:0)

下面的代码可以避免丢失值-

df['combined'] = df.apply( lambda x: x['a':'h'].str.cat(sep='_'), axis=1 )