首页 > 解决方案 > 在python中加入相同数据框的多列

问题描述

我想将同一数据框的多列连接成一列。列有任何标签。

输入:

 0  1  2  3  4
 a  b  c  d  e

结果:

0
a,b,c,d,e

请帮我解决一下这个。

我已经试过了data1['all'] = data[data.columns[1:]].apply(lambda x: ','.join(x.dropna().astype(str)),axis=1)

但我无法获得所需的结果。

标签: pythonpandasdataframejoin

解决方案


您的解决方案对我有用,只需稍作修改即可删除第一列并分配给相同的列DataFrame

data['all'] = data.apply(lambda x: ','.join(x.dropna().astype(str)),axis=1)

如果没有缺失值且没有数值:

data['all'] = data.apply(','.join,axis=1)

print (data)
   0  1  2  3  4        all
0  a  b  c  d  e  a,b,c,d,e

如果需要新的一列DataFrame

df = = data.apply(lambda x: ','.join(x.dropna().astype(str)),axis=1).to_frame('new')
#df = data.apply(','.join,axis=1).to_frame('new')
print (df)
         new
0  a,b,c,d,e

推荐阅读