我有一个带有一些列的DataFrame。列为:A1,A2,A3。我想创建一个新列,将其命名为“ CON”。新列是一个字符串,由A1,A2,A3用分隔符连接在一起。串联按列的值排序。
例如:
data = pd.DataFrame({
'A1' : ['b1','a1','a2'],'A2' : ['b2','a3','b1'],'A3' : ['c2','a2','a1']
})
data['CON'] = sortedconcat(data['A1'],data['A2'],data['A3'])
预期结果是:
A1 A2 A3 CON
0 b1 b2 c2 b1-b2-c2
1 a1 a3 a2 a1-a2-a3
2 a2 b1 a1 a1-a2-b1
我试图逐行循环整个数据帧,将值提取到列表中,对其进行排序,最后创建结果。这很慢,导致代码很丑陋。有没有更有效的方法?