我想将同一数据框的多个列合并为一个列。列上有任何标签。
输入:
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)
但我无法获得所需的结果。
您的解决方案通过少量修改为我工作,删除了第一列,并分配给它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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句